[GE users] m

Ralf Sigmund sigmund at ipk-gatersleben.de
Thu Mar 10 16:09:44 GMT 2005


Reuti wrote:

> Hi Ralf,
>
> Ralf Sigmund wrote:
>
>> i am sure this question has been answered before. However I have not 
>> been able to find the optimal solution maself so I apologize for 
>> asking it again:
>>
>> given a SGE 6 cluster with 79 dual cpu machines
>> a hierachy of clusterwide queues are defined:
>>
>> short_high with subordinate high,long,low
>> high with subordinate long,low
>> long with subordinate low
>> low
>>
>> jobs shall be suspended when there are no more free CPUs and 
>> additional jobs are submitted into a queue that is higher in the 
>> hierachy.
>>
>> here are my problems:
>> if i do not set a default queue and somone submits 8 jobs the result 
>> is as follows:
>> node1 has 2 running jobs in queue short_high, 2 suspended jobs in 
>> high, 2 suspended jobs in long, ...
>> node 2 is idle and waiting for work
>>
>> if I add
>> -q low
>> to /opt/SGE/default/common/sge_request then jobs without -q parameter 
>> are correctly executed in queue low
>> however a set of jobs with -q long are executed as follows:
>> node1 has 2 running jobs in queue long, 2 suspended queue in low
>> node2 has 2 running jobs in queue long, 2 suspended queue in low
>> all other nodes are idle.
>
>
> you could set a sort order for the queues, by giving each type of 
> queue a different seq_no (short_high = 10, high = 20, ...), and set 
> the queue_sort_method in the schedule to seq_no. As suspended queues 
> are not eligible to get a new job, this setup should give you already 
> the intended behavior (if I got you in the correct way).

Hi Reuti,
I had allready seq_no set for the queues. However I did not set the 
queue_sort_method to seq_no.
However when I did this using qconf it did not really help:

CLUSTER QUEUE CQLOAD USED AVAIL TOTAL aoACDS cdsuE
-------------------------------------------------------------------------------
high 0.04 0 142 142 0 0
long 0.04 142 0 142 0 0
low 0.04 32 0 142 142 0
short 0.04 0 142 142 0 0
short_high 0.04 0 142 142 0 0

still 32 of 300 jobs made it into the low queue and are there in 
suspended state.
all jobs had been submitted with -q long and sge_request contained the 
line "-q low"

here are parts of the queue definitions:

name long
hostlist @allhosts
seq_no 4
load_thresholds slots=2
suspend_thresholds NONE
nsuspend 2
suspend_interval 00:05:00
priority 0
min_cpu_interval 00:05:00
processors UNDEFINED
qtype BATCH INTERACTIVE
ckpt_list NONE
pe_list make
rerun FALSE
slots 2
tmpdir /tmp
shell /bin/bash
prolog NONE
epilog NONE
shell_start_mode unix_behavior
starter_method NONE
suspend_method NONE
resume_method NONE
terminate_method NONE
notify 00:00:60
owner_list NONE
user_lists NONE
xuser_lists NONE
subordinate_list low
complex_values NONE
projects NONE
xprojects NONE
calendar NONE
<!----------------------------------->
qname low
hostlist @allhosts
seq_no 5
load_thresholds slots=0
suspend_thresholds NONE
nsuspend 2
suspend_interval 00:05:00
priority 0
min_cpu_interval 00:05:00
processors UNDEFINED
qtype BATCH INTERACTIVE
ckpt_list NONE
pe_list make
rerun FALSE
slots 2
tmpdir /tmp
shell /bin/bash
prolog NONE
epilog NONE
shell_start_mode unix_behavior
starter_method NONE
suspend_method NONE
resume_method NONE
terminate_method NONE
notify 00:00:60
owner_list NONE
user_lists NONE
xuser_lists NONE
subordinate_list NONE
complex_values NONE
projects NONE
xprojects NONE
calendar NONE
initial_state default

greetings ralf

>
>> so the -q setting appears to be additive. Is there an alternative 
>> non-additive way to define a default queue?
>>
>> i tried to set the queue configuration
>> load_thresholds slots=0
>> without any effect and
>> load_thresholds slots<1
>> appears to be the wrong syntax.
>
>
> Correct, the entry "slots=0" means already (for consumables) to send 
> the queue to alarm state, if the value of slots is <= 0. For load 
> values the relation used is >. You don't need it in your setup I think.
>
>> i found out how to define a global consumable in the complex, but how 
>> do i define a per-host consumable?
>
>
> Define the consumable in the complex definition and attach it to a 
> node with "qconf -me <nodename>" by setting complex_values. First I 
> suggest to set the seq_no, see the result and leave this untouched.
>
> Cheers - Reuti
>
>
> ---------------------------------------------------------------------
> 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