Hello,

Just for curiosity I was playing with SLURM fanout tree and found myself
confused by set_span results.
 Let's assume that we have TreeWidth set to 3. Here is some spawn values
and real assignment numbers
for different spawn node count:

node count=10, span: 3 3 3 ; assign: 4 4 1.
node count=11, span: 4 3 3 ; assign: 5 4 1.
node count=12, span: 5 3 3 ; assign: 6 4 1.
node count=13, span: 6 3 3 ; assign: 7 4 1.
node count=14, span: 6 4 3 ; assign: 7 5 1.
node count=15, span: 6 5 3 ; assign: 7 6 1.
node count=16, span: 6 6 3 ; assign: 7 7 1.
node count=17, span: 6 6 4 ; assign: 7 7 2.
node count=18, span: 6 6 5 ; assign: 7 7 3.
node count=19, span: 6 6 6 ; assign: 7 7 4.
node count=20, span: 7 6 6 ; assign: 8 7 4.

So looking for 10 nodes span you can assume that you intend to launch on 3
nodes each of which will subsequently launch 3 childrens. But actual
assignment (see assign field) will be: first 2 nodes launch 3 childrens and
last one will launch only one.

The confusion comes from the fact that we give total node count (including
direct childs) to set_spawn. And at the time of forwarding direct childrens
are not counted in span.
I tried to address this issue (check attached file) and have following
results:

new:
count=10, span: 3 3 0 ; assign: 4 4 1.
count=11, span: 3 3 1 ; assign: 4 4 2.
count=12, span: 3 3 2 ; assign: 4 4 3.
count=13, span: 3 3 3 ; assign: 4 4 4.
count=14, span: 4 3 3 ; assign: 5 4 4.
count=15, span: 5 3 3 ; assign: 6 4 4.
count=16, span: 6 3 3 ; assign: 7 4 4.
count=17, span: 6 4 3 ; assign: 7 5 4.
count=18, span: 6 5 3 ; assign: 7 6 4.
count=19, span: 6 6 3 ; assign: 7 7 4.
count=20, span: 6 6 4 ; assign: 7 7 5.

Here the span numbers correlate with assign numbers.

So I am curious: is the current version of set_span correct and if so what
is the rationale behind this.

-- 
С Уважением, Поляков Артем Юрьевич
Best regards, Artem Y. Polyakov

Attachment: set_spawn_demo.tar.bz2
Description: BZip2 compressed data

Reply via email to