[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[HTCondor-users] Dynamic slots and concurrency...



Hi all,

I'm wondering if concurrency limits are supposed to word with dynamic slots ?

I am running two htcondor pools; one static and one dynamic. On both we have concurrency set up as shown below:

CONCURRENCY_LIMIT_DEFAULT = 5
CONCURRENCY_LIMIT_DEFAULT_EIGHT = 8
CONCURRENCY_LIMIT_DEFAULT_TEN = 10
CONCURRENCY_LIMIT_DEFAULT_FIFTEEN = 15
CONCURRENCY_LIMIT_DEFAULT_TWENTY = 20
CONCURRENCY_LIMIT_DEFAULT_TWENTYFIVE = 25

If I run a simple test job like this;


UniverseÂÂÂÂÂÂ = vanilla
ExecutableÂÂÂÂ = /bin/sleep
ArgumentsÂÂÂÂÂ = 240
RequestMemory = 5371
RequestCpus = 1

getenv = True
inputÂÂ = /dev/null
Requirements = MachineOwner == "htcluster"
output = hello.$(Process).outÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ
errorÂÂ = hello.$(Process).errorÂÂÂÂÂÂ
concurrency_limits = thirty.test
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ
notification=never

queue 200


On the 'static' cluster (htcluster) it works as expected and I never get more than 30 jobs running, but on the dynamic cluster I get as many as can be allocated.

This is the complete set of configuration differences for the two clusters, which I would not anticipate would intefere with concurrency limits.


42c42
< CONDOR_HOST = htcondormaster1
---
> CONDOR_HOST = htdmaster1
45c45
< COLLECTOR_NAME = HT-TRC
---
> COLLECTOR_NAME = HTDYN
55c55
< DedicatedScheduler = "DedicatedScheduler@el6study1"
---
> DedicatedScheduler = "DedicatedScheduler@htdsubmit1"
61c61
< MachineOwner = "htcluster"
---
> MachineOwner = "htdcluster"
130,131c130
< # limit memory limited job wrapper on shared nodes.
< USER_JOB_WRAPPER = /usr/local/sbin/os/condor_ulimit_job_wrapper.sh
---
> USER_JOB_WRAPPER = /usr/local/sbin/os/condor_dynamic_ulimit_job_wrapper.sh
132a132,135
> # Don't enforce CPU affinity for dynamic slots
> ENFORCE_CPU_AFFINITY=False
> # Settings for dynamic slots
> NUM_SLOTS=1
134c137,147
< DAEMON_LIST = MASTER, STARTD
---
> NUM_SLOTS_TYPE_1Â =Â 1
> SLOT_TYPE_1_PARTITIONABLE = True
>
>
> # give out memory in chunks of 5371
> MODIFY_REQUEST_EXPR_REQUESTMEMORY = quantize(RequestMemory,5371)
> # modify cpu to be based on percentage of memory
> MODIFY_REQUEST_EXPR_REQUESTCPUS = quantize(RequestCpus, ceiling(real(RequestMemory)/128905 *24))
> #set cgroup
> BASE_CGROUP=htcluster
>

Am I missing something ?

Thanks

Jody