ULE: a modern scheduler for FreeBSD
BSDC'03 Proceedings of the BSD Conference 2003 on BSD Conference
Task-aware virtual machine scheduling for I/O performance.
Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Age based scheduling for asymmetric multiprocessors
Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis
Transparently bridging semantic gap in CPU management for virtualized environments
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
A busy system makes thousands of scheduling decisions per second, so the speed with which scheduling decisions are made is critical to the performance of the system as a whole. This article - excerpted from the forthcoming book, "The Design and Implementation of the FreeBSD Operating System" - uses the example of the open source FreeBSD system to help us understand thread scheduling. The original FreeBSD scheduler was designed in the 1980s for large uniprocessor systems. Although it continues to work well in that environment today, the new ULE scheduler was designed specifically to optimize multiprocessor and multithread environments. This article first studies the original FreeBSD scheduler, then describes the new ULE scheduler. The article does not describe the realtime scheduler that is also available in FreeBSD.