GSoC: Add SMT/HT awareness to DragonFlyBSD scheduler
Matthew Dillon
dillon at apollo.backplane.com
Sun Aug 5 12:41:40 PDT 2012
:I modified my cache-coherent heuristic, for the monster, so that it tries
:to stick a process to a socket, no matter what core. The L3 cache comes to
:work, at that's why we have these results.
:...
:
:[1] http://leaf.dragonflybsd.org/~mihaic/pgbench_monster.pdf
:
:Mihai
That's a lovely chart. There is a very clear distinction with your
scheduler work on the tail end of the curve past 55. Big improvements
where the caches are clearly being stressed. I also see a tiny
improvement on the front-end of the graph too where the algorithm is
reducing unnecessary thread switches between cores.
That droop mid-section from 45-55 or so isn't that big a deal. Edge
conditions as it transitions into batch operation (and figuring out
precisely what the cause is might be difficult with so many moving parts).
I'm not at all surprised to see some volatility. Also, at that point,
lock contention within the database asserts itself which is probably
a major component of the fall-off that both schedulers have past 45.
What's important is the improvement in the cache-stressed overloaded
case from 55 onward.
--
Last year we did a lot of work on concurrency within the kernel related
to the first half of the graph. Just getting the curve to ramp up to
~48 cores (25 on the graph) and then flatten out (through ~45 on the
graph) was a major accomplishment.
-Matt
Matthew Dillon
<dillon at backplane.com>
More information about the Kernel
mailing list