[Beowulf] SGE Queue Priorities
reuti at staff.uni-marburg.de
Sun Dec 4 10:03:26 PST 2005
Am 01.12.2005 um 12:12 schrieb Jenno Claesson:
> We are implementing as our Resource Manager the Sun Grid Engine v6
> ( N1GE6) (Not Enterprise Edition), and as part of that I am trying
> to understand how to establish the priority of a job submitted in
> one queue, over a job submitted earlier in a different queue.
> I have setup the following configurations on my laptop using VMWare
> with RedHat and the Grid Engine.
> If I have two queues configured, with the only difference being the
> priority, and the queue name. The modified values from the
> defaults are below.
> Parameter Queue 1 Queue 2
> qname Queue1 Queue2
> hostlist RedHatLocal RedHatLocal
> priority 20 -20
> slots 1 1
the priorities in SGE are the nice values given to the jobs on the
nodes (if SGE is configured to do it in the scheduler).
> Other modifications
> - For the single execution host (RedHatLocal), the only
> modification to the execution host is to give it a slots value of 1
> to make it easy to track which jobs are being sent through to it
> from the queues (complex_values slots=1).
> - I have also modified the scheduler configuration (qconf -msconf)
> setting reprioritize_interval to 0:0:3.
> What I am expecting is that if I have a number of pending jobs for
> Queue1, if I then submit a job explicitly to Queue2, that the job
> submitted to Queue2 should be the next job to run. However this is
> not the behaviour that I see. What I am seeing is the jobs being
> executed in their sequential (FIFO) order.
The term "queue" is different from the Torque/PBSpro term. In SGE you
submit to the cluster and SGE will select a queue with the requested
resources for your to perform the calculation. Although you can sort
the queues, this is more often done to prefer some execution host
against others, e.g. because of higher CPU frequency.
You have two choices for your setup:
- Give 2 slots to the exec host, and make Queue1 a subordinate of
Queue2, i.e. the running job in Queue1 will be suspended when a job
for Queue2 is submitted. By using complexes you could avoid to
specify the queue by name but to request a feature of these queues.
- Define an urgency policy and use complexes like described in:
http://www.sun.com/blueprints/1005/819-4325.html page 9(12) if you
don't like to suspend normal priority jobs.
There is also a website for SGE http://gridengine.sunsource.net
Cheers - Reuti
> Does anyone have any thoughts?
> Start something musical - 15 free ninemsn Music downloads! http://
> Beowulf mailing list, Beowulf at beowulf.org
> To change your subscription (digest mode or unsubscribe) visit
More information about the Beowulf