Achieving Efficiency and Accuracy in the ALPS Application-level Proportional-share Scheduler


We present the design and implementation of ALPS, a per-application user-level proportional-share scheduler. It provides an application with a way to control the relative allocation of CPU time amongst its individual processes. The ALPS scheduler runs as just another process (belonging to the application) at user level; thus, it does not require any special kernel support, nor does it require any special privileges, making it highly portable. To achieve efficiency, ALPS delegates fine-grained time-slicing responsibility to the underlying kernel scheduler, while itself making coarse-grained decisions to achieve proportional-share scheduling, all in a way that is transparent to the underlying kernel. Our results show that the ALPS approach is practical; we can achieve good accuracy (under 5% relative error) and low overhead (under 1% of CPU time), despite user-level operation.

DOI: 10.1007/s10723-007-9067-7

Extracted Key Phrases

15 Figures and Tables

Cite this paper

@article{Newhouse2007AchievingEA, title={Achieving Efficiency and Accuracy in the ALPS Application-level Proportional-share Scheduler}, author={Travis Newhouse and Joseph Pasquale}, journal={Journal of Grid Computing}, year={2007}, volume={5}, pages={251-270} }