A Multi-Queue Scheduler for Plan 9
by Jessica Yu for Plan 9 from Bell Labs
The process scheduler in Plan 9 utilizes a global run queue. However, on multiprocessor systems, the global run queue may become a bottleneck when the number of processes increase, as well as a point of lock contention. The premise of this project would then be to mitigate this, and one way of doing that would be to have per-processor run queues. To maintain reasonable system-wide balance, load balancing algorithms are employed to balance the load across the per-processor run-queues.