...
shape=triangle which consists of nodes 3, 4, 7, or 8
Example 1: Interaction between server's node_group_key
...
If the server has node_group_key=color and a job requests select=group=shape, the job will be placed on:
shape=square nodes 1-2, 5-6
shape=triangle nodes 3-4 7-7
...
with multiple chunk complexes. One chunk complex has per-chunk placement and the other does not.
node_group_key=color
select=2:ncpus=1:group=shape+2:ncpus=1
Chunk complex 2:ncpus=1:group=shape will be run on the same node selection as example 1its group=shape
shape=square nodes 1-2, 5-6
shape=triangle nodes 3-4, 7-8
chunk complex 2:ncpus=1 will be run on the node_group_key=color
color=blue nodes 1-4
color=red nodes 5-8
Example
...
2: Per-chunk placement with two chunk complexes with different groups.
no per-job placement
select=2:ncpus=1:group=color+2:ncpus=1:group=shape
...
Chunk complex 2:ncpus=1:group=shape will be placed on shape=square (nodes 1-2, 5-6) or shape=triangle (nodes 3-4, 7-8)
Example
...
3: Per-chunk placement where two chunk complexes request the same group.
no per-job placement
select=2:ncpus=1:group=color+2:ncpus=1:group=color
...
Currently if no placement set is large enough (when empty) to fit a job, the job will span across all nodes. This can be controlled with the scheduler's do_not_span_psets attribute. If do_not_span_psets is true, and a job can not fit within any placement set, the job not span and will never run.
If no per-chunk placement is requested, per-job placement set spanning will work like it does today
...