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

[Condor-users] Getting certain jobs to avoid eachother



Hi,

I have a class of jobs that I'd like to ensure is maximally dispersed amongst my pool's resources. What marks these jobs out from others is that they require a lot of memory, but let's consider the generic problem of having a particular class of jobs avoiding eachother. Firstly, I'll get these jobs to identify themselves by setting a custom classad value in their submit script, e.g. via:

+AntisocialJob = True

I now need a NEGOTIATOR_POST_JOB_RANK _expression_ on the execute hosts that gets smaller (or goes negative?) the more of these jobs that are running on a particular host. The problem is that I can't see how to construct such an _expression_. Is there a way I can define a macro on each execute host that keeps track of how many such jobs are executing on it, say Num_AntisocialJobs? I could then have an _expression_ of the form:

NEGOTIATOR_POST_JOB_RANK = NUM_SLOTS - Num_AntisocialJobs

Thanks for any helpful pointers,
Martin