Benchmarking multiple OS process schedulers
Hi all I stumbled upon this site through google via the "Linux 2.6.23 Kernel Benchmarks" article. I'm a EE graduate student and moderate Linux user.
As part of a semester requirement I was to choose an OS topic to write about. I chose the (retrospectively poor topic of) comparing the new Linux CFS scheduler to other OS schedulers. I say retrospectively poor because at this point in my knowledge, I don't really know the best way to go about comparing them. I only chose the topic on a whim after seeing the slashdot article on CFS. My intent was to source others' benchmarks and discuss the results, but I've found that there really aren't that many comparisons of current OS schedulers. And on that note, if I'm wrong, and anyone has any hints on googling please let me know.
So my reason for posting is this: does anyone with experience have any help on how to go about efficiently comparing major OS schedulers (Linux vanilla/CFS, Solaris, MacOS, XP, etc)? This isn't supposed to be a "help me do my homework" question, I'm sorry if it sounds like it.
You could try searching the archives or subscribing to and asking there to the Linux Kernel Mailing list. I wouldn't know of a consistent method to test a kernel's scheduler effectively, but maybe some of the hard-core kernel developers can. Also you may try contacting Ingo Molnar and see if he can give you any pointers, he worked on the 0(1) Linux 2.6.0 original scheduler, and has a series of real time preempt patches, etc. Here's an interview of him. I think you might contact him on the LKML.
A lot of the scheduler debate seems to be based in differing views of "how Linux is supposed to be used", ie is Linux supposed to be a server OS, an interactive desktop OS, both, or something else ? In other words, it's not just "one scheduler is better than the other", it's "one scheduler is better for THIS kind of workload and the other scheduler is better for THAT kind of workload".
It might be worth trying to understand that aspect of the debate, then come up with a set of simple programs to simulate different kinds of workload. If you're really lucky, different schedulers will win on different workloads, and you'll have something to write about.