[GE users] allocation rule
dag at sonsorol.org
Thu May 14 12:02:08 BST 2009
Couple of different options. Sounds like you are experiencing parallel
job starvation. In modern versions of SGE this is usually handled by
reservations (submitting your parallel jobs with the "-R y") option
I'd try the reservation methods first.
If those don't work there are a few other methods that come to mind.
One of them involves changing your queue sort method from load-based
to "seqno". The queue sorting method kicks in whenever there are more
than one queue instances available that satisfy your pending job needs
in a given scheduling interval By default these available queue
instances are sorted by their reported load so that SGE sends your job
to "... the least busy machine capable of satisfying your job
Changing to seqno sorting allows you to sort your queues differently
when more than one is free and available. In this case I'd recommend
making host groups of your 1,2,4 and 8 processor machines and using
seqno sorting to fill up the machines from smallest CPU count to
Basically give all your 1-CPU nodes a seqno of "1", your 2-CPU a seqno
of "10", 4-CPU gets "100" and 8-CPU gets "1000". Then switch your
queue sort method to seqno. The actual integers you choose for seqno
value means nothing, all that matters is who wins the sort.
Been ages since I've done this for real so I may have reversed the
sort requirements - maybe your 1-CPU nodes need the higher seqno, not
sure. Just test and see.
On May 13, 2009, at 5:28 PM, davemeni wrote:
> Hello all,
> We have a large cluster with 8 processor nodes on it, running SGE
> 6.0. We run 1, 2 , 4, and 8 processor jobs on the cluster. We have
> been trying to find a way to tell the queue to submit 1 processor
> jobs to nodes with the fewest free processors but have come up empty
> handed. The problem now is that we have a ton of 1 processor jobs
> spread across a bunch of nodes. What we need is all of the 1
> processor jobs on the same few nodes so that there can be empty
> nodes available for 4 and 8 processor jobs. Is there a PE
> environment option for filling up the most used first instead of the
> least used?
> I know that some would just suggest to create separate clusters for
> serial and parallel jobs, however the number of serial and parallel
> jobs running at any given instant can vary greatly, so designating
> nodes for only parallel or only serial will create a lot of unused
> Ideally we would like the queue to submit a job to the highest
> occupied node that has enough free processors to not split the job
> across nodes. However, I know that this is probably not an option.
> If it is then by all means please share how. If not, please let me
> know if it is possible to get 1 processor jobs to fill the highest
> occupied nodes.
> Dave Meninger
> University of Delaware
> To unsubscribe from this discussion, e-mail: [users-unsubscribe at gridengine.sunsource.net
To unsubscribe from this discussion, e-mail: [users-unsubscribe at gridengine.sunsource.net].
More information about the gridengine-users