Chapter V Head-of-the-Line Priority Discipline

Chapter V Head-of-the-Line Priority Discipline

HEAD-OF-THE-LINE P R I 0 RlTY DISC I P L I N E 1. Introduction I n this chapter, we investigate the head-of-the-line priority discipline. Under this...

1MB Sizes 1 Downloads 47 Views

HEAD-OF-THE-LINE P R I 0 RlTY DISC I P L I N E

1. Introduction

I n this chapter, we investigate the head-of-the-line priority discipline. Under this discipline, if an ordinary unit enters service, it cannot be preempted by the arrival of a priority unit, so that the priority unit has to wait until the ordinary unit completes its service. This discipline is, therefore, also called “nonpreemptive.” This discipline was introduced by Cobham [IS] and has been studied subsequently by Holley [39], Dressin and Reich [24], Kesten and Runnenburg [52], Morse [63], Miller [62], Jaiswal [45], Welch [96], and Takics [87] under different assumptions regarding the service-time distribution and under the assumption that the units emanate from infinite sources. T h e process can be considered as a “breakdown model” in which the repair of a breakdown can be postponed until the unit in service completes its service. Situations obviously exist where such a postponement is possible. We may, therefore, call such breakdowns “postponable interruptions,” or just interruptions. Viewed as an ‘“interruption model,” this has been studied by Keilson [49] and Gaver [29]. T h e multiple finite-source priority model under this discipline has been studied by Thiruvengadam [9 I ] and Hodgson and Hebble [38]. As in Chapter IV, we use the results of Chapter I11 to first investigate the two-class process and then generalize to k 2 classes. 2

126

2. Completion-Time Process

127

2. Completion-Time Process

T h e process begins at t = 0 with the entry of an ordinary unit in service. Because of the nonpreemptive discipline, the priority units, if any, that arrive during the service time of the ordinary unit wait until the ordinary unit completes service. T h e process ends when all priority units that have accumulated during the service timc of the ordinary unit and those which arrived subsequently complete service. From Section 111, 3, it follows that the process is specified completely by the densities f l ( m , , x2, t ) and gL(m, , xl, t ) . T h e process can be conceived of as the initial busy-period process of the infinite- or finite-source model (depending upon the size of the priority source) with the initial occupation time equal to the service time of the ordinary unit. T h e following results follow directly from the results of the initial busy-period processes of Sections I, 2 and 11, 2. a. Priority Source InJnite

For the case in which the priority source is infinite, we have:

E,(s)

= 6?(s)

=

S,[A,{l

-

6,(s)} + s]

(2.3)

so that E(c,)

V2

=-

1

-P1

and

