[GE users] Scheduling question
reuti at staff.uni-marburg.de
Wed Dec 7 20:20:03 GMT 2005
Am 07.12.2005 um 20:14 schrieb Goncalo Borges:
> Dear All,
> Maybe you can help me and advice me with the following situation:
> Imagine that I have two execution hosts, each one owned by two
> different groups. If the machines are not loaded, any user from
> any of the two groups can run jobs in both machines.
> Now imagine that at a given time, a user from group A submits 4 jobs:
> - one will run on machine owned by group A;
> - one will run on machine owned by group B;
> - The other two will be on hold.
> Some time later, a user from group B submits a job. I would like to
> if the following situation is possible with SGE, without any
> further input
> (priority, deadtime, etc...) from the user or administrator:
> - If the machine from group A is the first one to become
> available, one of the two jobs from user A which were on
> hold must pass to the running status in that machine.
> - If the machine from group B is the first one to become
> available, the job from user B must pass to the run status
> in that machine, although there are two pending jobs from
> user A waiting for a longer time.
> This situation is somehow a pre-requisite in my home institute.
> Different groups contribute to a global computing center. A given
> group doesn't mind "borrowing" some machines to other group if they
> are not being used. However, starting from the moment they submit
> jobs, they want to have full priority on the machines they own.
if you can do this all by hand as admin, you just need:
- define two user_lists groupA and groupB
- 2 queues on each host and by setting the user_lists: one for group
A, one for group B on each host only.
hostAgroupA = group A
hostAgroupB = group B ----+---- These two are the only ones to
be disabled by the admin
hostBgroupA = group A ----+
hostBgroupB = group B
- the total number of slots needs to be defined in the exec host for
each of the two nodes
Then you could use "qmod -d hostBgroupA" in your example to disable,
i.e. "dry out" the hostBgroupA queue without killing or suspending
any jobs there. Then only jobs from group B can be scheduled there.
Later you can enable the queue again, if there are no pending ones
from groupB left.
Cheers - Reuti
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