Traditional UNIX time-share schedulers attempt to be fair to all users by employing a round-robin style algorithm for allocating CPU time. Unfortunately, a loophole exists whereby the scheduler can be biased in favor of a greedy user running many short CPU-time processes. This loophole is not a defect but an intrinsic property of the round-robin scheduler that ensures responsiveness to the short CPU demands associated with multiple interactive users. A new generation of UNIX system resource management software constrains the scheduler to be equitable to all users regardless of the number of processes each may be running. This "fair-share" scheduling draws on the concept of pro rating resource "shares" across users and groups and then dynamically adjusting CPU usage to meet those share proportions. The simple notion of statically allocating these shares, however, belies the potential consequences for performance as measured by user response time and service level targets. We demonstrate this point by modeling several simple share allocation scenarios and analyzing the corresponding performance effects. A brief comparison of commercial system resource management implementations from HP, IBM, and SUN is also given.
[1]
Maurice J. Bach.
The Design of the UNIX Operating System
,
1986
.
[2]
Butler W. Lampson,et al.
A scheduling philosophy for multiprocessing systems
,
1968,
CACM.
[3]
Neil J. Gunther,et al.
The Practical Performance Analyst
,
1998
.
[4]
Judy Kay,et al.
A fair share scheduler
,
1988,
CACM.
[5]
David Coleman.
Taking Charge: The Johnson White House Tapes, 1963-1964. Edited by Michael R. Beschloss; The Kennedy Tapes: Inside the White House During the Cuban Missile Crisis. Edited by Ernest R. May & Philip D. Zelikow.
,
1999
.
[6]
Uresh K. Vahalia.
UNIX Internals: The New Frontiers
,
1995
.
[7]
Albert G. Greenberg,et al.
Comparison of a Fair Queueing Discipline to Processor Sharing
,
1990,
International Symposium on Computer Modeling, Measurement and Evaluation.
[8]
Srinivasan Keshav,et al.
An Engineering Approach to Computer Networking: ATM Networks
,
1996
.