Proceeedings of the 15th IEEE International Symposium on High Performance Distributed Computing
(HPDC), Paris, France, June 2006.

ALPS: An Application-Level Proportional-Share Scheduler

Travis Newhouse and Joseph Pasquale
Department of Computer Science and Engineering
University of California, San Diego

Abstract: ALPS is a per-application user-level proportional-share scheduler that
operates with low overhead and without any special kernel support. ALPS
is useful to a range of applications, including scientific applications
that need to control the CPU apportionment to the processes they create,
to Web servers that need to limit the proportion of available CPU time
given to spawned processes that service Web requests, and to middleware
that supports multiple execution environments that are to run at different
rates. ALPS works by minimally sampling the progress of processes under
its control, and making simple predictions for when it should selectively
pause and resume the processes. We present the algorithm, a UNIX-based
implementation, and a performance evaluation. Our results show that the
ALPS approach is practical; we can achieve good accuracy (under 5% error),
and low overhead (under 1% of CPU), despite user-level operation.

Full paper in pdf