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

Reply via email to