[GE users] Configure Queues with different priorities
ChiefShadow at gmx.de
Tue Nov 29 15:33:47 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. ]
i think we like to do our scheduling like these:
1 Job per CPU (defined at each host with slots=1)
jobtest nice 0 sequence number 2
high nice 19 sequence number 2
normal nice 0 sequence number 0
low nice 0 sequence number 1
Scheduler "Sort by sequence number"
Now following should the scheduler do:
If a job is submitted without a queue, he is put in the queue "normal".
A Job submitted in jobtest should always be the fastet/with most cpu
The Scheduler should check the queues, first execute the jobs in queue
"high", then in queue "normal" and then in queue "low", eg there should only
run 2 jobs in high, then 5 in normal and 8 in low.
How can i tell the scheduler that he works like that? Which parameters must
What do you mean with wildcards in the PE, if i make a PE for every queue, i
have to make 4 start- and stopscripts because there the name of the PE is
given or am I wrong?
Thx, Kind Regards for help,
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:
> 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
> 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
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
> 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"-
> 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
>> 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.
>> -----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
>> 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
>> 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
>> 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
>> the second highest priority eg.
>> Or do you have other suggestions?
>> Kind Regards,
>> 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
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
More information about the gridengine-users