Bringing the scheduler saga to the finishing line
After my last
blog postings on the NetBSD scheduler,
some time went by. What has happened that the code
to handle process migration was rewritten to give
more knobs for tuning, and some testing was done.
The initial problem state
in PR kern/51615
is solved by the code.
To reach a wider audience and get more testing,
the code was
committed to NetBSD-current today.
Now, two things remain to be seen:
So just now when you thought there is no more research to be
done in scheduling algorithms, here is your chance
to fame and glory! :-)
- More testing. This best involved situations that compare
the system's behaviour without and with the patch.
Situations to test include
If you have time and an interesting set of numbers,
please feel free to
let us know on tech-kern@..
- pure computation jobs that involve multiple parallel processes
- a mix of CPU-crunching and input/output, again on a number of
- full build.sh examples
- Documentation. There is already a number of undocumented
sysctls under "kern.sched", which was now extended by one more,
"average_weight". While it's obvious to add the knob from
the formula, testing it under various real-life conditions
and see how things change is left to be determined by
a PhD thesis or two - be sure to drop us your patches for
if you can come up with a comprehensible
description of all the scheduler sysctls!
[Tags: scheduler, Xen]