[GE users] queue config question
reuti at staff.uni-marburg.de
Wed Jan 25 21:44:52 GMT 2006
Am 25.01.2006 um 21:52 schrieb Woods, Jeff:
> Is it possible to manage to create a queue with 'n' number of slots
> which could be scheduled on any host?
> As an example, I have a cluster with 20 nodes. There are a total
> of 60 CPUs installed, and I have the number of slots per host
> restricted to be the same as the number of CPUs. I would like to
> create three queues, each with a different number of slots. When a
> job is submitted, I don't care which host it is run on, but no more
> than the max number of slots for the queue should be scheduled at
> one time.
> I have created a host list which contains all of the execution
> hosts in my cluster, and have created the three queues using the
> host list. The first queue was created with 50 slots, the second
> with 15 slots, and the third with 25 slots. Yes, this exceeds the
> number of slots that the hosts will allow -- we don't expect all
> three queuest to be busy at the same time, and it would be
> acceptable for a job to be delayed if there aren't enough slots
> available on the hosts.
> The problem with my approach is that it creates 50 slots on each
> queue instance for the first queue, 15 on each queue instance for
> the second queue, and 25 on each queue instance for the third. If
> I submit 50 jobs to the second queue (which should only have 15
> slots), all of the jobs get scheduled -- not just the first 15. I
> would like to see 15 jobs get scheduled, and the remaining 35 wait
> for free slots in the queue.
what you see is the intended behavior: you specify the slots per
queue instance in the queue configuration. The missing feature you
are looking for is already in the RFE database.
As a workaround, you could use a complex for each of the three queue
types, which setup is identical to the one of a license restriction.
Just set the complexes in the global exec host definition to the
maximum number of slots for each type of queue there. But you will
have to request this resource, and this might avoid the specification
of the queue. Okay, here the setup:
$ qconf -mc
myq50 myq50 INT <= YES
YES 0 0
myq15 myq15 INT <= YES
YES 0 0
myq25 myq25 INT <= YES
YES 0 0
$ qconf -me global
$ qconf -mq the50queue
$ qconf -mq the15queue
and similar for myq25.
Now submitting with: "qsub -l myq15=1 job.sh" should give you only a
slot from the15queue, as the other queues offer only 0 for this
resource, and always the lower limit is the restriction. (The value
of 999 doesn't matter exactly, as it's the limit per queue-instance
it could also be the number of slots there.)
HTH - Reuti
> I am either doing something wrong, or am misunderstanding the
> documentation. If what I'm doing wrong is not obvious, I can
> provide the current configurations for my queues and/or hosts.
To unsubscribe, e-mail: users-unsubscribe at gridengine.sunsource.net
For additional commands, e-mail: users-help at gridengine.sunsource.net
More information about the gridengine-users