+ Sz[s +1Xl(1

-

4 1 - Sz[s + Al{l - b,(s)}I Sl[S + -4 1

- (I/Nl)

(2.6)

Observe that the completion-time density for preemptive resume and head-of-the-line disciplines are the same.

128

V. Head-of-the-Line Priority Discipline

b. Priority Source Finite Using the results of Section 11, 2, we obtain fYm1

, x2 ,

=

( mNll) x exp

gL(ml , x1 , s)

= jsz(ml

- exP(--h1x2)lrn1

[-

{(Nl - ml) A1

+

s) x2

-

19'

7 . d ~dx] )

, x1 , s)

(2.7)

(2.8)

where j S z ( m , , x2 , s) is defined by (11, 2.44) with ( N , A, S ) replaced by ( N , , A , , S,), and

so that

(2.10)

Observe that if Nl c2(s)

= =

1, (2.9) reduces to

S2(s)S1(s)

+ S2(A1+ s)[l

-

S1(s)]

(2.13)

which can be interpreted as follows: the completion time is equal to the service time of an ordinary unit if no priority unit arrives, and is equal to the convolution of the service time of the ordinary unit with the service time of the priority unit if a priority unit arrives.

3. Priority and Ordinary Sources Both Infinite

129

Observe that if the priority units emanate from a finite source the ratio E(c,)/Y,, which gives an idea of average service elongation for an ordinary unit because of the interruptions from priority units, depends upon the service-time distribution of the ordinary unit, while this is not so if the priority units emanate from an infinite source. A more significant observation is that under preemptive discipline, the completion time density for ( N , , CO) and ( N , , N,) models could be obtained directly from the completion time density of the (1, co) and ( I , N,) models by replacing the breakdown duration by the busy period duration of the basic finite-source model with parameters ( N l ,A,, S,). T h e same is not true for the head-of-the-line discipline. This is because a priority unit on arrival may have to wait for the service completion of the ordinary unit, and if the priority source is finite, this affects the input of the priority units. We use the results of Chapter I11 to discuss the stochastic behavior of different characteristics of the (co,co), ( N , , co), (co,N,), and ( N , , N,) models. 3. Priority and Ordinary Sources Both Infinite The (03,oo) Model

3-1. Busy Period Since the completion time density under this discipline is the same as under preemptive resume discipline, y 2 ( t ) , the density of the busy period duration is the same as under preemptive resume discipline and is given by (IV, 3.1).

3-2. Joint Queue-Length Probabilities Substituting (2.6) in (111, 5.4), we obtain

d(., , a, , s)

[

=P ( S )

A,[.,

-

x 1 I--

B2(s)l

+ X,[6l{X,(1 i-4 6l{h,(l m))+ 41 f,[h,(l ),. + sl + h,(l + ~

.2

1

-

S,[X,(l

- 011)

-

.2)

-

~

- .2)

SI

-

130

V. Head-of-the-Line Priority Discipline

where

This result has been obtained by Jaiswal [45], Gaver [29], and Keilson [49]. Inversion of these results is, in general, difficult as will be seen in the following example.

Example A In the case of exponential service-time distributions with equal means, (vl = I / p , vz = lip), inversion can be done as in Section IV, 3. T h e value of P ) ( t ) is given by (IV, 3.14), and

where

a

=

p I hl(l

-

al) t X2(1

-

"2) - p/a1

and

where I , is the modified Bessel function of the first kind. These results are given in Jaiswal [45]. a. Limiting Behavior I r o m Section 111, 6 with p1 exists, and is given by

+ pz < 1, the

limiting distribution

3. Priority and Ordinary Sources Both Infinite

13 1

where and

4%4 7

=

1

-

+

Sl[hl(l - 011) b,(l - 4 -4 42(1 - 4

w

+

1

This problem was studied by Miller [62] through the imbedded Markov chain technique. He considers first the Markov chain at time-points at which either a priority or an ordinary unit leaves the system. T h e analysis of this chain gives a relationship which contains the ordinary queue length probabilities at those points at which the priority queue is zero. T o obtain these probabilities, Miller defines a second Markov chain only at those time points which are the service termination periods leaving no priority units. However, the results so obtained are different from the results obtained above because the supplementary variable technique studies the non-Markovian process in continuous time, while the imbedded Markov chain technique considers the distribution at only those points at which a customer departs. T h e two limiting probabilities 1imt+= @(ml , m 2 , t ) and limn+m@ ( n ) ( m , mz), , where n denotes the nth departure point, are not the same as for the M/G/l process [see discussion below equation (I, 4.7), and also Fabens [ 1031 for the relationship between these two limiting probabilities]. T h e moments can be obtained from (3.3) by differentiation and are given in the following example. Example B

T h e mean number of priority units present in the system is given by

132

V. Head-of-the-Line Priority Discipline

where PI

=

4 %

T h e mean number of ordinary units is given by

where pz == xzvz

By similar means, other moments can be evaluated. Through Markov chain analysis, Miller [62] obtains the following results for mean queue lengths considered at service termination points: E(AJ

(3-7)

E(A2)

(3.8)

These results can also be obtained from the continuous-time results obtained above through the supplementary variable tnethod [45]. b. Design Measures Figure V.l represents the design measures for priority as well as ordinary units under head-of-the-line priority discipline. T h e sum of the traffic intensities is constant, so that for a given value of vz/vl, the value of p2 increases as &,/A, increases. T h e effect on the priority queue is thus least at the origin, and increases as h,/h, increases. Consequently, the design measure for the priority units decreases as A, A, increases. I n addition, the design measure for the priority units has a higher value for constant service times than for exponentially distributed service times. 'The behavior of the design measure for the ordinary units is just the opposite, for obvious reasons.

133

3. Priority and Ordinary Sources Both Infinite

'31

-Deslgn measure for priority units --- Design measure for wdinary units

.2

PI p*=.4 +

Ib

ok5

2:0

FIG. V. 1 .

i0

4:0

5b X,/X1-

610

f0

60

9'0

60

Design measures under head-of-the-line priority discipline.

3-3. Occupation Time of the Server To determine the occupation time of the server with respect to priority units, we derive Wlc(B, s), the Laplace transform of the occupation-time density with respect to the priority unit during the completion time process. Using (111, 7.2) with (2.1) and (2.2), or noting directly that the required density is equal to the occupation-time density for the initial busy-period process with the initial occupation time equal to the service time of the priority unit, we obtain from

(I, 6.5)

Substituting (3.9) in (111, 7 . 9 , we obtain, using (I, 6.9),

134

V. Head-of-the-Line Priority Discipline

Under steady state, we obtain (3.11) so that the moments are given by

E(%q)

=

X,E( S 1 2 ) i- h,E( ’22) 2(1 - P1)

(3.12)

T h e server’s occupation time with respect to the ordinary unit is the same as under the preemptive resume discipline. This is because the completion-time densities are the same for both disciplines. T h e steady-state distribution is therefore given by (IV, 3.26). However, the delay time of an ordinary unit is different for the head-of-the-line discipline, because here we have only to put the service time of the ordinary unit in place of the completion time; thus, from (IV, 3.27), the mean delay time of an ordinary unit is given by (3.14) 4. Priority Source Finite and Ordinary Source Infinite The (N,, a) Model

This model for N , = 1 is a simple postponable interruption model in which the interruption can be postponed until the end of the service of the unit. One can therefore speak of “independent” interruption or “active” interruption models. These have been considered by Gaver [29], Keilson [49], and Thiruvengadam [91]. T h e ( N l , a) model is a generalization to the above stituation. For other interpretations of the model, the reader may conceive of similar situations as mentioned in Section IV.4 with regard to this discipline. Although by assuming different arrival rates during the busy and idle periods, we can derive, as in Section IV.4, both models in which priority units arrive homogenously in time and those in which they arrive only during the busy period of the server (conditions corresponding to independent and active interruption models, respectively), we confine ourselves mainly to the first type of model.

135

4. Priority Source Finite and Ordinary Source Infinite

4-1. Busy Period T h e Laplace transform of the busy-period density is obtained is now the root of the equation from (111, 4.11), where &(s) 01 - 6p[X2(1 - a ) s] = 0 lying inside the unit circle 1 01 I = 1. Obviously, the busy-period densities for the preemptive resume and head-of-the-line disciplines are different when the priority units emanate from a finite source, while these are same if the priority source is infinite.

+

4-2. Joint Queue-Length Probabilities Substituting (2.6) in (111, 5.4), we get, after simplification,

c

N1-1

+ ml=O +ml(l

- al)m1

czsp[m, , s

+ h,(l

-

4 1

and, from (111,4.25) and (111, 5.3), 2(')(~)= [S

+ Az{l

- BZ(s)}

+ &{I

-

&(s

+ &[l

-

&(s)])}]-'

(4.2)

where bl(rn, , s) and @(ml , s) are defined by (11, 2.27) and (11, 2.45) and &(s) is defined above. These results are obtained by Thiruvengadam [91]. T h e above results can be easily modified to incorporate different arrival rates during the idle and busy periods.

136

V. Head-of-the-Line Priority Discipline

Example

If the arrival rate of the interruptions during the idle period is modified so that replaces A, , the steady-state probability of finding the server empty is given by

x,

(4.3) and the marginal queue-length distribution of ordinary units is given by

5. Ordinary Source Finite-The

(00, N,)

and ( N , ,N,) Models

Our basic method so far has been to equate the ordinary queuelength distribution at epochs at which the ordinary units enter service during a priority process to the queue-length distribution at service entry points of the basic (one-class) process, replacing the service time by the completion time. I t was mentioned in Chapter I11 that this is true only if the equivalence condition is satisfied, i.e., the departure of the ordinary unit during the completion time does not affect the arrival process of the ordinary units during the remaining part L , of the completion time. Obviously, this condition is violated N,) and ( N l , N,) models, since, as soon as the ordinary for the (a, unit completes service and returns to the source, the arrival rate increases by A, because of the finite size of the source. Thus, the study of these models requires a modification of the basic models. Such a modification is not difficult to visualize. Let us consider the following modified finite-source model: After servicing each unit, the server spends a random time called the “restoration time” during which the facility is restored in preparation for taking up the next unit. Let us assume that this restoration time is dependent on the service time of the outgoing unit. It will be recalled that this model is the restoration-time model of Section 11, 2

5. Ordinary Source Finite-The

( 0 ,N2)

and (N1 ,Nz) Models

137

Let us now consider the (00,N,) and ( N l , N,) models. A completion-time cycle is initiated when an ordinary unit enters service. T h e completion-time cycle, as we discussed earlier, is identical to the initial busy period of the infinite- or finite-source model with the initial occupation time equal to the service time of the ordinary unit. Let us consider, as usual, the completion-time cycle as consisting of two parts, I,, during which the ordinary unit is present, and L, , during which the ordinary unit is no longer present. Notice that L, depends stochastically on the length I,. Hence, if the restorationtime density r(t I T ) , where T is the service time of the outgoing unit, is replaced in the restoration-time model by L,(t 1 T ) , where T is the service time of the ordinary unit, the stochastic behavior of the queue length in the restoration-time model and of the ordinary queue length in the (co,N,) and ( N , , N,) models are the same. Hence, from Section 11, 2, we can obtain the distributions of ordinary units, at service entry and termination points and these will be used to discuss the behavior of these models. 5-1. Busy Period

Let us first evaluate L,(t As discussed above, L,(t I T) dt

= Pr[t

I T ) for the (a, N,) and ( N l , N,) models.

+

T


+ + dt I s, = T

T]

(5.1)

= T]

(5.2)

so that

Lz(s 1 T)

=

E[exp(--sL,)]

=

exp(sT) E[exp(-sb?)j

Hence, for the (00,N,) model, substituting (I, 2.26), we obtain

L(sI

T)

=

exP[- {Ad1

-

S,

o(s) = exp(-Ts)

4(-s))>.I

in (5-3)

where 6,(s) is defined by (I, 2.15). Similarly, for the ( N , , N,) model we obtain, from (11, 2.42),

If the busy period is initiated by the arrival of an ordinary unit, the busy-period density will be given by (11, 2.72) for i = 1 after sub-

138

V. Head-of-the-Line Priority Discipline

stituting f ( s 1 T) by the L2(s I T) given by (5.3) and (5.4). Similarly, if the busy period is initiated by the arrival of a priority unit, the busyperiod density will be given by (11, 2.80) after replacing f ( s I T) with EB(s 1 T) and Q(s) by hl(s), the busy period density of the priority units in isolation. Since the first and second type of busy periods are initiated with probabilities N,h,/(hf N,A,) and AF/(hf N,h,), respectively, where Af = A, if the priority source is infinite and A: = N,A, if it is finite, we have

+

+

zo

Nz-1

jq$= )N,AzNZAzI A T ~~

(,-

iN2e-

I _1 s) w2(e - 1, s)

*I

i2(eA,

1 ( e 1 i z ( e A , + s) w,(e Nz

N2

1

P=O

-

1, s)

where G z ( m ,s) is defined by (11, 2.71) and is given by

= I

if

m -= - 1

(5.6)

and h,(s) and c,(s) will be defined below for the ( CO, N , ) and ( N l , N,) models. Finally, the expected length of the busy period duration can be obtained by differentiating (5.5), or directly from (11, 2.78) and (IT, 2.84), and is given by

where, as in (11, 2.79), we define

- 1

if

m -0

(5.8)

5. Ordinary Source Finite-The

139

and F,(s) for these models are as follows:

T h e values of &(s)

(i)

(ao, N2) and ( N 1 , N2) Models

The (00,N,) Model a,

t,(s)

and ~ ~ ( = s )

=

J”

=

S2[A1{1- &(s)}

Srn 0

=

0

exp(-sT) exp{- [x1{1 - 6,(s)}]T} dT

~ ~ ( 7 )

+ s]

exp(-sT) exp(A,T) expi- [A~{I- 61(s)}~T}dT

~ ~ ( 7 )

+

Sz[s Al{l

-

b,(s)} - A,]

(5.9) (5.10) (5.11) (5.12)

Note that c,(t), the density of the cycle time in the restoration-time model, is identical to the completion time of the ordinary unit. Hence, E ( y z ) for the (00,N,) model is given by

(ii)

The ( N , , N,) Model. For this model,

and

Hence, the expected duration of the busy period for the ( N l , N,) model is given by

(5.16)

I40

V. Head-of-the-Line Priority Discipline

5-2. Joint Queue-Length Probabilities As pointed out in the introduction to this section, the distribution of the number of ordinary units at epochs during which ordinary units enter service in the (a, N,) and ( N , , N,) models can be obtained from the results of the restoration-time model. If .F(m, , t ) denotes the probability that at time t an ordinary unit enters service in the (a, N , ) and ( N , , N , ) models and leaves behind a queue of ( m , - 1) ordinary units waiting, we have, using arguments similar to those in Section 111, 4 but using (11, 2.76) and (11, 2.81), the following results:

(5.17)

where Z,(m, s) and &(m, s) are obtained from (11, 2.73) and (11, 2.83) by using the value of F,(s) and &(s) obtained above. Further, let A?’(m, , t, 2)d Z denote the probability that at time t there are m, ordinary units in the system and an ordinary unit has dcparted after being in service for a time between Z and 2 dZ. Notice that at such an instant ‘t’ there will be priority units present which have arrived during 2. Because of the equivalence of the priority model with the restoration-time model, we obtain, using (11, 2.77) and (11, 2.82),

+

x { z 2 ( N z- m2

t e , s) exp[- { ( N 2- m2

+ e - 1 , s) { ( N 2 m2 + e

t z 2 ( N 2- m2

x exp[-

-

-

I)&

+ e)h2 + s>Z]S2(Z)

+ s}Z]S,(Z))

5. Ordinary Source Finite-The

( O D N2) ,

and (N1 ,N2) Models

141

Now, following the method outlined in Section 111, 4,we get

x exp[ - ( N , m

n

~

m2

+ e)

&'(m2

A27]

-

pr(ml , T 1 Z ) dZ d7

n, t

-T

+ Z , 2)

e=O

x exp[ - ( N 2- m2

+ e)(T

-

Z ) A,] pL(ml , T 1 Z ) dZ dT

(5.19)

where X ( m 2 , t, 2) dZ denotes the joint probability that at time t an ordinary unit enters service with m2 - 1 units in the queue and the dZ; observe that service time of this unit lies between Z and Z X(rn,, t , 2 ) is related to the X ( m 2 ,t ) given by (5.17) by the simple relation

+

,@(m,, t , Z ) = Z ' ( m , , t ) S , ( Z )

(5.20)

pr(rn, , t j 2) dZ and pL(ml , t I 2 ) dZ are the conditional probabilities associated with the completion-time process of a unit whose service dZ. time lies between Z and Z Taking the Laplace transform, we get

+

142

V. Head-of-the-Line Priority Discipline

x pL[ml , ( N , - m2

+ e ) A 2 + s I Z]l dZ

(5.21)

Using the results of Appendix I, we obtain, after simplification,

c N2

m y z P(m1

, m2 > s)

mZ=O

Hence,

(5.22)

5. Ordinary Source Finite-The

( c o t N2) and (N1

,Nz)

Models

143

where

and

is the probability that there are m, units at time t of the completiontime process. T h e values of j I and 2;" can be obtained using (111, 3.1) and (111, 3.2) with (2.1) and (2.2), and using (2.7) and (2.8) for the (a, N,) and ( N l , N,) models, respectively. Following the method of Section (111, 5), the general-process probabilities are obtained from (5.23) and are given by

where

and y2(s) is given by (5.5). T h e steady-state results can be obtained by the usual limiting arguments.

144

V. Head-of-the-Line Priority Discipline

5-3. Occupation Time of the Server

Using the method discussed in Chapter 111, we can directly write the double Laplace transform of the transient occupation-time density with respect to the priority units as follows

(5.27)

where WlC(8, t ) is the Laplace transform of the virtual waiting-time density at time t of the completion-time cycle. Since the completiontime cycle is identical to the initial busy period, we have for the ( N , , N,) model, following the derivation of the occupation time density during the initial busy period process of Section I, 6 and using qR(m, t ) and pn(m, x,t ) from Section 11, 2,

(5.28)

where G f * ( v z , , s) is defined by (11, 2.45). In addition, W1(B, s) is given by (TI, 5.2) for i = 1 so that

(5.29)

where &,(m,,s) is defined by (11, 2.27). Finally, we can obtain N,

C .R( m , , s)

m,=l

from (5.17). By substituting all these values in (5.27), we can obtain

@,(8, s).

6. k-Class Priority Process

145

For the occupation-time density with respect to ordinary units, following the method and results of Section 111, 7, we obtain N,-1

g(e,s) = e‘(Z’(s)[l + 1

[Ez(e)]””-j-’

[l

-

CZ(9)lj

j=O

where Z 2 ( j , s) and & ( j , s) are obtained from (11, 2.73) and (11, 2.83) by using the values of Fz(s) and &,(s) from (5.10) and (5.12) for the (GO, N z ) model and from (5.14) and (5.15) for the ( N , , N,) model. 6. k-Class Priority Process

Generalization to more than two classes can be done as in Section IV, 7. However, the generalization for the head-of-the-line discipline presents greater algebraic difficulties than that for the preemptive discipline. For the preemptive discipline, the lower priority units do not have any effect on the higher priority units, and, in addition, the completion-time probabilities for the kth-class unit bear a simple relationship with the probabilities of the (k - 1)-class priority process. Both these simplifications do not exist for the headof-the-line discipline, and the generalization is therefore more difficult. I n the following, we discuss the k-class priority process assuming all sources to be infinite. I n doing so, we will require the results for the jth-class units in the k, k - 1,. . . , j class priority processes, and since, unlike in the preemptive case, these results depend upon the total number of classes under consideration, we denote the total number of classes as a superscript in parenthesis in the definition of busyetc. For period and occupation-time densities, e.g., y j k ) ( t ) ,Wjk’(t) similar reasons, we write w p in place of wic for the occupation time of the jth-class unit during the completion-time process of a k-class unit. Also, we follow the convention of using y j ( t ) for y y ) ( t ) .

6- 1 . Completion Time T h e completion time of a jth-class unit in the k-class priority process is initiated by the entry of ajth-class unit into service. After the service of this unit, all units of priority index less than j are serviced. Hence, the duration of the completion time of thejth-class unit is equal to the initial busy period duration for (j- I ) priority

146

V. Head-of-the-Line Priority Discipline

classes with the initial occupation time equal to the service time of the jth-class unit; thus,

fj(4=(,:4'i.

(6.1)

where y:-,(s) represents the Laplace transform of the initial busyperiod density for the ( j- 1)-class priority process with the initial occupation-time density Q ( t ) . Before proceeding further with the discussion of the completion time, the following may be noted: Consider the initial busy-period process for a j-class priority process with initial occupation time Q. This process can be regarded as in Fig. V.2. T h e process starts at

t--"'l,

73

72

Bl

,-ILc, -LCI --I

0 L1.2

-

L

C

84

I

FIG. V.2. Initial busy period of a j-class priority process.

t = 0 at 0 and up to A remains occupied, the density of the length OA being Q ( t ) . During AB, , let the units of class 1 t o j - 1 be serviced, so that at B , , ajth-class unit if present enters service. From B, , the process can be described as a sequence of completion times of the jth-class units, ending when there is no jth-class unit present at the termination of a completion time. Hence, whatever the priority discipline may be, we can regard the initial busy-period of thej-class priority process as a basic infinite-source model with parameters (Aj , rj) and having the initial occupation time density yy-, , the initial busy-period density for the (j- 1)-class process. Hence, .i',"(S)

= &[S

+ h,{l

~

E1(4}1

and y,*(s) = hIa(s) is given by (I, 2.26). From (6.1) and (6.2), we get

so that, p u t t i n g j

=

2, 3 ,..., we get E(fJ

=

E(bS,) =

v2 ~

1

-P1

( j 3 2)

(6.2)

147

6. k-Class Priority Process

and, in general,

Similarly, other moments can be obtained.

6-2. Busy Period Let us consider y k ( t ) , the busy-period density for the k-class priority process. Since all the classes are taken into account, we can use the same arguments as in Section IV, 7 for preemptive discipline to obtain Vk(s).We have

+

where Bk(s) is the root of the equation 01 = .?JAk(l - a ) s] lying inside the unit circle. We use (6.7) to obtain an easier expression for the completion-time density. From (6.2), p u t t i n g j = 2, we get

y,q)

=

&n[s

+ A,{1

-

(6.8)

B,(s))l

Using (I, 2.26), we can write (6.8) as yZn(s)= QIA1{l

-

+ &(I

&[s

so that, using (6.7) for k

=

Bz(s))])

+ s + A,{l

-

BZ(s)}] (6.9)

2, we get

yZR(s) = Q[s

+

y3W

+ 4{1

and, in general, = Q[s

Thus, using (6.1), we get

qs)

-

= y S3-1 j (s) =

SJs

-

Y,(s)}l

- y3(s))I

4-AJ-l{l

~

yj-l(s)}]

(6.10) (6.11)

(6.12)

the same result as we had for the preemptive resume discipline.

6-3. Joint Queue-Length Probabilities For the joint queue-length probabilities, while we can write the same results as in (IV, 7.26) and (IV, 7.27), the simple relationship a2 ,..., m I c , s) and r f ( a , , m2 ,..., a k P l ,s) that exists for between the preemptive resume discipline and is given by (IV, 7.30) does not

nC(cr,,

148

V. Head-of-the-Line Priority Discipline

exist for the head-of-the-line discipline. T h e completion-time process for this case can be regarded as an initial busy-period process of the type shown in Fig. V.2 with the following modifications: T h e initial occupation time Q = S , , the service time of the kth-class unit with whose completion-time process we are concerned. (ii) During the interval AB,, units of classes 1, 2, ..., k - 2 are serviced. (iii) T h e intervals B,B, , B,B, ,..., have random durations c/(-,. Now, to derive the joint queue-length probabilities during the completion-time process we observe that at any time t from the beginning of the completion-time cycle either (a) no completion-time cycle ck-, has been initiated, i.e., t lies in either O A or AB, , or (b) a completion-time cycle cI(pl has been initiated, in which case t lies in one of the intervals BIB, , B,B, ,.... For case (a), if t is in OA, the service of the kth-class unit is in progress, and units of 1, 2, ..., k 1 classes arrive and wait; if t lies in AB, , the service of the kth-class unit has been completed and a busy period initiated by units of classes 1, 2, ..., k - 2 which arrived during S, is in progress while units of the (k - 1) class accumulate. For case (b), on the other hand, let the current completion-time cycle clz+l be initiated at time t - T ; obviously, at t - T there are only units of the (k - 1)th class, and their distribution is the same as the distribution of the number of units at the service entry points of an initial busy-period process of the basic infinite-source model with parameters (Akpl , clc-l) and initial occupation time &*, and will be given by (I, 2.23) with appropriate substitutions. Further, at time t , the completion-time cycle cI,pl initiated at t - T is in progress, and the units of (k 1)th class which arrive in the interval t - T and t accumulate. Hence,

(i)

~

~

149

6. k-Class Priority Process

where i f ( k - - $ ) , S k ( a l ,..., , t ) denotes the probability generating function of the number of units of type 1 to k - 2 present at time t in a ( k - 2)-class priority process having initially the units of class 1 to k - 2 arriving during S, , the service time of the k-class unit. Thus, we can, in principle, evaluate if. and use it with (IV, 7.26) and (IV, 7.27) to obtain the joint queue-length probability generating function. However, this would require further investigation into the initial busy-period processes, and the derivation becomes considerably complicated. We may note that through Markov chain analysis, Welch [96] obtained similar recurrence relations for this model. For the finite-source model, recurrence relations have recently been obtained by Hodgson and Hebble [38]. Although general-process probabilities and steady-state results can be obtained, the results are quite complicated, and are not pursued further. 6-4, Occupation Time

T h e occupation-time density of the server with respect to kth-class units can be obtained in exactly the same way as it was for the preemptive discipline. T o obtain the occupation-time density of the server k ) we first obtain following the usual with units of class < j ( j argument, the density during the busy period:

<

g y y e , S)

=

~ y - y eS), + g(i,s) q q e , s)

(6.14)

where 9( 1, t ) is the probability that at time t a kth-class unit enters service, and ZL'p(0, t ) represents the Laplace transform of the occupation time density at time t with units of priority index j during the completion time of a kth-class unit. Again, we note that the completiontime process of a kth-class unit can be regarded as an initial busy-period process of the ( k - 1)th-class unit with the service time replaced by completion time, and with the initial occupation-time taken to be the initial busy period of the (k - 2)th-class priority process with the initial occupation time as the service time of the kth-class unit. Hence,

<

w c k ( e , S)

=

gck-s),sk(8,

S)

I50

V. Head-of-the-Line Priority Discipline

where f l j k - 2 ) , S k ( 0 , t ) represents the Laplace transform of the occupaj at tion-time density of the server with respect to units of priority time t in the initial busy period of a (k - 2)th-class priority process having an initial occupation time S,<.Furthermore,

<

T h e recurrence relation obtained above can be used in principle to obtain f l j . k ) ( B , s). However, the results are quite complicated. We study a very simple particular case of the above results: the case k = 3 a n d j = 2. For this case, we have, from (6.14),

Using (6.18), we get (6.20)

and, from Section IV, 7, we get for k

=

3, (6.21)

Hence, if Yz-L3)(0, t ) is the Laplace transform of the occupation time density of the server with respect to the first- and second-class

151

6. k-Class Priority Process

units at time t in the general process, we have, using renewal arguments,

If A,E(c3) < 1, i.e., CL, pi < 1, the limiting occupation-time density exists and its Laplace transform is given by

Note that @"i2)(0) for head-of-the-line is the same as &,(O) for preemptive resume discipline and is given by (IV, 3.26). Hence, using (IV, 3.26) and (6.20), we get

We note that in Chapter IV we derived the steady-state occupationtime density of the server with respect to the jth-class units by identifying the k-class process with a two-class process. For the headof-the-line case, the steady-state occupation-time density of the server with respect to thejth-class units will be derived below by identifying the k-class process with the three-class process, the results for which were derived above. T h e k classes can be conceived of as being composed of three groups-the first group consisting of 1, 2, ...,j - 1 classes, the second of t h e j t h class, and the third o f j + 1, j 2, ..., k classes. T h e first group can be identified with the first class of the three-class process by putting A, = Aj-l = Xi and 6, = yiP1 for the same reasons as given for the preemptive case. T h e second group is equivalent to the second class if we replace the (A,, c 2 , S,) by ( A j , c i , Sj). Finally, the third group can be identified with Xi and S3(x) with the third class by replacing A, with &+, AiSi(x)/ &+I h i . Hence, from (6.25), we have, by appropriate substitutions, the following:

+

&+,

(6.26)

152

V. Head-of-the-Line Priority Discipline

Differentiating (6.26) with respect to 8, we can obtain the moments;

(6.27)

(6.28) These results were obtained by Cobham [18]. For an interesting application of the above results to the analysis of some problems associated with a real-time multiprogramming system, the reader may refer to Chang and Wong [17]. T h e condition under which the above results are derived is EfSlpi -: 1. However, if pi > 1 but pi < 1 and pi 3 1, it can be proved that partial equilibrium exists, i.e., units up to the 1 to k classes j t h class experience finite delays, while units f r o m j experience infinite delays. A similar observation regarding partial equilibrium for preemptive discipline was made in Chapter IV. We may note here that partial equilibrium is inherent in all exogenous systems because of the state-independent nature of decision-making with regard to the selection of units for service. We have not attempted to investigate the system behavior under saturation conditions. A rigorous analysis of the system behavior under saturation conditions has been made by Kesten and Kunnenburg [52]. For a treatment of waiting time for a more general priority problem in which the priority index is continuous, the reader is referred to Takhcs [87]. Generalizations to more than two classes for finite-source models can be attempted in a similar way, but lead to much more complicated results.

xf=l

xi=,

+

7. Optimal Ordering of k Priority Classes t o Minimize Total Delay Cost

T h e problem considered in this section is the same as in Section IV, 8. However, the service times of each class are assumed to have arbitrary distribution. Following the same method as in Section IV, 8, we first consider the total delay cost for any ordering,

153

7. Optimal Ordering of k Priority Classes

say, 1, 2,..., 1, m, n ,..., k, and then interchange the priority indices of classes m and n. Note that for the head-of-the-line discipline as well the interchange does not affect the mean delay time of any class other than the classes interchanged. Therefore, the difference in total delay cost under the two orderings is just the difference between the delay costs of classes m and n under the two orderings. pi and XE(S2) = XiE(Si2), and let Let pi = hivi , a = K, and K, be the costs per unit delay time for classes m and n. Then, if the mth class is assigned higher priority than the nth, we get, from (6.27), by adding the mean service time so as to obtain the mean delay time,

x:=l

x:=l

where T(m, n) denotes the contribution to the total delay cost by units of classes m and n and X = hi . We now interchange the priorities of class m and n while keeping the priorities of all other classes the same. T h e contribution to the total delay cost by units of class m and n after interchanging the order becomes

zf=,

T(n, WZ)

=

Kn A

[ + 2(1 vn

~

hE( 5.2) a)(l - 01

-

-

pn)

1

Subtracting the sum of last terms of (7.1) and (7.2) from both T(m, n) and T(n, m) and dividing by E(S2),we get

1

2(1 - a

-

Pn)(l

-

a

- ~n

-~

n ]0

(7.3)

while T,(n, m) can be obtained from Tl(m,n) by interchanging m and n. Multiplying Tl(m,n) by the term 2(1 - a)(l

- 01 -

~m)(l a ~

-

pn)( 1

-

a

-~ r n ~ n ) ,

Hence, the mth class should be assigned higher priority than n if and only if 7’3(m,n )

-

T3(n, m) < 0

or KriiIvrn > Knivn

(7.7)

Thus, the optimal priority assigment is again in descending order of Ki/vi . ‘I’he method that we have followed above is due to Brosh and Naor [13], although the problem has been studied earlier by Cox and Smith [22]. We showed in Chapter I V that for the preemptive resume discipline, the K ! v policy is optimal only if the service-time distributions are exponential, but not for arbitrary distributions, while for the head-ofthe-line discipline, the K I Vrule holds good for arbitrary distributions. It can easily be shown that if the service durations of N units are known, the optimal policy to reduce the total delay cost of these N units is to service them in descending order of K/v. For the head-ofthe-line discipline, we use this policy at service entry epochs picking up that unit which has the highest Klv. However, for preemptive discipline, we may discontinue servicing a lower class unit by a unit of the higher class even if the value K,/E(S,”) for the lower class unit is less than the I< v value of the new higher priority unit, where E ( S i z ) denotes the expected remaining service time. For exponential service-time distributions, however, the Klv policy is still optimal, because the future expected service for the unit in service is independent of the elapsed service time. Thus, it appears that we may reduce delay cost if we can keep track of the elapsed service time of the unit currently in service and preempt only if the value of K,/E(S,”) at the time of arrival of a new unit is less than the K/v for the new arrival. l’hat this is so will be shown in the next chapter, where we study a

8. A Dynamic Programming Approach

155

discretionary priority discipline in which the decision to preempt or to continue the service of a unit in service depends upon the elapsed service time. For discussion of this problem see Fife [ lo ll. 8. A Dynamic Programming Approach to Optimum Priority Classification

From the previous section, it is obvious that if the delay costs for different classes of units are equal, the optimum ordering rule will be to assign priorities in ascending order of mean service-time requirements, the highest priority to the class with least mean service time. Thus, if there is only one class of units with parameters ( A , S),then one way of reducing the overall mean delay time is to classify the units into two groups: one consisting of units which require less than or equal to u units of time of service, and the other requiring more than (T units of time of service. T h e first group is then given priority over the second. Note that in order for this rule be practicable, the exact service requirement of a unit should be known upon its arrival. I n general, we may pick a sequence {ui} (i = 1, ..., k) such that 0 u1 u2 ... uk co, and give priority to customers having service time in the interval (ui, ( T ~ , ~to] those in the class (aj,( T ~ + if ~ and ] only if i < j . T h e question we attempt to answer is: Having decided to have (k + 1) priority classes, what is the choice of {ui}(i = 1, ..., k), which minimizes the expected waiting time? T h e results of this section are based upon a paper by Oliver and Pestalozzi [68]. Note that in this section, we are optimizing the overall expected waiting time rather than the delay cost as in the previous section. We define a i , p(ui) and S,(x) in the following manner:

< < <

< <

ai = JI(ui-l

, Ui) =

sci

S(x) dx

(i = 1 , ...,k )

(8.1)

(i = 1, ..., k )

(8.2)

(i = 1 ,...,k )

(8.3)

c;-1

p(ui) == A

and

1,"'

x S ( x ) dx

if 0 < x < if uz-l < x < uz if u, < x

156

V. Head-of-the-Line Priority Discipline

Clearly, ni is the fraction of customers belonging to the ith priority class; p(ui) is the utilization factor of all classes up to and including the ith; and S,(x) is the probability density of the service time for the ith class. From (6.27), the mean waiting time for the j t h class is

where a.

=

0 and

=

co. T h e overall expected waiting time is

We assume that AE(S) < 1, which implies p ( a j ) < 1 for all j. Noting that &hE(S2)is constant with respect to the choice of (a,,..., u k ) , we want to choose these latter variables so as to minimize

T h e reason this minimization problem is not trivial is that we have the inequality constraints 0 u1 u2 .-. a,< co. Thus, except when k = 1, we will have to use a more sophisticated optimization technique than the usual calculus method. I t turns out that, due to the above special character of the constraint set, dynamic programming is ideal for this problem. If the reader is not familiar with this method he may find it useful to consult either the book by Bellman [7] or by Bellman and Dreyfus [8]. Let us now consider the “general (k 1)-class priority problem” defined as follows. For customers with service-time requirements less than or equal to x, find the points (al,..., a,) such that (i) 0 u1 u2 ... u/,. x and (ii) Eq. (8.6) is minimized, where now the interpretation is that CT,<+~ = x (instead of 00). Let fi,+l(x) be the minimum value of (8.6). T h a t is,

< < <

+

< < <

< <

< <

8. A Dynamic Programming Approach

If Ekv,l(ul ,...,

a,)

157

denotes the minimum value of (8.5),then

-*

dk+l(‘l

>***, uk)

=$ ~ ( s 2 ) f k + l ( ~ )

(8.8)

Observe that &L?3(S2)fk+l(x)is the minimum expected waiting time for only those units with a service time requirement less than or equal to x. Suppose we fix ok at y(0 \< y x). Then the mean waiting time of the customers in the class (y, x] is

<

< <

<

<

Now, we choose 0 \< u1 u2 uk-l uk = y so as to minimize the expected waiting time of customers in the class (0,yl. By definition, this minimum has the value &hE(S2)fk(y).Hence, by following the above procedure, i.e., fixing yk at y and choosing u1 ,..., u,-~ optimally, the expected waiting time of all the customers in the class (0,x] is (8.10)

We now note that $ h E ( S 2 ) f k + l ( xis ) the minimum of expression (8.10) over ally in the range (0, x), whence we obtain the functional relationship

This last remark follows from the facts that: (i) T h e expected waiting time of the class (y, x] is the same irrespective of the priority classification scheme in (O,y] as long as we have no preemption. (ii) If ( u f , o;, ..., u z ) solve the general ( k + 1)th-class priority problem, then (of,u z , ..., u$-~)solve the general k-class priority This is the “principle of optimaiity” problem for x = .0; typically involved in all dynamic programming solutions. I n particular, for k f2(.)

=

2,

=

min gdy, x)

O
=R

d 4 , ).

(8.12)

158

V.

Head-of-the-Line Priority

Discipline

where

Clearly, since Now, if J" S ( t )dt and J" S ( t )dt are both strictly positive, then it can be show; that gl(y, x) fi(x). Otherwise, g,(y, x) = fl(x). Hence, if J" S ( t )dt is positive and the service-time distribution is continuous, the: a,*, the unconstrained minimum of g(y, x), is assumed to be between 0 and x and is given by

2

Let us define ul(x) = 1

and

+ AX j: S ( t )dt t S ( t )dt

a(.)

=

a

j5S ( t )dt 0

~

p(x)

P(XI

-

A

1"

(8.14)

(8.15)

S ( t )dt

0

where u(x) is the conditional mean service time of customers having service times in (0, x). T h e equation (8.13) defining u: can now be written as

For any given x we can solve (8.16) for u f , which is the optimum classification point. For the "general k-class problem," we can write, following our earlier notation, the general functional equation (8.11) as

8. A Dynamic Programming Approach

159

As before, u$, the minimizing y , is given by the equation

dgk(Y7 4 dY

=0

(8.18)

We define v(y, x) such that (8.19) Thus, (8.20)

and (8.18) can then be seen to be (8.21) and u$ solves Eq. (8.21). Now,

so that

(8.22) using the fact that ‘T$-~(X) solves (8.21) for (K - 1). We have also used the property that for any function +(y,x) such that +(y,x) = -+(x, y ) ,

3;Yl

aY

ax

(X.d

Equations (8.21) and (8.22) together imply that

%(Y)

-

U(Y,4

=

0

uz

is the solution of

(8.23) (8.24)

160

V. Head-of-the-Line Priority Discipline

Knowing O ~ - ~ ( for X ) all x, we can compute the function uk(x)from (8.24). This in turn specifies the equation (8.23) completely, so that

the solution ( T ~ ( Xcan ) be obtained for all x. Thus, starting from which is computed from (8.16),we can find o&x) for all k and x. Reference is made to the original paper by Oliver and Pestalozzi [68] if a more rigorous presentation of the preceding results is desired. I n that paper, it is further shown that the sequence {uk(x)}is monotonic nonincreasing and is bounded below by 1. T h e limiting properties as k tends to infinity have also been studied in that work. Iff(.) is the limit O f f k ( X ) as k + 00, then

a,*(x),

T h e minimizing y satisfies the equation U(Y) -

4 Y , ).

=

0

(8.26)

where u(y) = 1imk+ uk(y)= 1 for y > 0. Hence, the root of the equation (8.26) is x. I n other words, this solution simply says that every time we select for service the customer with the minimum service-time requirement. This latter result has also been obtained by Phipps [72]. Example. Exponential Service Time Let S ( t ) = (l/v) exp(-t/v) and h = 1. This can be done by an appropriate choice of the unit of time. We classify the customers into two groups, one having service time less than or equal to dv, and the other consisting of the rest of the customers. T h e optimum 4 is given by 1 - -1+V

e-4

4-1