[GE users] Machine Priority

Reuti reuti at staff.uni-marburg.de
Mon Oct 25 17:36:00 BST 2004


John Hearns wrote:
> On Tue, 2004-10-19 at 14:58, Reuti wrote:
> 
>>>I have a cluster running SGE 6.0  This cluster consists of a mixture of 
>>>1Ghz, 2Ghz, and 3Ghz machines.  Is there a way to ensure that the 3Ghz 
>>>machines are always used first out of the pool of open resources?
>>
>>You can set a different sequence number for each type of machine and 
>>change the scheduler to sort by seqno (qconf -msconf). This will give 
>>the intended result (for serial jobs).
>>
>>For simpleness I suggest defining three hostgroups. Then you can set:
>>
>>seq_no                0,[@type3=50],[@type2=100],[@type1=150]
> 
> 
> Sorry to revive this thread.
> 
> How is the formula set which uses seq_num and the load average to
> determine which exec host to dispatch a job to?
> I'd like to give some reasonable numbers to seq_no for a cluster with
> two groups of machines.

This are just numbers - whether you use 1, 2 and 3 as sequence numbers 
or 50, 100 and 150 is just personal taste. Lower numbers just mean that 
they will be taken first. Because you may add some queues between 
already existing ones, I used this scheme in 5.3, where you needed a 
loop otherwise to change a group of queues to another seqno. I must 
admit, that with 6.0 of cource this is much easier now, and you can 
simply use 1,2 and 3.

> Also could I ask again what the best way of configuring parallel jobs in
> this situation is?
> The cluster has 47 exec hosts. 16 hosts have Myrinet.
> The desired behaviour is that normal jobs which do not require Myrinet
> are run on the non-Myrinet hosts in preference, but can be run on the
> Myrinet hosts if all 31 of them are full.

Unfortunately, parallel jobs may get slots from different queues, when 
they are attached to them. It's just a point of discussion, whether they 
should stay in one queue, once it is selected. So the whole setup can 
look like:

@ether = node01 .. node31
@myri = node32 .. node47

qname    parallel_ether_1
hostlist @ether
pe_list  ether1

qname    parallel_ether_2
hostlist @myri
pe_list  ether2

qname    parallel_myri
hostlist @myri
pe_list  myri

(Although ether1 and ether2 are the same, you need two to avoid mixing).

This way, the jobs using ethernet should request "ether*" for the PE. In 
5.3 there was no way to set up any kind of seqno for parallel jobs, 
neither the name (ether1 before ether2), nor any seqno made a difference 
and the selection was arbritary. I didn't red anything, that this was 
changed for 6.0.

Cheers - Reuti


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