Volume 3. Number 2
OPERATIONS RESEARCH LETTERS
THE THROUGHPUT PERFORMANCE LIFO SERVICE DISCIPLINE
June 1984
OF A PRIORITIZED
B.T. DOSHI and E.H. LIPPER A T & T Bell Laboratories, Holmdel. NJ, USA
Received August 1983 Revised March 1984
The LIFO service discipline maximizes throughput for certain queuing systems with delay-dependentcustomer behavior. To study the effects of priorities in such a system,we obtain delay distributions for each customer class of a K-class,single server system with nonpreemptivepriorities and LIFO within each queue. priority queuing * customer behavior * service disciplines
I. Introduction A queuing system with 'delay dependent customer behavior' is one in which customers, unknown to the system, may ' t u r n bad' while waiting in the queue for service to begin. An important example is a telephone switching system in which the customers are calls and the service is given dial tone. A long wait for dial tone may cause a customer to begin dialing before tone is supplied. If this occurs, the switching system would not collect all the digits and the call will be unsuccessful. Such failed calls waste system resources and may be reattempted, hence inflating the (presumably) already heavy offered load. Suppose for a given system that W is the distribution function of the waiting time for a given arrival rate ~ and p ( t ) is the probability that a customer beginning service after waiting t units of time is served successfully (i.e., results in a ' g o o d ' service). If we measure the performance of the system by the rate, V, at which successful services are completed, then,
v= xS~_=p(,)dW¢,) = xp(o)w(o)
+ xS0O°p(t) dt.~(,).
If the arrival rate, service rate and customer behavior are given, then V depends on the delay distri-
bution, W, which depends on the service discipline. Doshi and Lipper [3] have recently shown that if p ( t ) is convex, the last-in-first-out ( L I F O ) service discipline maximizes V for quite general arrival and service time distributions. The implementation of a L I F O based discipline in an actual system is discussed by Borchering et al. [1]. Of course maximizing system performance does not guarantee small delays (high success probability) for any particular set of customers. One means of accomplishing this would be the use of priority queuing. If one considers all customers as a single group, then priority treatment will result in a departure from the strict L I F O discipline. Thus, if p is convex and the same for all classes of customers, the throughput under a priority discipline will be smaller than under the L I F O discipline. Of course, the higher priority customer may have a larger probability of getting a good service than under the L I F O discipline. The quantities of interest are then the advantage the high priority customers get, the disadvantage the low priority customers suffer and the overall reduction in successful throughput. In this paper we evaluate these quantities for the case where there are K classes of customers, class i customers having nonpreemptive priority over class j (i < j ) and within each class the L I F O discipline is used. Let W L denote the waiting time distribution under the L I F O discipline (without priority) and
0167-6377/84/$3.00 © 1984, ElsevierScience Publishers B.V. (North-Holland)
Volume 3, Number 2
OPERATIONSRESEARCHLETTERS
June 1984
let Wt denote the waiting time distribution of the class i customer under the prioritized LIFO discipline. The probability that a customer receives a good service under the L I F O discipline is given by
load. Thus, if ~,~ and Ze~ denote the initial and the total arrival rates of class i and if every unsuccessful service results in a retry with probability r~, then
qf fo~P(t)dWL(t)
X,., = X, + r,?%,(1 - q,(?te,))
=p(O)WL(O ) +.fo°°P(t) dWL(t ).
(1)
The probability that a class i customer receives good service under the prioritized LIFO discipline ( p - L I F O ) is given by
q, = fo~P( t ) dWi( t );
where q , ( ~ ) is the success probability for class i when the arrival rates are ~ j , j = 1..... K. The above equation can be solved by successive substitution for each i to get ~ , and q,(~e,), i = 1. . . . . K. Thus the essential effect of the retries is to inflate the arrival rates and degrade the performance.
(2)
and the total throughput under the p-LIFO discipline is given by
i=l where f~ denotes the fraction of arriving customers which are of class i. We are interested in comparing q~ with q and Vp with V ( = Xq). Since p(t), X and f~(i = 1, 2. . . . . K ) are known, the only quantities required are W(t) and W~(t), i f f i l , 2. . . . . K, 0 < t < o o . We obtain LaplaceStieltjes transforms of these quantities under the assumption that arrivals obey Poisson distributions and that each class in the p-LIFO discipline has its own general service time distribution. Although these transforms are known (Jaiswal [2]) for the case where the service discipline within each queue is first-in-first-out (FIFO), no such results seem to be available in the literature for the case where the service discipline is L I F O within each queue. In Section 2 we formalize the model and introduce the notation. Section 3 contains the analysis for the strict L I F O and p - L I F O models. In Section 4 we present numerical results for the special case of two priority classes. A final summary comprises Section 5.
2. Model and notation
There is a single server, K classes of customers and K queues. A class i arrival is placed in the front of queue i, and the server always selects the next customer for service from the front of the lowest numbered (highest priority) queue in which any customers are waiting. Let ~ = ~f~ be the (Poisson) arrival rate of class i customers. Let G~ be their service time distribution with mean l / p , , finite variance and let
H,(x)fp,
(1- G,(y)) dy
be the distribution of the forward recurrence time of the service time of class i customers. Let
p i = - ~ , i = 1 , 2 . . . . . K, 2~.) = ~l + ~2 + " " " + ~ , p~i)ffipl+...+p~, i = 1 , 2 . . . . . K,
i = 1 . . . . . K, Remark. As mentioned in the first paragraph of this section some of the customers who fail to get a successful service wil| retry and inflate the load. In practice, the time between the reception of an unsuccessful service and the retry is large compared to the service time. In this situation our experience has shown that excellent approximations can be obtained by modeling the retries as a Poisson process independent of the initially offered
and
=
(fo =ll -
d.)/,..
i = 1 ..... K. Let B~j denote the distribution of the busy period in an M / G ~ 1 queue with arrival rate ~.~, service time distribution G~o and started by initial work with distribution function /-/j, i, j - - 1 . . . . . K. Let
OPERATIONS RESEARCH LETTERS
Volume 3, Number 2
B, denote the corresponding busy period distribution started by initial work with distribution G(,). In what follows quantities appearing with an asterisk (*) denote Laplace-Stieltjes transforms of the corresponding distribution functions. Then it follows from the definitions of B U and B, that
B:j (o) =
H*(o + x(,)(1 -
n:(o))),
and Ba*(O)solves
B*(o) =
G~)(O+ x(,,(1
-
B:(o))).
In the next section, we obtain expressions for W*(O) and W~*(0), i - - 1. . . . . K, iu terms of C,*, G~) and B*.
3. Laplace-Stieltjes transforms of the waiting time distributions
3.1. LIFO discipline F o r the L I F O discipline we have a single waiting time distribution for all classes of customers. This distribution is proper if P e r ) < 1, defective if P~r) > 1, and is given by the waiting time distribution, under the L I F O discipline, in an M / G / 1 queue with arrival rate X---~(r) and service time distribution G(r). Thus, from [5], we get, for P(K) < 1,
w*(o)= l -p(,() = 1-p¢r)
1 - B?((0)
+x(")o+x(,)0-B~(o))"
(3)
(1 -
B~
(o))(x(~)/p(r))
0 + ?t(r)(1
be obtained by a much more direct argument than the one presented below. However, this general approach applied to the first queue also, by suitable interpretation of the various quantities and by setting all terms having a zero subscript equal to zero. First, consider the subsystem consisting of queues 1, 2 . . . . . i - 1 (combined into a single queue) and the server. Let X, denote the random variable representing the work, at the time t, in this subsystem operating within the original system. As long as X~ is positive, it decreases at unit rate until either it reaches 0 or an arrival occurs in one of the queues 1, 2 . . . . . i - 1. An arrival in queue ! < i will cause X t to j u m p by its service time. When X t reaches 0, the server picks a customer from the lowest numbered nonempty queue among i, i + 1 . . . . . K, for the next service. In this case, X, j u m p s up by the service time of the customer picked. Let X be the random variable representing the steady state value of X t and let J be its distribution function. It is clear that the waiting time of an arrival in queue i is the busy period generated by the initial work X in an M / G / 1 queue with arrival rate ~(~) and the service time distribution G , r Thus
-B*(o)))
w,*(0) =J*(0 + ~.)(1
(5)
it only remains to get an expression for J * to completely specify Wi*. We use a simple level crossing argument (see Brig and Posner [2]) to get J * . F o r x > 0, let U(x) and D(x) denote, respectively, the number of times the X t process upcrosses and downcrosses level x per unit time in the steady state. Then from [2] we get
D(x) = J'(x)=j(~)=
V(x).
Thus
F o r p(r) > 1 we have,
w*(0)
June 1984
-B~(O))
j(x) = u(~)
.
(4) = X(,_,)f0~j(y)(1 -
G,_,)(x-y))
dy
+Xv_=)J(O)(1 - G(,_,)(x))
3.2. p-LIFO discipline We now obtain an expression for W~*(0) for i = 1, 2 . . . . . K. We consider three distinct cases: Case 1. p(r)~< 1. We are interested in the waiting time of an arrival in queue i. W!*(0), the LST of the delay distribution for the highest priority customers, can
+ ~. Xj(1 -
Gj(x)).
j=i
The first term on the right-hand side above corresponds to arrivals in first i - 1 queues arriving to a busy system. The second term gives the rate of upcrossing of level x due to arrivals in queues
OPERATIONS RESEARCH LETTERS
V o l u m e 3, N u m b e r 2
1, 2 . . . . . i - 1 arriving to an idle system. Finally, the third term corresponds to the rate of upcrossing of level x due to the customers of classes i, i + 1. . . . . K, entering the server when X, leaches zero. Note that, when P(x) < 1, all arrivals eventually get served to the steady state rate of the customers of classj, j >1 i, entering the server is the arrival rate of the class j . Taking the Laplace transform of the above equation and using the fact *.hat J(0) = 1 - p~x ) we get -
J*(o)
o,K)+ ~fo,o,H,*(O)
J u n e 1984
× (1
a,*(o + ~,,,(1 - B,,(
× (o + x,,,(l -
o))))}
B,*(o))
-- X(/-- I)
x 0
-
o,*, ,,(o + ~,,,(~
-I
B:(o))))}
-
Case 3. p , )
> 1 for some I < i (i @ 1 ). In this case, no customer from queue i will be served and so W,*(0) = 0.
1 - p . _ j,H(,*_h(0) 0(1 - o,~,) +z:~~),j(1 - a;(o)) o - x,,_.(1 - a(';_,,(o))
(6)
Substituting from equation (6) into equation (5) we get
w,*(0) =
{(1 - p , x , ) ( 0 +
k,,,(l - B,*(O)))
4. Numerical results I n o r d e r t o i l l u s t r a t e these r e s u l t s w e a s s u m e t h a t p(t) ---- e - " f o r s o m e a > O. S i n c e p(t) is a c o n v e x f u n c t i o n , it a l l o w s us t o c o m p a r e t h e o v e r all throughput
q= W*(a) + EX,(1-6;(O+X.,(1-B*(O)))) j=i
x {0 + ~(,,0 -
B,*(O)) -~,(,_,,
X(1-G'~_,)(O+
~.u,(l - b * ( O ) ) ) ) } - '
Case2. p.)>~l >p._l)
for some I>~i. Arguments similar to those used for Case 1 give
J*(O)= {tf~='pj'l*(O)+(1-Pu-,))Ht*(O)) * X {I-p._,)Ho_,)(
0
)}
-1.
of the p-LIFO
discipline with LIFO
in a case where the latter is known to be optimal. From (1) and (2) we have, and q i = W*(,~),
i=1,2.
We have computed the probability of successful service and overall throughputs for the situation in which the service times are distributed according to an Erlang distribution (with parameter 6). The mean service time, taken from a call processing application, is assumed to be 0.7826, and the parameter a is taken to be 0.15. Figures 1 and 2 show the probability of successful service versus offered load for 10 percent and 25 percent high priority customers respectively. Also shown in each case is the corresponding success probability for the pure L I F O discipline. For the case of 10
I-i
=
E• . ~j(1 - a ; ( o ) ) 4,0
+ (1 -
O,,_,,)#,(1 - a;'(O)))
X {0-Xu_,)(l-
G,*_,,(O))} - t
!o.o
/ 1-1
[j=! + (1 - p . _ , ) ) # ,
0.2 0
~I ~
0.8
0.4
Thus
I
0.9
I I
F
I O
I
I
I
I
(HIGH PRIORITY)
4 0 % HIGH PRIORITY ~.= 0 . 7 8 2 6 0=0.t5
p-LTFO (LOW PRIORITY)
ERLANG SERVICE DIST. (K--6) I 0.6
I 0.8
I t.0
I I 1.2 1.4 p-~
Fig. 1. Success probability vs offered load.
I t.6
I 4.8
I
2.0
Volume 3, Number 2 4.0 [ ~ 0.8 ]-
i
l 0.4
OPERATIONS RESEARCH LETTERS
I i_..~.. p
-
L
,
I
~
I
,
i
I
p-LZFO (HIGH PRIORII'Y)
25% HIGH PRIORITY
~
L °.o.~ u o.~ r ERLANGSERVICEO,ST. (K-,. i
i
I
0.6
0.8
4.0
I
i
4.2 4.4 p----~
0,8
I
I
'
a
_..,.,. p = 4.5 p=1.25 e-- o.9
0.4
~ 02
/
o /
1.01 I I I i ~--.,_~ p = 4.5 0,1.25 . . . . . .
°°Iiiill I ~"
o~ o
F g=°'70"6
June 1984
I
i
i
4.6
1.8
2.0
z
o
I
0
15
30 45 60 75 90 I 0 0 e/o HIGH PRIORITY LOAD
Fig. 2. Successprobability vs offered load. Fig. 4. Impact of high priority percentage on total system throughput.
percent high priority customers, the significant throughput advantage provided to the high priority customers by the p - L I F O discipline is clear. Equally clear, however, is that the low priority customers do not suffer a significant degradation in success probability as compared to their performance without priorities even at extreme overloads. If the percentage of high priority customers is 25 percent the degradation in low priority success probability is greater although only at the most extreme loads it is substantial. For example, at an extreme load of O = 2, the low priority success probability under p - L I F O discipline is 0.30 compared to 0.44 without priority. Both curves indicate that the effect of the p - L I F O discipline on overall system performance should be small and this is confirmed in Figure 3. This shows total throughput of good customers (normalized to the service rate) plotted against offered load. It can be
seen that the deviation from the optimal throughput (pure L I F O ) is slight even at extreme loads. It is also of interest to bound the effect of priorities on total system throughput. Figure 4 shows a plot of total throughput versus the percentage of high priority offered load for three different values of the total load. With either 0 ~ or 100% high priority customers the priority scheme reduces to pure LIFO. F o r a total load of 0.9 we see that there is negligible effect on system performance and even for a total load of 1.5 a maximum degradation of about 11~$ occurs (at 60~ high priority, which, would likely be an unrealistic percentage in an actual system).
5. Summary
4.0
i o., 0.6
!
I
~"
z
~0.4
I
I
I
I
!
I ~0.,, 25O/op
~.= 0.7826
0.2 o .iI.-
!
0
0=0.45 ERLANG SERVICE DIST. (K=6) I I I I I I 0.6 0.8 t.0 t.2 1.4 4.6 p----~
I 1.0
Fig. 3. Normalized total throughput LIFO & p-LIFO.
I 2.0
We have presented the analysis of a queuing system with a single server and K queues serviced on a nonpreemptive priority basis with the L I F O discipline employed for customers in each queue. We obtain the Laplace-Stieltjes transforms of the waiting time distribution for each class under the assumption of Poisson arrivals and a different general service time distribution for each class. F o r a given customer behavior function, the delay distributions can be used to compute the throughput of "good' services for each of the priority classes. Numerical results are presented for the case of two queues and a negative exponential customer behavior function.
Volume 3, Number 2
OPERATIONS RESEARCH LETTERS
References [1 ] J. Borchering, et al., "Coping with overloads", AT & T Bell Laboratories Record, July-August, 1981. [2] P.H. Brill and M.J.M. Posner, "Level crossings in point processes applied to queues: Single server case", Operations Research 25(4) (1977).
June 1984
[3] B.T. Doshi and E.H. Lipper, "Comparison of service disciplines in a queueing system with delay dependent customer behavior", "Applied probability - Computer science: The interface", Progress in Computer Science No. 2, Birkh~user, 1982. [4] N.K. Jaiswal, "Priority Queues, Academic Press, 1968. [5] L. Kleinrock, Queueing Systems Volume !1: Computer Application, Wiley, 1976.