The current task/affinity when cyclically binding tasks using more than
1 cpu will bind to cpus cyclically as well.
We feel this multi-cpu task should be bound in more of a block method,
so a task is bound to close cpus instead of spread potentially across
sockets.
In example of a 2 socket 6 core per socket system, a request of -n2 -c2
would result in the following binding...
task 0 : socket 0 core 0 and socket 1 core 0
task 1 : socket 0 core 1 and socket 1 core 1
Our idea would be to change this default behavior to have the following
binding...
task 0 : socket 0 cores 0-1
task 1 : socket 1 cores 0-1
We will probably introduce a new distribution method so if someone
wanted to get the full cyclic distribution they could.
Does anyone have any feelings on this matter one way or the other?
Thanks,
Danny