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

Re: [Condor-users] how are jobs assigned?

> I have 400 hosts and it seems most of my jobs are always going to a
> host where there is a lot of load where other hosts rarely get the
> jobs. Is there a way to control this or does condor pick hosts by what
> the class ads are?

It's ClassAd based matching, but you can end up with a list of hosts that all match the requirements of the job. In this scenario Condor uses the NEGOTIATOR_POST_JOB_RANK expression. Here's what I use in my system. It steers jobs towards machines that have been idle longer, prefers faster machines and fills up separate machines before loading up one machine with jobs:

##  The NEGOTIATOR_POST_JOB_RANK expression chooses between
##  resources that are equally preferred by the job.
##  The following example expression steers jobs toward
##  faster machines and tends to fill a cluster of multi-processors
##  breadth-first instead of depth-first.  In this example,
##  the expression is chosen to have no effect when preemption
##  would take place, allowing control to pass on to
#NEGOTIATOR_POST_JOB_RANK = (RemoteOwner =?= UNDEFINED) * (KFlops - VirtualMachineID)
##  Break ties by looking for machines that have Idle longer than others
##  and use them first. Also try and use faster machines before slower
##  machines and assign jobs to separate machines before we start putting
##  two jobs on a machine.
NEGOTIATOR_POST_JOB_RANK = (((Activity =?= 'Owner') * (State =?= 'Idle')) * 1000000000) + ((Activity =?= 'Unclaimed') * 100000000) + (KFlops * 0.001) - (SlotID * 10)

- Ian

Confidentiality Notice.
This message may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any use, disclosure, dissemination, distribution,  or copying  of this message, or any attachments, is strictly prohibited.  If you have received this message in error, please advise the sender by reply e-mail, and delete the message and any attachments.  Thank you.