Hello there,

On Thu, 11 Dec 2014, Thompson, Matt[SCIENCE SYSTEMS AND APPLICATIONS INC] wrote:

However, SLURM is actually allocating for us so that if I ask for --ntasks=100, I get out a more balanced load:

  SLURM_TASKS_PER_NODE=12,11(x8)

So I was wondering: is there a way with salloc/sbatch options to get SLURM to fill the nodes such that it fully allocates the first node, then second, and so on and leaves the last partly filled?

We've set that up by using different 'Weight' priorities for the different nodes. I guess that might slow down things if you have a very large system, but for our 26 nodes it's no problem. I'm not sure if it does exactly what you want, but it will not go on to allocate cores from another node before a node with a lower weight is full.

So in slurm.conf, you need a separate line for each node, like:

NodeName=node005 Sockets=4 CoresPerSocket=6 ThreadsPerCore=2 Weight=1 
state=UNKNOWN
NodeName=node006 Sockets=4 CoresPerSocket=6 ThreadsPerCore=2 Weight=2 
state=UNKNOWN
NodeName=node007 Sockets=4 CoresPerSocket=6 ThreadsPerCore=2 Weight=3 
state=UNKNOWN
NodeName=node008 Sockets=4 CoresPerSocket=6 ThreadsPerCore=2 Weight=4 
state=UNKNOWN
...


Cheers,
    Mikael J.
    http://www.iki.fi/~mpjohans/

Reply via email to