[GE users] Configure Queues with different priorities

Reuti reuti at staff.uni-marburg.de
Tue Nov 29 13:52:53 GMT 2005

    [ The following text is in the "ISO-8859-1" character set. ]
    [ Your display is set for the "ISO-8859-10" character set.  ]
    [ Some special characters may be displayed incorrectly. ]

Hi Sebastian,

the priority in the queue definition is the nice value of the job on  
the execution host (if you disabled the automatic repriorization in  
the scheduler and SGE config). It's highly recommended only to use  
the range 0 to 19 in Linux, as values below zero should be reserved  
for system tasks.

Am 28.11.2005 um 13:51 schrieb Sebastian:

> Hello,
> thx, this works fine.
> But now i have more question.
> 1. The Priority-Value which can be modified in the queues, is this the
> runtime priority of the job in the system when he is executed or is  
> this
> priority SGE-internal?
> 2. When i make subordinated queues, like these:
>    highste Queue "high": Subordinated Queues: "normal" and "low"
>    normale Queue "normal": Subordinated Queue: "low"
>    lowest Queue "low": non subordinated Queue
> If a user requests resources in the queue "high", is there always a  
> job in
> the queue "normal" or "low" suspended or can i tell him, that only  
> the next
> job should start in the highest queue.
> Because our CAE-Software doesn't support suspension this wouldn't  
> be such
> nice. :D

Okay, then Subordinated Queues can't be used in your case.

> I found some topics in the mailing list which has this topic, too.
> There sometimes user wrote they should change her "Sequence Number"  
> for the
> queues and say the scheduler it should "sort by sequence number".
> If i do following configuration:
> Queue "high": Sequence Number 0, no subordinated queues.
> Queue "normal": Sequence Number 1, no subordinated queues.
> Queue "low": Sequence Number 2, no subordinated queues.

Queues are a place to calculate in. The jobs are either in waiting  
state, or a queue for this job is selected and they are moved to this  
queue to do their work.

Having queues with different priorities (nice values) gives you the  
ability, to push low priority jobs in the background and give more  
computing time to the high-priority ones. Having only one job on the  
nodes will give this jobs the full CPU time, whether it's nice value  
is 0 or 19. So having a normal job with 19, and then start a second  
job on this node with a nice value of 0 will give most of the CPU  
time to this new job - this seems to be the right thing for you. But  
in Linux these nice values aren't an absolute value or amount of  
time. Just test with some jobs and different nice value settings  
which sharing of the CPU time fits your taste by checking the used  
CPU time in "top". Then you could decide how to submit them:

a) Select for each job the desired queue in the qsub command. But  
using none would then might get any queue.

b) Create a complex "high" and one "low" as BOOL and forced. Then  
attach the "high" to the queue with high priority, the "low" to the  
low priority queue. A simple qsub would get the "normal" queue, and  
for the other two cases you would have to request e.g. -l high in the  
qsub command.

Using the sequence number is more useful to select queues on  
different machines for the scheduled jobs, e.g. fast machines before  
the slow machines in the cluster are used. I.e. giving the 2400 MHz  
nodes a sequence number of 10 in the queue definition and the 1800  
Mhz machines a 20, would always tries to get slots on the faster  
machines first (until all are used up), to which the scheduled jobs  
are routed.

> If there is a job in "high" and in "low", but the low job was  
> submitted by
> the user first, is the "high"-queue-job submitted before the "low"- 
> queue-job
> is submitted because of the sequence number?
> 3. When i have more queues and i use a PE for booting LAM/MPI, must  
> i make
> for every queue a own PE?

Yes, because otherwise the job might get slots from different queues.  
When submitting you could use a wildcard for the requested PE to  
chose one of them.

Cheers - Reuti

> Thx, Kind Regards, Sebastian
>> --- Ursprüngliche Nachricht ---
>> Von: sergey rozov <sergeyr at siano-ms.com>
>> An: 'Sebastian' <ChiefShadow at gmx.de>
>> Betreff: RE: [GE users] Configure Queues with different priorities
>> Datum: Mon, 28 Nov 2005 11:32:57 +0200
>> Hi,
>> Try the following:
>> qconf -mattr exechost complex_values slots=1 node1
>> ...
>> qconf -mattr exechost complex_values slots=1 node8
>> This should limit number of jobs per host.
>> Regards,
>> Sergey
>> -----Original Message-----
>> From: Sebastian [mailto:ChiefShadow at gmx.de]
>> Sent: Monday, November 28, 2005 9:36 AM
>> To: users at gridengine.sunsource.net
>> Subject: [GE users] Configure Queues with different priorities
>> Hello,
>> we have 8 nodes which can be used.
>> Now we should have four queues with following settings:
>> test      priority -20
>> high      priority -15
>> normal    priority 0
>> low       priority +20
>> But if i definde this queues, everey queue has 8 slots.
>> How can i make this queues only for my 8 nodes, so that all queues  
>> send
>> there commands to the 8 Nodes and look which queue can send her jobs.
>> I tried it with "subordinated queues" but it doesn't work or i  
>> doesn't
>> understand it. :-)
>> We only want to use this 8 Nodes and the Scheduler should look  
>> which queue
>> is the highest and submit the jobs there first and then make the  
>> queue
>> with
>> the second highest priority eg.
>> Or do you have other suggestions?
>> Kind Regards,
>> Sebastian
>> -- 
>> Highspeed-Freiheit. Bei GMX superg|nstig, z.B. GMX DSL_Cityflat,
>> DSL-Flatrate f|r nur 4,99 Euro/Monat*  http://www.gmx.net/de/go/dsl
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe at gridengine.sunsource.net
>> For additional commands, e-mail: users-help at gridengine.sunsource.net
> -- 
> Highspeed-Freiheit. Bei GMX supergünstig, z.B. GMX DSL_Cityflat,
> DSL-Flatrate für nur 4,99 Euro/Monat*  http://www.gmx.net/de/go/dsl
> -- 
> Lust, ein paar Euro nebenbei zu verdienen? Ohne Kosten, ohne Risiko!
> Satte Provisionen für GMX Partner: http://www.gmx.net/de/go/partner
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe at gridengine.sunsource.net
> For additional commands, e-mail: users-help at gridengine.sunsource.net

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 mailing list