====== (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 ===== * http://ck.kolivas.org/patches/bfs/bfs-faq.txt * http://ck.kolivas.org/patches/bfs/3.0/3.18/ ===== Contact ===== * [[/RudolfTomori|Rudo Tomori]] - student * [[/IvanVoras|Ivan Voras]] - mentor ===== Project blog ===== * http://rudot.blog.com ===== SVN repositary ===== * http://svnweb.freebsd.org/socsvn/soc2011/rudot/ ===== Final report ===== * [[RudolfTomori/rudotSoC2011/report|here]]