Next: Design and implementation
Up: Class Fair Scheduler for
Previous: Class Fair Scheduler for
Performance isolation and service differentiation are required for systems running jobs of different importance. For example, a trading system may need to differentiate the traders based on their transaction volume. However, the support for performance isolation and service differentiation provided by today's Linux CPU scheduler is very weak. The CPU scheduler used by Linux 2.6 is basically a variety of the weighted round robin scheduler which differentiate processes based on its nice value and interactiveness (sleep_average). Under the current scheduler,an application can easily ``steal'' more CPU time by forking more processes. In this paper, we introduces the class fair scheduler which groups processes into classes and provides accurate proportional sharing of CPU time to these classes. Despite its class fair scheduling capability, the scheduler is very ``non-intrusive'' to the current Linux scheduler since it re-uses almost all the code of the Linux 2.6 scheduler thus require very little change to the current kernel code. It also retains the major features of the current Linux scheduler: O(1), good interactiveness support etc.
Next: Design and implementation
Up: Class Fair Scheduler for
Previous: Class Fair Scheduler for
Haoqiang Zheng
2003-07-22