Achieving Service Rate Objectives with Decay Usage Scheduling

Decay usage scheduling is a priority- and usage-based approach to CPU allocation in which preference is given to processes that have consumed little CPU in the recent past. The author develops an analytic model for decay usage schedulers running compute-bound workloads, such as those found in many engineering and scientific environments; the model is validated from measurements of a Unix system. This model is used in two ways. First, ways to parameterize decay usage schedulers are studied to achieve a wide range of service rates. Doing so requires a fine granularity of control and a large range of control. The results show that, for a fixed representation of process priorities a larger range of control makes the granularity of control coarser, and a finer granularity of control decreases the range of control. A second use of the analytic model is to construct a low overhead algorithms for achieving service rate objectives. Existing approaches require adding a feedback loop to the scheduler. This overhead is avoided by exploiting the feedback already present in decay usage schedulers. Using both empirical and analytical techniques, it is shown that the algorithm is effective and that it provides fairness when the system is over- or under-loaded. >

[1]  David L. Black Scheduling support for concurrency and parallelism in the Mach operating system , 1990, Computer.

[2]  Leonard Kleinrock,et al.  Theory, Volume 1, Queueing Systems , 1975 .

[3]  Carey L. Williamson,et al.  An experimental investigation of scheduling strategies for UNIX , 1984, SIGMETRICS '84.

[4]  Manfred Ruschitzka,et al.  An Analytical Treatment of Policy Function Schedulers , 1978, Oper. Res..

[5]  David L. Black,et al.  Scheduling and resource management techniques for multiprocessors , 1990 .

[6]  Miron Livny,et al.  Scheduling Remote Processing Capacity in a Workstation-Processor Bank Network , 1987, ICDCS.

[7]  G. J. Henry,et al.  The UNIX system: The fair share scheduler , 1984, AT&T Bell Laboratories Technical Journal.

[8]  Gopalakrishnan Ramamurthy,et al.  An analytical model for UNIX® systems , 1988, AT&T Technical Journal.

[9]  Edward G. Coffman,et al.  A Characterization of Waiting Time Performance Realizable by Single-Server Queues , 1980, Oper. Res..

[10]  David L. Black Processors, Priority, and Policy: Mach Scheduling for New Environments , 1991, USENIX Winter.

[11]  Michael K. Molloy Validation of MVA models for Client/Server Systems , 1990, Int. CMG Conference.

[12]  Awi Federgruen,et al.  Characterization and Optimization of Achievable Performance in General Queueing Systems , 1988, Oper. Res..

[13]  Judy Kay,et al.  A fair share scheduler , 1988, CACM.

[14]  Maurice J. Bach The Design of the UNIX Operating System , 1986 .

[15]  Arthur J. Bernstein,et al.  A policy-driven scheduler for a time-sharing system , 1971, CACM.

[16]  Erol Gelenbe,et al.  Analysis and Synthesis of Computer Systems , 1980 .