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/