Title :
Hierarchical CPU Schedulers for Multiprocessor Systems, Fair CPU Scheduling and Processes Isolation
Author :
Korotaev, Kirill
Author_Institution :
Dept. of Appl. Math., Moscow Inst. of Phys. & Technol.
Abstract :
Summary form only given. Modern multi-user systems are able to run concurrently hundreds of applications, but provide little isolation between users. Absence of isolation can result in a poor performance for some users or accidental or intentional denial-of-service. In modern computational clusters these issues are usually prevented with the help of jobs and job schedulers, which postpone a job and schedule it later, when resources are available. The author proposes to extend CPU/job schedulers to meet interactive multi-user system requirements where application latencies should be low enough (< 1 sec) and at the same time provide isolation between users or group of processes and quality-of-service control. As an example, such scheduler can be used for running virtual private servers on top of cluster or NUMA system. Most models developed so far (e.g. (Chandra et al., 2000)) propose hierarchical CPU schedulers based on SFQ-like algorithms (for fairness between process groups) and standard OS scheduler (for processes inside the groups). Such multilevel schedulers imply independence of internal schedulers, i.e. independence of their scheduling decisions. This results in a number of problems and inefficiencies (Korotaev and Savochkin, 2005) when fair scheduler and Linux O(1)-scheduler are stacked together (e.g. fair scheduler should take into account load on per-CPU runqueues, etc.). The author extended the model of hierarchical CPU schedulers with a new scheduling level called virtual CPU scheduler (Korotaev and Savochkin, 2005). This new middle level allows top-level fair scheduler to be independent in its decisions from standard CPU scheduler and introduces the notion of virtual and physical CPUs. Top level fair scheduler makes its decisions about scheduling virtual CPUs on physical CPUs, then middle-level scheduler selects a virtual CPU and standard Linux scheduler selects a process from virtual CPU runqueue. Additionally the author proposes some new CPU schedu- ler QoS parameters such as a parameter for limiting CPU a user can get even if there are spare CPU resources. Such QoS parameters provide better control over CPU apportioning and allow limiting user to some CPU shares. As an example, this can be used for limiting user´s CPU consumption to the paid share of all CPUs power
Keywords :
Linux; multiprocessing systems; processor scheduling; quality of service; workstation clusters; Linux O(1)-scheduler; denial-of-service; fair CPU scheduling; hierarchical CPU schedulers; job schedulers; multiprocessor systems; multiuser systems; processes isolation; quality-of-service control; scheduling decisions; virtual CPU scheduler; Clustering algorithms; Computer crime; Control systems; Delay; Linux; Multiprocessing systems; Process control; Processor scheduling; Quality of service; Scheduling algorithm;
Conference_Titel :
Cluster Computing, 2005. IEEE International
Conference_Location :
Burlington, MA
Print_ISBN :
0-7803-9486-0
Electronic_ISBN :
1552-5244
DOI :
10.1109/CLUSTR.2005.347085