(Re)implement the BFS scheduler into the FreeBSD
Abstract
- The goal of this project is to implement the BFS scheduler into the FreeBSD operating system. I will then run some benchmarks to find out how this BFS implementation compares to the existing 4BSD and ULE schedulers. I hope I could achieve some interesting results. BFS (Brain Fuck Scheduler) is a scheduler designed for the Linux kernel in August 2009 as an alternative to the CFS and the O(1) scheduler. It was created by Con Kolivas.
Milestones
- Simple scheduler with 64 round robin queues. I will also publish simple benchmarking results.
- The 64 queues act according to the BFS specification (With necessary modifications to match the FreeBSD design) Static priorities and SCHED_ISO are taken round robin, SCHED_NORMAL and SCHED_IDLEPRIO are taken according to their deadline. (The lookup is O(n)). I will also publish the results of the same benchmark tests as in the previous release point.
- Implementing the scalability features to the BFS as specified in the BFS specification. I might also consider adding improvements which are not part of the BFS spec. I will also publish the results of the same benchmark tests as in the previous release points.
- Running (implementing) additional benchmarks, analysing results. Finding the cause of possible bad results, bug fixing.
References
Contact
Rudo Tomori - student
Ivan Voras - mentor
Project blog
SVN repositary