As some of the regular readers may know, I'm mentoring a Google Summer of Code project that aims to bring an experimental light-weight scheduler to FreeBSD. There are many differences between Linux which is the original scheduler's initial implementation platform and FreeBSD, so the port will be more like an reimplementation of some of the ideas. This project is important because it brings a new perspective to the problem of scheduling - namely how would a simplified scheduler (without expensive tracking of process performance) behave for modern workloads.
Everyone's invited to try it! Read the instructions, try various workloads, report how did it behave!
We are especially interested in these aspects:
- Systems with a lot of CPU cores (8+) versus systems with a small number of CPU cores (2-4)
- Interactive performance (i.e. X11)
- CPU-intensive batch / numeric loads
All these aspects are interesting, in a different way, because the scheduler uses very simple data structures - simpler than 4BSD. This may prove more beneficial for systems with low number of CPUs (less decision-making logic - good for embedded systems), may harm interactive performance, but may help batch CPU intensive loads.