chapel-lang/chapel — pull request #45 by ronawho (2014-07-22 22:39:15+00:00)
Title: See what the implications are for turning off qthreads affinity

[more qthreads testing stuff, discussed with sung]

There are some for-loop and while-loop tests that are worse on chap04 (multi
socket) but not on chap03 (single socket.) The current guess is that because
qthreads pins shepherds to cores, if a core switches to another pthread, the
shepherd (and it's workers) can't make progress, meaning that qthreads could
perform worse in single threaded cases because. If shepherds are not pinned to
cores, that should mean that if the OS swaps the shepherds thread, that
shepherd should be able to move to a different core and continue making
progress but on a different core.

However, in cases where qthreads is using all systems resources, it seems
likely that we would want affinity (shepherds pinned to cores) but we're not
really sure of the implications yet, hence trying this.

Also it's possible that since we switched to using the nemesis scheduler, we
want affinity off for that, and only leave it on for configurations not using
nemesis (numa, using sherwood.)