This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Achieving Service Rate Objectives with Decay Usage Scheduling
August 1993 (vol. 19 no. 8)
pp. 813-825

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] M. J. Bach,Design of the UNIX Operating System. Englewood Cliffs, NJ: Prentice-Hall, 1986.
[2] A. J. Bernstein and J. C. Sharp, "A policy-driven scheduler for a time-sharing system,"Commun. ACM, vol. 14, no. 2, pp. 74-78, 1971.
[3] D. L. Black, "Scheduling and resource management techniques for multiprocessors," Carnegie Mellon Univ., CMU-CS-90-152, 1990.
[4] D. L. Black, "Scheduling support for concurrency and parallelism in the Mach operating system,"IEEE Comput., pp. 35-43, May 1990.
[5] D. L. Black, "Processors, priority, and policy: Mach scheduling for new environments,"USENIX, pp. 1-9, Winter 1991.
[6] M. I. Bolsky and D. G. Korn,The Korn Shell Command and Programming Language. Englewood Cliffs, NJ: Prentice-Hall, 1989.
[7] E. G. Coffman and I. Mitrani, "A characterization of waiting time performance realizable by singe-server queues,"Oper. Res., vol. 28, no. 3, pp. 810-821, 1980.
[8] R. B. Essick, "An event-based fair share scheduler,"USENIX, pp. 147-161, Winter 1990.
[9] A. Federgruen and H. Groenevelt, "Characterization and optimization of achievable performance in general queueing systems,"Oper. Res., vol. 36, no. 5, pp. 733-741, 1988.
[10] E. Gelenbe and I. Mitrani,Analysis and Synthesis of Computer Systems. New York: Academic, 1980.
[11] L. Georgiadis and C. Nikolaou, "Adaptive scheduling algorithms that satisfy average response time objectives," Research Report, IBM Corp., RC 14851, 1989.
[12] G. J. Henry, "The fair share scheduler,"AT&T Bell Labs. Tech. J., vol. 63, no. 8, pp. 1845-1857, 1984.
[13] "MVS/Extended architecture system programming library: Initialization and tuning," IBM Corp., GC28-1149, 1983.
[14] J. Kay and P. Lauder, "A fair share scheduler,"Commun. ACM, vol. 31, no. 1, pp. 44-45, 1988.
[15] L. Kleinrock,Queueing Systems, vol. 1. New York: Wiley, 1975.
[16] S. J. Leffler, M. K. McKusick, M. J. Karels, and J. S. Quarterman,The Design and Implementation of the 4.3 BSD UNIX Operating System. Reading, MA: Addison-Wesley, 1988.
[17] M. K. Molloy, "Validation of MVA models for client/server systems," inProc. Computer Measurement Group, 1990, pp. 506-514.
[18] C. M. Moruzzi and G. G. Rose, "Watson Share Scheduler," inProc. Large Installation Systems Administrator Conf., Sept. 1991, pp. 129-133.
[19] M. W. Mutka and M. Livny, "Scheduling remote processing capacity in a workstation-processor bank network," inProc. 7th Int. Conf. Distributed Comput. Syst., Sept. 1987, pp. 2-9.
[20] D. R. Peachey, R. B. Bunt, C. L. Williamson, and T. B. Brecht, "An experimental investigation of scheduling strategies for UNIX," inProc. Sigmetrics Conf. Measurement Evaluation Comput. Syst., vol. 12, no. 3, 1984, pp. 158-166.
[21] G. Ramamurthy, "An analytical model for UNIX systems,"AT&T Bell Labs. Tech. J., pp. 86-99, Sept./Oct. 1988.
[22] M. Ruschitzka, "An analytical treatment of policy function schedulers,"Oper. Res., vol. 26, no. 5, pp. 845-863, 1978.

Index Terms:
usage-based approach; CPU allocation; analytic model; decay usage schedulers; compute-bound workloads; scientific environments; Unix system; fine granularity; process priorities; low overhead algorithms; service rate objectives; feedback loop; resource allocation; scheduling; Unix
Citation:
J.L. Hellerstein, "Achieving Service Rate Objectives with Decay Usage Scheduling," IEEE Transactions on Software Engineering, vol. 19, no. 8, pp. 813-825, Aug. 1993, doi:10.1109/32.238584
Usage of this product signifies your acceptance of the Terms of Use.