This paper presents an analysis of time-sharing computer facilities using scheduling algorithms defined in terms of priority functions. We consider the class of algorithms in which a job's priority is defined by the difference between the time it spent in the system and an arbitrary function F of its attained service, where F is called the policy function. Our main result, the average response time for a job conditioned on its service requirement, applies to a broad class of policy functions. The derivation is based on the model of a processor-sharing M/G/1 queuing system and does not use transforms. The analysis is simplified by the decomposition of a non-Markovian process. Properties of the average response time resulting from policy function schedulers are discussed and related to those of other known time-sharing scheduling algorithms. For the examples of linear, exponential, and composite policy functions we plot the response times. We demonstrate the flexibility and the limitations of policy functions with respect to the discriminatory treatment of short jobs versus long ones and discuss the optimal selection of a policy function with respect to a given overall performance criterion.
[1]
William A. Wulf,et al.
Policy/mechanism separation in Hydra
,
1975,
SOSP.
[2]
R. Wolff.
Work-conserving priorities
,
1970
.
[3]
J. Little.
A Proof for the Queuing Formula: L = λW
,
1961
.
[4]
P. A. P. Moran,et al.
An introduction to probability theory
,
1968
.
[5]
Arthur J. Bernstein,et al.
A policy-driven scheduler for a time-sharing system
,
1971,
CACM.
[6]
William Feller,et al.
An Introduction to Probability Theory and Its Applications
,
1951
.
[7]
D C LittleJohn.
A Proof for the Queuing Formula
,
1961
.
[8]
Marvin Zelen,et al.
Mathematical Theory of Reliability
,
1965
.
[9]
Hugh W. Lynch,et al.
The OS/VS2 Release 2 System Resources Manager
,
1974,
IBM Syst. J..
[10]
Michael Athans,et al.
Optimal Control
,
1966
.
[11]
R. Wolff.
Time Sharing with Priorities
,
1970
.
[12]
Manfred Ruschitzka,et al.
A unifying approach to scheduling
,
1977,
CACM.
[13]
Robert B. Cooper,et al.
Queueing systems, volume II: computer applications : By Leonard Kleinrock. Wiley-Interscience, New York, 1976, xx + 549 pp.
,
1977
.