[GE users] RE: Pick nodes from one queue plus 1 node from another queue

William Burke wburke999 at msn.com
Wed Mar 30 07:23:21 BST 2005

There are M nodes in machine list and lets say that I want to submit a job
that can explicitly pick an exact amount of nodes from one particular queue
and  only one 

node from another queue which equals the total # of nodes found in the


So for instance:


The user launches a parallel job that requests 33 processors. If two queues
exist, QueueA.q (consisting of 45 nodes) and FatQueueB.q (consisting of 2
nodes from QueueA.q's nodes) the user wants the ability to specify 32
processors from QueueA.q and only 1 processor from FatQueueB.q, what is the
best way to implement that? 


This is the situation:


1.    The particular application needs N processors for a job

2.    I request this in -pe mpich N parameter

3.    SGE generates M machines in its $pe_hostfile list based on the Nth

4.    As we already know the algorithm that creates $pe_hostfile says create
M nodes {if N is an even number then the Mth node should be N/2 else the Mth
node should be (Nth+1)/2} 

a.    I need some way to tell SGE that the Mth (or last) node of the
Machinefile list always has to be a node from the FatQueue.q which I use
those type of nodes for heavy io processing of the job.

b.    I do not want a job to run unless the Mth (or last) node in the
Machinefile is a node from FatQueue.q otherwise the job should wait until
that request is filled.

5.    Ultimately the correctly formatted mpirun machinefile gets created
from the final $pe_hostfile of M nodes.


FWIW, usually the amount of processors is odd.

What is very important is that the last node of the mpirun machinefile list
is always from the FatQueueB.q. 






More information about the gridengine-users mailing list