[Beowulf] SGE Queue Priorities

Reuti reuti at staff.uni-marburg.de
Sun Dec 4 10:03:26 PST 2005

Am 01.12.2005 um 12:12 schrieb Jenno Claesson:

> Hello,
> 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:// 
> ninemsn.com.au/share/redir/adTrack.asp? 
> mode=click&clientID=667&referral=HotmailTaglineNov&URL=http:// 
> www.ninemsn.com.au/startsomething
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org
> To change your subscription (digest mode or unsubscribe) visit  
> http://www.beowulf.org/mailman/listinfo/beowulf

More information about the Beowulf mailing list