By
Nancy Hubing
CENTER FOR COMMUNICATIONS AND SIGNAL PROCESSING
Department of Electrical and Computer Engineering North Carolina State University
Raleigh, NC
June 1984
HUB lNG, NANCY ELLEN. An Approximation for the- Average Wait-ing Time in a G/G/c Gueue. (Under the direction of Arne Nilsson. )
It is .xtremel~ difficult to solve for the exact aver-age w.iting time in • ~ueue with general service and interarrival time distributions. Since many types of dis-tributions occur in computer networks. it is important to have accurate solutions to g.neral ~ueueing systems. Lim-ited tables of exact waiting times 1n ~ueues with certain complex distributions have been pUblished (3). The tables were derived using lengthy computer programs and excessive amounts of computer time.
Because of the limitations and difficulties involved in using such tables, several approximations have been sug-gested (11, 13). This work presents a new approximation in which the average waiting time in a ~ueue with general ser-vice and interarrival time distributions 1s computed based on the waiting times 1n less general ~ueue5. Application of this new approximation re~uir.s the use of a short computer program and a minimal amount of computer time. The
result-ing accurac~ exceeds the .xi~ting approximations in most
TABLE OF 'CONTENTS
Page
LIST OF TABLES. . . v
LIST OF FIgURES. . . .. vii LIST OF SYMBOLS. . . .. vii i I. INTRODUCTION. . . 1
II. BACKGROUND AND ASSUMPTIONS. . . ~ A. The QIG/c Queue .. '. . . . 5
B. Service ana Interarrival Time Distributions... 6
1. Exponential Distribution... 6
2. Deterministic D i s t r i b u t i o n . . . 8
3. Erlangian Distribution... 9
4. Other Distributions... . . . 11
III. EXISTING APPROXIMATIONS FOR WG/G/ c . . . 14
A. Heav':l-Traffic Approximation... 14
B. Sakasegawa:'s Approximation. . . 16
C. Pag e:' s Approximation. . . 1:7
D.
Diffusion Approximation. . . 18E. Comments... . . . 20
IV. THE NEW APPROXIMATION · · · . 22
A. Deriving the Coefficients · . . 22
B. M/G/c Approximation... 29
C. G/M/c S o l u t i o n . . . 31
D. Resu1ts · · . · · · . · . . . . 32
V. COMPARISONS · . · · · . · . · · · . . . 35
VI. CONCLUSION · · · . · · 49
VI I. REFERENCES · .. · · · . · · · .. · . 51
VIII. APPENDICES · · . · . · .. · .. · . . . ~3
Appendix I. Appendix II.
Notation · · · .. · · .. · · · . A Fortran Program for the
New Ap pro x imat ion. · · · . · · · . · · . · · ..
LIST OF TABLES
Page 1. Heavy-TraF~ic Approximation For E
3/E2/2 Queue... 15
2. Sakasegawa's Approximation For E
a/E
2/2 Queue. . . .. 163. Page~s Approximation For E 3/E2/2 Queue. . . .. 18
4. Bell Lab~s Approximation (16) Tor E 3/E2/2 Queue. . .. 21
5. Exact Mean Waiting Times (units af service time) ... 23
6. Error in Assuming A=-O.11091 B=O.?483 in E 3/E2/2... 24
!J. The Caef fie i ent S 0 of Ect. 23, A ( m, k, c) and B ( m, k, c ).. 25
8. Error in Applying Eq_ 30 to M/Ek/c... 31
9. The New Approximation Tor E 3/E2/2 Queue. . . .. 33
10. Waiting Time Errars in 2/2/1 Gueue far New, Page, .nd Sakas.gawa Approximations.... . . .. 36
11. Waiting Time Errors in 4/2/1 Gueue... 36
12. Waiting Time Errors in 16/2/1 Gueue... 36
13. Waiting Time Errors in 2/2/2 Queue. . . .. 3~
14. Waiting Time Errors in 9/2/2 Gueue. . . .. 3~
15. Waiting Time Errors in 2/2/3 Queue. . . .. 3v
16. Waiting Time Errors in 3/2/3 Gueue. . . .. 38
1~. Waiting Time Errors in 2/2/4 Gueue. . . .. 38
18. Waiting Time Errors in 9/2/4 Gueue. . . .. 38
19. Waiting Time Errors in 2/2/5 Gueue. . . .. 39
20. Waiting Time Errors in 9/2/5 Queue. . . .. 39
21. Waiting Time Errors in 2/2/8 Gueue. . . .. 39
22. Waiting Time Errors in 3/2/8 Gueue. . . .. 40
Page
24. Waiting Time Errors in 16/3/1 Queue . . . 40
2~. Waiting Time Errors in 2/3/2 Gueue . . . 41
26. Waiting Time Errors in 4/3/2 Gueue . . . 41
27. Waiting Time Errors in 2/4/1 Gueue . . . 41
28. Waiting Time Errors 1n 4/4/1 Gueue . . . 42
29. Waiting. Time Errors in 9/2/1 Gueue . . . 42
1. 2.
LIST OF FIGURES
Page
The G/G/c Ciueue .
Exponential Distribution (pdf) .
3.
4.
5.
K-Stage Erlangian S&rvice Time Distribution
Representation .
K-Stage H~perexponential Service Time
Distribution Represent~tion .
c*B vs. c Holding m and k Constant .
10
13
6. X Error vs. p Tor 2/2/1 Queue ~or
New. Page. and Sakasegawa Approximations. . . .. 44 7. Log(~ Error) vs. p Tor 2/2/4 Queue . . . .
8. Log(~ Er-ror) vs. p Tor 2/2/8 Queue . . . . 9. L09(~ Error) vs. p Tor 9/2/2 Queue . . . . 10. Log(i' Error) V5. p 'for 16/3/1 Queue . . . . 11. Log(" Error) vs. p For 4/3/2 Queue . . . . 12. Log(i' Error) vs. p For 4/4/1 Queue . . . .
LIST OF SYMBOLS
c
=
number of parallel servers in a ~ueueing system 2cx
=
squared co.~Tici.nt oT variationk • number of Erlangian stages in service time process
x
=
rate o~ arrival OT customersm = number of Erlangian stages in interarrival time process
~ = rate o~ service o~ customers
p
=
server utilizationa 2
=
variance o~ the random variable x xt = time
WAITING TIME IN A GIG/c GUEUE
I. INTRODUCTION
Standing in line at a grocery checkout or • bank teller window .re examples of the common experience of waiting in line for a service. In a similar manner messages are queued in a computer network until a particular service can be rendered. The ~ueueing dela~ encountered b~ a message is often used as a measure of the performance of the network. It is important to have an .ccurate value for the average time a message spends waiting at each ~ueue in the network so that network performance can be evaluated.
falls within the given ranges. If the system is not within the given ranges, the tables cannot be used to obtain accurate values of waiting time. This limitation of the
tables prevents their use in some instances.
Another difficulty encountered in using tables of exact waiting times is that they cannot be easily incorporated into a computer program for solving ~ueueing networks. In evaluating and comparing computer networksl i t is desirable to have a simple and accu!ate approximation for waiting time that can be incorporated into such a program. Because of the limitations inherent in using tables of exact values, several approximations Tor average ~ueueing times have been suggested and evaluated (11, 13).
The new approximation is based in the often-used concept of combining the ~aiting time solutions of less general ~ueues to approximate the waiting time in a general
~ueue. The two less general svstems that ~ill be used are
th~ G/M/c and M/G/c ~ueues. (An explanation of this notation may be found in Appendix I). The approximation is of the form
( 1 )
where W() represents the average waiting time in the
indicated ~ueueing system. A and B are functions of the parameters of the G/G/c ~ueue. In this work examples will be limited to systems with Erlangian distributions (Em/Ek/c systems) .
In section II some basic ~ueueing theory will be discussed including common service and interarrival time distributions for ~ueueing s~stems. Several existing approximations are described in section III, including the Heavy-Traffic approximation, the Diffusion Approximation,
and Sakasegawa:'s Approximation Page:' s
( 13).
Approximation The accurac'A
( 11 ) ,
and ease of application of each approximation is discussed.
Section V comparisons are made between the new and existing approximations based on accurac~ and ease of application.
The conclusion ~ummarizes results and pr@sents possible areas of future research for this t~pe of approximation. Appendix I ~xplains notation and Appendix II contains a
II. BACKGROUND AND ASSUMPTIONS
A. The QIG/c Oueue
The ~ueueing system this work examines is modeled as shown i n fig. 1. The ~ueue is of infinite length and is served on a first-come, first-served basis by the c identical servers. If any of the c servers are idle then the customer at the head of the ~ueue (if any) begins service immediately.
C 8ervers
arriving
customers
~
que u e
dcrnrting cust8mers
Custome~s arrive according to a general distribution of the time between arrivals <inter.rrival time). This general dist~ibutlon can be of an~ form, and several of the more useful forms will be discussed. The service time for a customer by one of the c se~vers is similarly described by a general distribution. A customer departs the system as soon as service is completed.
The exact solution for average waiting time in the
~ueue of fig. 1 is not known. Exact solutions can be found for certain less general distributions such as those that will be described next.
B. Service and Interarrival Time Distributions
1. Exponential Distribution
The ar~ival of customers to a ~ueue is described by a Poisson process, if the probabilit~ of k arrivals in any
interval of length t can be expressed as follows;
( 2 )
where A is the customer arrival rate. For a Poisson arrival process the time between adJacent arrivals is exponentially distributed. The probabilit~ density function (pdf) for an
--- t
Fig. 2. Exponential Distribution (pdf)
When describing distributions of random variables, it is helpful to define the s~uared coefficient of variation
2 2 2 c =-a /m
x x (3)
where a is the standard deviation an~ m is the m~an OT the
x
random variable. For the important case of the exponentially distributed random variablel C 2=1. For other
x
distributions the value of the coefficient of variation indicates important properties of the random variable.
greatly simplifies dis tr ib ut ions.
calculations involving exponential
The service time in a queueing s~stem can also be exponentiall~ distributed ~ith a pdf written
(4)
where ~ is the ••rvice rate. When both th. service time and interarrival tima are exponentiall~ distributed (MIMic
~ue~e), the queueing system can be solved for the exact average waiting time (8, ~). A ctueueing system with interarrival time described b~ a general distribution and exponentially dist~ibuted service times (G/M/C) can also be solved exactl~ (14), i f the Laplace transform of the distribution function of the arrival process can be found. However, if the service time is a general distribution and the interarrival time is an exponential distribution
(M/G/c), no straightforward solution for average waiting time is known. In this case various accurate approximations for average waiting time have been found (12).
2. Deterministic Distribution
variable the variance is zero so the 5~uared coefficient of variation is zero. A ~ueue with constant service time and expon&ntiall~ distributed interarrival times (MID/c), can be solved for the exact .verage waiting time (12).
3. Erlangian Distribution
The k-stage Erlangian service time distribution has a pdf of the form
(5)
where ~ is the service rate and k is a positive integer. This type of distribution is commonly observed in actual ~ueueing networks.
reduces to
Notice that for k=l the distribution
-lit
F (t)=~e ~
s tLO (6)
which is the same as the distribution of e~. 4.
exponential service time
The k-stage Erlangian distribution is often represented by exponential servers as shown in fig. 3. The server consists of k exponential servers in series, each with a service rate o~ k~. Only one customer at a time can be
SERV2R
queue 1st stae;e kth stage
Fig. 3. K-stage Erlangian Service Time Distribution Representation
As k approaches infinity, the time spent in service approaches the constant 1/1J.. Thus the Erlangian distribution can be used to represent both the exponential and the deterministic distributions b~ adJusting the number of stages, k. Many other useful distributions can be described for the integer values of k>l.
The m-stage 'Erlangian interarrival time distribution is of the form
(7)
having Erlangian interarrival time and service time distributions (Em/Ek/c) can describe all queues
Or
interest in the ne~work. For this reason the Em/Ek/c queue will be used to demonstrate examples in this work.The variance of a r~ndom variable described by an Erlangian distributiQn is
where m is the mean and r 1s the number of stages. Thus the
s~uared coefficient of variation is l/r. Since r is a
positive integerJ c 2
x is an element the set
{I, 1/2,1/3,1/4, ... } for the Erlangian distribution.
4. Other Distributions
The Gamma distribution is a generalization of the Erlangian distribution with a pdf of the form
(9)
where a and S are both real and positive and r<S) is the gamma function
co
f
B-1 -y r(S)= y e dy .o
When S is a positive integer eq. 9 reduces to the dIstribution of eCl. ~.
(10)
The s~uared coefficient of variation for the gamma distribution is l/S. Since B can be any real positive number, the coefficient of variation can also be any real
positive number with this distribution. Therefore the gamma distribution can describe random variables f'or any C 2>0.1
X
(11)
whereas the Erlangian distribution can onl~ describe random variables with O<c 2<1. The gamma distribution is more
x
-general and more complex than the Erlangian distribution, but in many practical c.s •• th. Erlangian distribution is sUTficient to .ccurat.l~ de.cribe th. ~andom variable.
Sometimes the distribution of a random variable is best described by a mixture of exponential distributions. The hyperexponential service time distribution is of the form
k
-V·
x~(x)= E ~.~.e 1
i= 1 1 1
where
~i
is the service rateOT
the it h exponential server and ~. is the probability that a customer will visit that1
server. Fig. 4 shows the exponential server representation of the hyperexponential distribution. One customer at a time enters the box and is served by the it h server with probability ~. be~ore departing the box.
1
The squared coeTFicient oF' variation For the hyperexponential distribution is always greater than or equal to on~~ and is a function
OT
the service rates and probabilities ~. ( 8 ) .1
SER\r]~R
Fig. 4. K-Stage Hyper.xponential Service Time· Distribution Representation
III. EXISTING APPROXIMATIONS FOR W G/G/c
A. Heavy-TraFFic Approximation
as
p=X/(c~) (12)
where ~ is the arrival ~ate and ~ is the .ervice rate OT one
s~rictly less than on. to pr.s~rv. stability)A the system is said to be in a heavy-traTFic state. For the single server (G/G/l) heavy-traFTic case it has been shown (6) that
2 2
W=X(a +a )/(2(1-p»
a s (13)
where a 2 is the variance oT the interarrival time and
a as
2
is the variance oT the service time. It has also been shown (6) that the upper bound on the mean waiting time in any G/G/l queue is the right hand side OT eq. 13.
For the G/G/c heavy-traFTic .stablished (9) that
2 2 2
W=X(~ +a /c )/(2(1-p» ·
a s
case it has
(14)
been
Since so little is known about the G/G/c queueJ this
not proven that eq. 14 is an upper bound on the mean waiting time in any G/G/c queue.
Using eq. 14, eq. 11, and th. deFinition oT coeTTicient
OT variation we obtain
2 2 : 2 2
W=pc(c /(pc) +c /c )/«2(1-p»
a s (15)
Tor the h.avy-traTTic .ssumption. We also know that Tor a Em/Ek/c queue c
a2 cl/m and cs
2=1/k. Table 1 contains exact mean waiting times ~or various values o~ p in the E
3/E2/2 queue~ and the Heavy-TraT~ic approximation (eq. 15) Tor this queue. Obviously this simple approximation can only be applied when p is very close to one. Un~ortunately this is rarely the case in practical networks.
p 0.3 0.5 0.7 0.9 0.95 Exact Average Waiting Time(3) 0.01180 0.07914 0.31361 1.6670 3.7425 Heavy-TraTTic Approximation 0.45040 0.45833 0.68849 2.0509 4.1294 ~ Error 3716.9 479.1 119.5 23.0 12.1
Table 1. Heavy-TraTTic Approximation Tor E
B. Sakasegawa~s Approximation
A simpl. approximation For the mean waiting in the
(16)
where
p_(~(C+l»O.5.
This approximation overestimates the average waiting time but improves in accuracy as p increases. Table 2 shows th~ av.rage waiting time in the E3/E2/2 ~ueue as giv.n by Sakasegawa~s approximation. This approximation produces better estimates Tor the average waiting time than the Heavy-TraFTic Approximation <table 1). Sakasegawa~s Approximation is very easy to apply and can be used in rough analysis when high accuracy is not important.Exact Average Sakasegawa's
p Waiting Time(3) Approximation " Error
0.3 0.01180 0.05197 340.4
0.5 0.07914 0.15256 92.8
0.7 0.31361 0.41410 32.0
0.9 1.6670 1.7883 7.28
0.95 3.7425 3.8681 3.36
Table 2. Sakasegawa~s Approximation Tor E
c.
Page's ApproximationAn interesting approximation For the average waiting time in a Em/Ek/c queue was derived by Page (11) and involves combinations oT the waiting times in less general queues.
WEm/Ek/c·(1-1/m)(1/k)WD/M/c+
+(l/m) ( l - l / k )W
M/D/c+(l/m) (l/k )WI"I/M/c (17)
To obtain this approximation the va~iou5 combinations of the limiting values of m and k were examined as follows:
m=l, k=l
=>
WEm/Ek/c=wM/M/cm=l, k~CO
=>
WEm/Ek/c=WM/D/c m~co~ k=l:::::>
WEm/Ek/c=WD/M/c m~a::>' k~co=:>
WEm/Ek/c=WD/D/c=O(18a)
(lab) (18c)
(lad)
Eq,.lv is exact foT' all of the limiting cases of eqs. 18.
The three ~ueues D/M/c, M/D/c, and MIMic can all be solved for the exact mean waiting time (12). The solutions faT' the D/M/c and M/D/c ~ueues _re rather complex, so it might be easier to use tables of exact values for these Clueues when applying eq. Iv. Page:'s approximation has been tested for values of m and k other than the limiting cases. Table 3 compares exact values of mean waiting time with
Page~s Approximation Tor the E
e q. lv.
The approximation tends to overestimate the average waiting time but improves Tor larger values oT p just as in
the Heav~-Traffic and Sakasegawa Approximations. the accuracy of Page:'s Approximation is much higher.
However, Page:'s Approximation (eq. lv) is one of the most accurate available in the literature for estimating the mean waiting time in multi-server queues.
difficult to apply.
The only drawback is that i t is rather
D. Diffusion Approximation
Another approach to solving for the average waiting time is to approximate the stochastic processes themselves (the arrival and departure processes). Basically the diffusion approximation replaces the discrete ~ueueing
process by a continuous one in such a way that the important
Exact Average Page:'s
p Waiting Time(3) Approximation ~ Error
0.3 0.01180 o. 02r729 131.3
O. 5 O.OV914 O. 10665 34. 8
O.rl 0.31361 0.35095 11.9
0.9 1.66~0 1.7121 2. r71
0.95 3.~425 3.v856 1. 15
Table 3. Page's Approximation Tor E
characteristics of the discrete process are retained (2).
Let N<t> be the number of customers in the queueing system at
at time t.
time t~ and P ( t ) be the probability that N(t)=n
n
The diffusion approximation involves replacing the discrete valued variable N<t) with the continuous variable
xce
»,
The density function of X(t), f(x, t)=
P<~~X(t)~x+dx>~ will be used to r.cover estimates of P ( t ) .n
If X<t) behaves as a diffusion process, then f(x) obeys the steady state Fokker-Planck e~uation
where m(x) and C12(x) ar~ the inFinitessimal mean and
variance of th. diffusion process (10).
To appl~ the diffusion e~uation (eq. 19) to multi-server queueing systems involves the determination of appropriate choices For m<x) and a2<x). One possibility (2)
is
m(x)
=
A-min(x~c)~ x~Oa2<x)
=
X3a 2 + min<x~c)~3a 2a s x~O (20)
where l/A and 1/~ are the mean interarrival time and mean service time and C1
a 2
The solution of e~. 19 involves the application of several boundary conditions and will not be discussed in detail (see 1~ 2~ 10). P
n can be recovered by the discretization process
n+.5
pn
=1
T(x)dxn-.5
after f(x) is known (17).
(n=l~ ~~ . . . )
Using the procedure for solving }or f(x) in (2) yields results Tor the Em/Ek/c queue which are usually as good or better than Sakasegawa~'$ Approximation. By using an additional condition not used in (2), results were obtained
in (10) which were almost as good as Page:'s Approximation.
Like all of the approximations discussed, the diffusion apprOXimation gives very good results ~or p close to one but
decreases in accuracy For decreasing p. Current and ~uture
research on the diffusion approximation for multi-server ~ueues is expected to produce even more accurate results.
E. Comments
Most simple approximations for the mean waiting time in the Em/Ek/c queue are based on heavy-traf'f'ic limit theorems and yield results with fairly high errors.
apprOXimation is of the form
One such
and is currently used in a software package developed at Bell Labs for their Gueueing Network Anal~zer (16). The perFormance of eq. 21 For the E
3/E2/2 queue is shown in tab Ie 4. This approximation performs slightly better than Sakasegawa~s Approximation (table 2) For the E
3/E2/2 system. The accuracy of the Bell Lab:'s Approximation decreases rapidly with increasing values of k or m. Sa ka segaUJa:' s
These three Approximation outperforms the Bell Labs Approximation in these cases.
Looking back at tables 1, 2, and 3 gives a good idea of the general performance of the Heav~-Traffic, Sakasegawa, and Page approximations Tor Em/Ek/c queues.
approximations will be used in the following sections to evaluate the accuracy of the new approximation for various
(e·xact) (approx.
p WM/M/2
WE3/E2/2 WE3/E2/2 :i:: Error
0.3 0.0989 0.0118 0.0412 249.2
O. 5 O. 3333 0.O~91 O. 1389 ~5. S
O.v 0.9608 0.3136 0.4003 2~.6
0.9 4.2632 1. 66VO 1.vv63 6. 56
Table 4. Bell Lab~s Approximation (16) For E
IV. THE NEW APPROXIMATION
A. Deriving the Coefficients
The new approximation for the G/G/c ~ueue presented in this work is of the form
(22)
where A and B are functions of the ~arameters of the G/G/c ~ueue. Erlangian distributions will be used for the interarrival and service time distributions to determine A and B so e~. 22 becomes
(23)
l&Iher e A and B a-r e fun c t ionS 0f m, k, and c .
Tables of exact values of mean ~ueue lengths for Em/Ek/c queues have been published (3). The mean waiting time can easily be obtained from the mean ~ueue length using Little:'s formula
W
=
L/pc. (24)Using these tables A and B can be determined for various values of m, k, and c.
As an example let us examine the E
Tor WE3/E2/2' WM/E2/2, and WE3/M/2 Tor a range oT values OT p~ the server utilization. In order to solve Tor A and B ~or the E
3/E2/2 queue~ choose two reasonable values
Or
p~ such as p=O.6 and p=0.9. The exact mean waiting times Tor these values o~ p Tor all three queues OT eq. 23 are listedin Table 5.
From table 5 and eq. 23 we obtain two equations in the
t~o unknowns, A and B
0.16059
=
A*O.428~6 + B*O.2v8141.66~O
=
A*3.20~3 + B*2.~030 .Solving for A and B gives
A=-O.1109
B=O.~483
for m=3, k=2, and c=2.
(25)
p
0.6 0.9
WE3/E2/2 O. 16059 1. 66vO
Wf\I/E2/2 O.428t76 3.20:73
WE3/M/2 0.2:7814 2.t7030
Next we must check to be certain that A and B do not vary too much with p For the E
3/E2/2 system. To do this we use the calculated values of A and B in eq. 23 for other values of' p. Table 6 lists the error in assuming these
values of A and B For a range of values of p in the E
3/E2/2 system.
By examining table 6 i t appears that given A, B, and
the exact value-s Tor WM/E2/2 and WE3/M/2J we can accurately approximate
WE3/E2/2· For p>O.~ the error in this approximation is less than 1~. For p<O.3 the error is larger, but these small values of server utilization are rarely of concern in practical multi-server systems. The small waiting times'encountered when p<O.3 add l i t t l e to the overall delay of a customer.
The next step in developing the new approximation is to repeat the calculations of A and B Tor other Em/Ek/c queues.
(Approx eq.23) (Exact)
p WM/E2/2 WE3/M/2 WE3/E2/2 WE3./E2/2 ~ Error
0.3
o.
0~709 0.02466 0.00991 0.01180 16. 00.4 O. 14:715 0.06603 0.03310 0.03460 4. 3 O. 5 0.25564 O. 1425:7 0.0:7834 0.0:7914 1.0
0.:1 O.r7285:.7 O. 52808 0.31438 0.31361 O. 25
O. 95 6.9526 6.0258 3.v381 3.t7425 O. 12
Table 6. Error i n AsslJm i ng A=-O. 1109J B=O.7483 in E
We wish to obtain A(m, k,c) and B(m, k,c) for a wide range of values of m, k, and c. Once this is done we will attempt to formulate equations for A and B in terms of m, k, and c. Using these equations and exact or ~pproximate values for "I M/Ek/c
WEm/Ek/c·
and WEm./M/c
~ we will be able to approximate
Using e~s. 23 and 24 and the tables of exact mean waiting times (3) table
v
was compiled. For all entries p=O.6 and p=O.9 were the values used to solve For A and B ineq. 23. For other values of p errors similar to those shown in table 6 were obtained. In general, for the larger values of c (the number of servers) the error in assuming A and B
m k c A(m,k,c) B(m, k, c) m k c A(m,k,c) B(m, k, c) 2 2 1 -0. 1~O9 0.836:7 2 2 5 -0.0622 0.~2945
3 2 1 -0. 16t76 0.8120 3 2 5 -0.0:782 0.t71196 4 2 1 -0. 1650 0.17958 4 2 5 -0.0:789 0.69215 16 2 1 -0. 1560 0.v44t7 9 2 5 -0.0t722 0.64102 2 2 2 -0.0966 0.17629 2 3 1 -0.2348 0.v6308 3 2 2 -0.1109 0.v483 3 3 1 -0.2258 O.v2356 4 2 2 -0.1123 0.t7326 4 3 1 -0.2191 0.69~24
9 2 2 -0. 108;7 0.6923 9 3 1 -0.2033 0.63834 2 2 3 -0.0:750 O.t7415 16 3 1 -0. 1953 0.61058 3 2 3 -0.0924 0.:72:7:7 2 3 2 -0. 1264 0.66726 2 2 4 -0.0660 0.t7328 3 3 2 -0. 1438 0.64199 3 2 4 -0.0834 0.~1~8 4 3 2 -0. 1435 0.61696 4 2 4 -0.0848 0.6994 2 4 1 -0.2666 0.:72085
9 2 4 -0.Ot196 0.6518 3 4 1 -0. 252v 0.6:7183
were independent O~ p was largest. This might have been expected since the waiting time in those 5~$tems is smaller than in a system with Tewer servers Tor a given value OT p. In practical networks containing Em/Ek/c queuesJ we would
expect that a system with ~ servers could operate at a higher value OT p than a system with 1 server. Since the error in applying e~. 23 seems to always decrease with increasing pJ we shall not be concerned that systems with a larger number of servers have slightly higher errors.
Now table
v
must be used to attempt to derive e~uationsfor the coefficients A and B. The e~uations we derive will only approximate A and B
introduces error which approximation.
~or each Em/Ek/c queue. This will be reflected in the new
In an attempt to discover some kind of a pattern in the A and B values of table V, numerous graphs were plotted. The method used was to plot A (or B) as a function of one of
the three variabiesl while holding the ather two variables constant. The resulting graphs were examined for a linear or exponential pattern of some kind. Since so much trial and error was involved, tbere is no need to go into great detail about the derivation of the e~uations for A and B. Obviously any e~uations derived in such a way will not be
between complexity of the e~uations and the accuracy with which the e~uations describe the data of table ~.
A brief description of the derivation of the e~uation for SCm, k, c) will be presented. Numerous plots were
examined but one in particular stood out as a good starting point in determining an e~uation. The graph of BCc) holding m and k constant looks like a llc type curve in all cases. To check this, a plot of c*B vs. c was drawn for k=2 as shown i n fig. 50 Similar plots were drawn for k=3 and k=4.
c
5
'-3/2/c
4/2/c
9/2/c
4
3
2
2
cB 4
3
From fig. 5 lAle can write
or eQ.uivalently
(26)
where T (mJk) is thes slope and T.(mJk) is the y-intercept o~ 1
the lines in fig. 5. Now the problem of determining an equation ~or B is reduced to Finding equations For
and T.(mJk). Since this involved a similar trial and error
1
approach, no details will be presented. The approximate set of equations Tound Tor T (mJk) and T.(mJk) was
S 1
2
T (m~k)=O.le-(m-l) /16+e-k/4 s
2
T.(m~k)=O.41e-(k-l0) /50
1
(27)
With a similar approach for deriving an e~uation for AI
we finally obtain
A=- ( 1-1/ k ) e xp { - (1-1/m ) [ ( c /10+ 1. 1) / ( m-l ) +3-2/ c ] }
2 2
-(m-l) /16 -k/4 (0 41/ ) -(k-10) /50
B=O . 1e +e + . c e
(28)
(29)
solutions to W
Em/M/c and WM/Ek/c so that the application o~ the approximation will not involve the tables (3). This will be done in the next two sections.
B. M/G/c Approximation
It is difficult to obtain exact results for the M/G/c
queue so a good approximation will be used to test the new a p pro x imat ion. Any error in the M/G/c approximation will be reflected in the new approximation by reducing the accuracy.
Page~s Approximation (11) for the Em/Ek/c queue (eq.
Iv) can be reduced to an very accurate approximation for the M/Ek/c queue by setting m=l
(30)
Since the new approximation will only be tested Tor Em/Ek/c queues~ this approximation Tor ~IM/Ek/C could be used if' it is highly accurate. We must keep in mind that the error in the new approximation will be increased by any error in the approximations Tor A~ B~ WM/Ek/c~ and WEm/M/c.
and W
M/ M/c can be accurately obtained~ straightforward to incorporate eq. 30 into a testing the new approximation.
If" WM/D/c
it would be program for
there being any number o~ customers in the system. The
probability of an idle system, P (0), is calculated by
summing all of the probabilities and setting the sum equal
to 1. The mean ~ueue l~ngth can be written
L
q
c+l 2
=
P(O)(p /c)/(c!(l-p/c» (31)We know W=Lq/pc so once P(O) is known} eq. 31 can be used to obtain WM/M/c .
The exact mean waiting time in the MIDlc ~ueue is more difficult to obtain and a lengthy derivation can be found in (12) . Since e q. 30 is an approximation, there is no need to have a more accurate value For W
M/D/c' We will use the
approximation
WM/D/c
=
Wt'l/M/c <1+(1-p)(c-1) [(4+5c) · 5_;n/(16pc»-/2
Now that we have equations For WM/M/c and W
M/D/c' we
can t est eQ.. 30 for aceu ra cy . Table 8 sh curs that e q. 30 is indeed highly accurate ~or a range o~ values o~ pJ kJ and c.
This appears to be the most accurate approximation for W
M/ Ek/c available in the literature so it will be used -For
testing &Q.. 23. The tables of exact values (3) would yield
Exact Approx.
p k c WM/Ek/
c WM/Ek/c
x
Error0.4 2 2 O. 14t72 o. 146!7 0.34
O.v 2 2 O.t7286 O.v262 0.33
0.9 2 2 3.20~3 3.2038 O. 11
0.3 4 1 0.26:79 0.26:79 0.0
O.rJ 4 1 1.4583 1.4583 0.0
0.9 4 1 5.625 5.625 0.0
0.3 2 5 0.004V6 0.00488 2. 5
O. rl 2 5 O. 194!7 O. 1935 0.62
0.9 2 5 1. 1533 1. 1509 0.21
Table 8. Error in Applying Eq. 30 to M/Ek/c
c.
G/M/c SolutionThe mean waiting time in the E /M/c queue must also be m
obt ai ned b e for e eQ.. 23 can b e ap plie d . Ta ka c s gi ve s the exact solution for this system (14) in a form that can easily be incorporated into a computer program.
co
1
-sx¢J(s)= e dF(x)
o
If we let
where F(x) is the probability distribution function of the interarrival time process, then the average waiting time in the E /M/c queue is
m
2 W
=
R/(c(l-a) )where
c
(c~
-1R=r1/(1-a)+~ j c(l-~.)-j)/(c .(1-~.)(c(1-a)-j»]
j=l J J J
(32)
c.
=
rt
(~./(1-~.)
J i=1 1 1~.
=
(cmp/(j+cmp)m JFor the E /M/c queue we have
(8)
m(34)
(35)
(36)
~(s)
=
(mX/(mX+s»m. (37)a is the only root OT the equation
C1
=
'f>(cJ.l(l-a». (38)For this (and all waiting time ~alculations) we assume without loss OT g~nerality that J.l=1 so that the waiting time will be in units of service time. Eq,s. 32-38 give the solution For the average waiting time in the E /M/c queue.
m
Using this and the M/Ek/c approximation o~ the last section)
we can now test the new approximation.
D. Results
The new approximation for the mean waiting time in the Em/Ek/c queue (eq. 23) uses the approximations For A and B
(e~s. 28 and 29). Appendix II contains a listing of a Fortran program which takes as inputs m) k J c~ and p and
gives the-approximation Tor WEm/Ek/c as the output. The approximation -for Wr-l/Ek/c (eq. 30) and the exact solution Tor W (eqs. 32-38) are used in the program. The
results obtained ~or the E
3/E2/2 queue are shown in table 9.
Comparing table 9 with the approximations of tables 1-3 Tor the E
3/E2/2 queue indicates that the new approximation may perTorm better in general For moderate values OT p (p<O.9). Since server utilization is usually in the range O.3<p<O.90 Tor practical queueing
approximation looks promising.
networksJ the new
It was found in some ~ueues that for very low values of p (p<O.3) th~ new approximation (eq. 23) sometimes gave a negative value for the mean waiting time. However. the magnitude oT th~ approximate WEm/Ek/c s t i l l decreased with decreasing p. There~ore the absolute value oT the right hand side of e q. 23 was used as the approximation in the program of Appendix II.
The next step is to test the new approximation for a wide range oT values OT mJ k~ c~ and p and compare the
Exact New Approx.
p a,IE3/E2/2
WE3/E2/2 ~ Error
O. 3 0.01180 0.01169 O. 9
O. 5 0.Ot7914 0.08390 6.0
0.:7 0.3136 0.3294 s. 0
0.9 1.66~O 1. 7302 3. 8
0.95 3.V42S 3.8~35 3. 5
Table 9. The New Approximation For E
results to Sakasegawa:'s and Page:'s appro)fimations. The
Heavy-Traffic Approximation always performs worse than the others so it will not be included in the comparisons of the next section.
The only way to check the approximations is to compare the results with the exact values found in the tables (3). Since these tables are limited in m,
co~?arisons will also be limited.
v.
COMPARISONSFor convenience the new approximation is repeated here.
A=- ( 1-1 / k )e x p { - ( 1-1 /m ) [ ( c / 1 0+ 1. 1) / (m-1 )+3-2/c ] }
(39)
(40)
(41)
For the comparisons of this section the approximation of eq. 30 was used Tor the M/Ek/c waiting time. The percent error
in Page:'s Approximation (eq,. 1~) and Sakasegawa:'s Approxima-tion (eq,. 16) are included in tables 10-30 for comparison.
By examining tables 10-30 we see that the new approxi-mation always performs better than Page:'s Approximation for p<=O.7 and oFten per~orms b~tter ~or p<=O.9. Page's Approx-imation is seen to be better than Sakasegawa:'s Approximation in all cases. The worst results for the new approximation are for high values of m, as in tables 12 and 24 for the
New Ap p. Page App. Saka. App. Exact
rho h Error X Error X Error Value
.30 6. 13 31.00 63.64 . 1310
.50 3.03 12. 51 28. 08 .3904
. FlO 2 59 5.39 12. 28 1.0391
.90 2.6rl 1.46 3.23 4.3590
.95 2.73 .69 1. 54 9. 3561
Table 10. Waiting Time Errors in 2/2/1 Queue for New, Page, and Sakasegawa Approximations
New App. Page App. Saka. App. Exact rho X E'rror X Error
x
Errol" Value.30 29.41 :78.41 196.81 .0541
.50 8.36 26.84 6:7. 59 .2238
. :70 5.41 10.:79 26.31 .6927
.90 5'.22 2.81 6.4:7 3. 1699
.95 5.31 1.31 3.04 6.9151
Table 11. Waiting Time Errors in 4/2/1 Gueue
New app. Page App. Saka Ap p. Exact
rho % Error % Error h Error Value
.30 9. 13 191.62 :tVO. 06 .0139
.50 29.4~ 49.9:7 152. 1:7 . 1115
. vO
14.36 18.24 48. 6:7 .4414.90 12.35 4. ~O 10.85 2.2834
.95 12.32 2.08 5.00 5. 0891
New App. Page App. Saka App. Exact
rho % Error X Error h Error Value
.30 3.~9 69.84 16~. 59 .0235
.50
. ew
21.66 55.0:1 . 1181. vO
.59 v.B5 20.46 .4125.90 .69 1.89 4.:79 2.04r78
.95
. v4
.8:1 2.22 4. 5409Table 13. Waiting Time Errors in 2/2/2 Queue
New App. Page App. Saka App. Exact
rho X Error X Error % Error Value
.30 64.:78 344.9:7 14:74.96 .0024
.50 13.2:7 60.41 212. :78 .0358
. VO 9. 15 18.99 ~9.81 . 1900
.90 4.65 4.3:7 12.41 1. 1666
.95 3.84 1.99 5.64 2.6851
Table 14. Waiting Time Errors in 9/2/2 Queue
New Ap p. Page App. Saka App. Exact
rho h Error ~ Error h Error Value
.30 5. 33 120.64 325.44 .0062
.50 1.08 31. 51 83.:75 .0511
. vO
.81 10.16 2:7.20 .22:75.90 .81 2.26 5.:79 1.2994
.95 .82 1.03 2.63 2.95:73
New App. Page App. Saka App. Exact
rho X Error X Error X Error Value
.30 3.98 249.42 t729.90 .0026
.50 fJ.82 50.93 141.90 .0323
. t70 5.89 15.28 42. 19 . 1696
.90 4.28 3.31 8. rl4 1.0534
.95 3.96 1. 50 3.96 2. 4328
Table 16. Waiting Time Errors in 3/2/3 Queue
New App. Page App. Saka App. Exact
rho X Error
x
Error ~ Error Value.30 ~. 18 18:7.93 588.80 .0019
.50 1.00 42. 51 116.95 . 025:7
. ~O .88 12. 4v 33.61 . 1442
.90 .84 2. 58 6. 56 .9340
.95 .82 1. 16 2.92 2. 1:741
Table
lv.
Waiting Time Errors in 2/2/4 QueueNew App. Page App. Saka App. Exact
rho % Error % Error ~ Error Value
.30 234.11 1808.69 11860.85 .0001
.50 23. 43 121.30 519.16 .0055
.
~o 14.25 2r7.42 9v.61 .0596.90 6.~3 5.31 16.:72 .5211
.95 5. 61 2.36 :/.35 1.2v3:7
New Ap p. Page App. Saka App. Exact
rho X Error h Error h Error Value
.30 9.82 2v6.rl9 1030.:76 .000v
.50 .65 54.82 156.3rl .0141
. vO
· v8 14.81 40.04 .0988.90 · v6 2.88 v.23 . rl193
.95 · t73 1.29 3. 16 1.:7085
Table 19. Waiting Time Errors in 2/2/~ Queue
New App. Page App. Saka App. Exact
rho h Error X Error % Error Value
.30 884.36 401:7.32 33084.43 .0000
.50 24.8:7 166.98 :7:72.v5 .0025
. :70 15.80 32. 24 118.25 .0388
.90 0.94 5.t75 18. 56 .39=76
.95 5.i72 2. 54 8.04 .99:70
Table 20. Waiting Time Errors in 9/2/5 Queue
New App. Page App. Saka App. Exact rho X Error % Error X Errol" Value
.30 2r1. 54 :749.95 5293.35 .0000
.50 1. 5"0 100.95 329.:75 .0031
. :70 · 11' 22. 1:7 60.62 .0408
.90 .24 3.:75 8. 94 . 40vv
.95 .20 1.62 3.rT2 1.0205
New Ap p. Page App. Saka App. Elact
rho X Error X Error X Error Value
.30 2:7.91 2925. 52 23888.90 .0000
.50 21.81 208. 06 ~01. 13 .0014
. '10 23.73 52.15 123.04 .0245
.90 6.~2 :7.09 15.6rJ .3200
.95 5.49 3.25 6.:79 .8260
Table 22. Waiting Time Errors in 3/2/8 Queue
New App. Page App Saka App. Exact rho X Errol" X Error h Error Value
.30 11.21 43.90 :71.22 · 1043
.50 6.2~ 18.64 31.42 · 31:70
. VO 5. 52 8. 16 13.:75 · 854:7
.90 5.e8 2.20 3.62 3.6189
.95 5.vrJ 1.04 1. v2 v.:7826
Table 23. Waiting Time Errors in 2/3/1 Queue
New App. Page App. Saka App. Exact
rho h Error % Error ~ Error Value
.30 506. 12 502.36 152v.32 .0052
.50 58.22 101.19 226. 58 .0606
. rlO 18.23 33. 46 65. 5=7 .2789
.90 13.51 '!J.:7S 13.94 1. 5633
.95 13.44 3. 5:7 6.38 3. 5351
New App. Page App. Saka App. Exact
rho X Error X Error h Error Value
.30 11.09 93.65 180. 51 .0183
.50 5.26 30.30 58.98 .0960
· vO
4.57 11.31 21.vrl .3401.90 4.60 2.v5 5.09 1.:7016
.95 4.65 1.28 2.36 3.v:789
Table 2~. Waiting Time Errors in 2/3/2 Queue
New App. Page App. Saka App. Exact
rho % Error % Error % Error Value
.30 21.!74 308. 14 691.68 .0046
.50 12. 99 68. 59 145. 18 .0436
· vO
10.09 22. S2 45.6:7 . 1990.90 6.~4 5. 1:7 9.95 1. 1385
.95 6.02 2.38 4. 56 2. 5895
Table 26. Waiting Time Errors in 4/3/2 Queue
New Ap p. Page App. Saka App. Exact
rho X Error X Error X Error Value
.30 16. 45 52.39 v5.rl:7 .0914
.50 10.0~ 22.62 33.43 .2810
· '10 9.01 9.94 14.63 . :7633
.90 9. 13 2.6r.l 3.86 3.249:7
.95 9.22 1. 2~ 1.83 6.996:7
New App. Page App. Saka App. Exact
rho ~ Error X Error X Error Value
.30 r79.83 1:72.21 288.41 .02:76
.50 18.30 5~.49 92.62 . 1298
. FlO 9.95 22.4:7 34.90 .4324
.90 9. 1:7 5.63 8.42 2.0~52
.95 9.31 2.63 3.94 4. 5:701
Table 28. Waiting Time Errors in 4/4/1 Queue
New App. Page App. Saka _App. Exact
rho X Error X Error % Error Value
.30 83.03 14V.08 488. 59 .0222
.50 24.30 42.01 119.:74 .1391
. :70 14.28 15.83 41.03 .5056
.90 12.90 3.9v 9.45 2. 512V'
.95 12.t"8 1.84 4.38 5.5619
Table 29. Waiting Time Errors in 9/2/1 Gueue
New App. Page App. Saka App. Exact
rho h Error X Error h Error Value
.30 54.25 130. 14 249.:72 · 035:7
.50 12. 50 44.32 82.32 · 1600
. VO 6.93 1'rl. 58 31.42
· Siva
.90 6. 59 4.4:7 :7.64 2.438:7
.95 6.r14 2.09 3. 58 5.3503
while the eTrOT in Page:'s approximation is 1. ~~. 'Either percentage would probably be acceptable in ~ueueing network performance evaluation.
However ~or lower (.nd more practical) values oT p the new approximation is more accurate than the others. Refer-ring again to table 16 (3/2/3 queue) shows that Tor p=O.7 the error in the new approximation is 3.89% while the error in Page:'s Appproximation is 1~. 3%. An error of 15% might not be acceptable in network performance evaluation. Table 16 is typical of many of the results obtained.
Graphs of the percent error vs. server utilization for some of the systems investigated are shown in figs. 6-12. Fig. 6 shows the percent error on an absolute scale for the Page, Sakasegawa, and new approximations for the 2/2/1
~ueue. Because ~ the large range of error the rest of the graphs use a log scale.
All of the gTaphs show that the new approximation has an advantage over Page:'s and Sakasegawa:'s approximations for values oT p<0.8. The worst case oT the 16/3/1 queue is graphed in fig. 10. In this case the new approximation still perTorms better in the range O.3<p<O.8.
0;': Er-r-o
r-/0
60
Saka50
40
30
Page20 10
Ne\v
°
O. 10.3
0.5
0.7
0.9
pFig. 6.
x
Error vs. p For 2/2/1 Queue TorNew, Page, and Sakasegawa ApPT'oximations
loge,:;
2rr)4
3 Saka
Page
2
o
log()6 Err)
4
Saka3 Page
NevI 2
O-+---t---+---+---+----+----~-+---+--~--+---+--p
- 1
Fig. 8. Log(~ Error) vs. p For 2/2/8 Queue
10g(~6 :2rr) 4
Saka
3
Page
2 New
10g('/'b Srr)
4
Saka
3
Fage2 New
o
O.1
0.7
0.9
pFig. 10. Log(~ Error) vs. p Tor 16/3/1 Queue
log ( .: ==':rr)
4
I
I
I
3 3aka II
}-'age I
I
2 I
I
.... e\'/ I
I
1 -, I
l
0 p
O. 1
0.3
0.5
0.70.9
log(~!> Err) 4
r
. I
0.7
0.5
0.3
o.
1- - ' t " - - - - t - - - + - - - - t - - + - - - - t - - - o + - - - - t - - - + - - . . . & . - - p
3
Saka
F'a g e
2 l~e\v
approaches one, like Page:'s and Sakasegawa:'s approximations. It is suspected that the new approxim.tion would converge to exact values if we had used the calcul~ted v~lues of A and B in table 7 ~nd the exact value o~ W
M/Ek/c ~or the compari-sons. We avoided this however, so that tables lIJould not have to be used to apply the new approximation.
The biggest .dvantage of using Sakasega\£la:'s Approxima-tion is the relativ• •ase of application. A hand-held cal-culator can be used for obtaining this rough estimate of wa i tin9 time . Page:'s Approximation req,uires the use of
VI. CONCLUSION
The error in the new approxim&tion for waiting time comes from several sources. The basic limitation on accu-racy is in the assumption that the A and B values of table ~ are independent o~ p. The errors caused by this assumption are comparable to those of table 6 for all systems tested.
The second source of error in the new approximation is using an approximation Tor WM/Ek/c rather than an exact solution. A better approximation for the M/Ek/c ~ueue could improve the new approximation Tor the Em/Ek/c system. How-ever the approximation used for the M/Ek/c ~ueue is ~uite
accurate so the error added by this is small.
The final and largest source of error in the new approximation comes from using e~s. 28 and 29 to calculate A and B rather than using the more accurate values in table v.
If e~s. 28 and 29 could be improved the new approximation could perform better than Page:'s Approximation for large~ values
or
p. This is the primary area Tor Tuture research on an approximation of this form.VII. REFERENCES
[1] D. Cox, and H. Miller, The Theor~ of Stochastic Processes, New York: Wiley, 196~.
[2] B. Halachmi, and W. R. Franta, IIA diffusion approxi-mation to the multi-server q,ueue, II Management Science
24, No.2, p. ~22, Jan. 19v8.
[3] F. S. Hillier, and F. D. t,e . "Tables for multiple-server ~ueueing systems involving Erlang distribu-tions, II Technical Report No. 31, Stanford University,
StanTord California, Dec. 28, 19v1.
[ 4 ] J. F . C. ."i n 9rnan& IIIn eq,u al i ti e-s i n t h e the0r y 0 f
q,ueues," Journal of the Royal Statistical Society, Series B, 32, p. 102, 19VO.
[5] L. Kleinrock, Queueing Systems Volume 1: Theory, New York: Wiley, 19r15.
[6J L. Kleinrock, Queueing Systems Volume 2: Computer Applications, New York: Wiley, 19:76.
[~] H. lI,obayashi, IIApplication of the diffusion approxi-mation to q,ueueing networks I: eq,uilibrium q,ueue distributions, II J. ACM 21, 2, p. 316, April 19v4.
[8J H. Kobayashi, Modeling and Analysis: An Introduction to System Performance Evaluation Methodology, Reading, Massachusetts: Addison-Wesley, 1981.
[9] J. Kollerstrom, "Hea\'y traffic theory for que ue s with several servers, I. II ~Qurnal of Applied P-robability, 11, p. ~44, 19v4.
[10J A. A. Nilsson, W. J. Stewart, and ~. SeraJ' "The analysis of multiprocessor systems by a diffusion approximation", Ninth International Teletraffic Conference, October 19v9.
[11] E. Page, "TGIbles of waiting times for M/M/n, M/D/n,
and D/M/n and their use to give approximate waiting times in more general q,ueues," ~ournal of
Operational Research Society, Vol. 33, p. 453, 1982. [12] E. Page, Gueueing Theory in OR, London: Butterworths,
[13] H.bSakasegawaJ "An approximation Tormula L
=
ap / ( l-p)J II Ann. In3t. Statist. Math 29J N·:-. lA ..
p. 6:7, 19~v.
[14J L. Takacs, Introduction to the Theory of Queues, New York: Oxford University Press, 1962.
[15] Y. Takahashi, IIAn ap pr-cxtmeet cn formula for the mean waiting time of an M/G/c q,ueue', II ""ournal of the Opera-tions Research Society of ~apan, Vol. 20, No.3,
P. 1~O, 5ept. 19~v.
[16] W. Whitt, liThe q,ueueing network analyzer, It The Bell
System Technical ~ournal, Vol. 62, No.9, p. 2~v9,
VII'I. APPENDICES
Appendix I. Notation
Within this thesis the shorthand notation AlBIc is used
to specifg a given ~ueueing system~ A and B describe the interarrival time and service time distributions respec-tively. The number of parallel servers of the s~stem is c.
The fre~uently used distributions are represented by the following symbols.
M Exponential distribution
D Deterministic or constant distribution
E r-stage Erlangian distribution
r-H r-stage Hyperexponential distribution
r-Q General distribution
Thus the E
2/M/2 system has a 2-stag9 Erlangian interar-rival time distribution. exponential service times, and 2 parallel servers. The Em/Ek/c system is sometimes reTerred
c c c c c c c c 1000 100 110
Appendix II. A Fortran Program for the New Approximation
Program to test New Approx. for Em/EkIe. Offered load per
server varies 0.00 to 0.95. Coefficients of var.LT one
Print-
*,
:'m
for arrival process=:' READ(S,*>CMCASQR=1.0/CM
Print *, :'k for service process=:'
READ(~,*)CK
CBSGR=1.0ICK
Print *,:'number of servers=:' READ(S,*>NSERV
*,
:'utilization =:' READ(S,*)RHOp=( (1. O-CM)/CM)*( (NSERV/I0. 0+1.1)/ *(CM-l.0)+3.0-2.0/NSERV) AX=«1.0-CK)/CK)*exp(P) Bl=O.09~9*exp(-O.062*(CM-l)*(CM-l» B2=exp(-O.246*CK) B3=(0. 409/N5ERV)*exp(-O.Ol~~*(CK-l0)*(CK-l0» BY=81+B2-tB3 SIGMA=S(RHO,CM) X=WMG(CBSGR,NSERV, RHO) Y=WGM(CM,RHO,SIGMA,NSERV) WGG=abs(AX*X+BY*Y) WRITE(6,1000)WGG FORMAT(SX,Fl0.5) END FUNCTION S(D,F)
D is rho, F is inverse of ca s q r coef, function finds uni~ue sigma between 0 and 1 to solve for WEm/M/c ABOVE=1.0
BELOW=O.O
DO 5 N=1,r;
WIDTH=ABOVE-BELOW
A=BELOW
B=BELOW+O.9001*WIDTH
A=A+O. l*WIDTH
IF(A.GT. B) GOTO 11
OCTO 110 11 ABOVE=A BELOW=ABOVE-O. 1*WIDTH 5 CONTINUE S=ABOVE RETURN END FUNCTION WMGCB,N,P)
c Fin dsapproX • talai ting tim e in M/ E k /c .
c B is eoeT. of yare CBSGR,
e N is number of servers, P is rho.
A=N*P
WMM=D(N,A)/(N-A)
WMD=l. 0+(1. O-P)*(N-1)*(SGRT(4. +5. *N)-2. 0)
*/16.0/A WMD=WMD*WMM/2.0 WMG~(1.0-B)*WMD+B*WMM RETURN END FUNCTION DCI,T)
c Erlangs second formula, I is the number of c servers, T is the offered traffic
D=1.0 E=1.0
IF(I.EG.O) RETURN DO 1 J:1, I
1 E=E*T/(~+T*E)
D=I*E/(I-T*(1.0-E» RETURN
END
FUNCTION WGM(Z,RO,SIG,NSER)
c Finds exact waiting time in Em/M/c. e z is inverse of eoef. of var.
e CASGR, RO is rho, SIG is sigma, (note mu=l) e NSER is number of servers.
IF (NSER.EG. 1) GOTO 102 5UM=O.O
DO 3 J=l,NSER
FIJ:(NSER*Z*RO/(NSER*Z*RO+~»**Z CJ=I. 0
DO 2 I=l,J
BFI=(NSER*Z~RO/(NSER*Z*RO+I»**Z
CJ=CJ*BFI/(1.0-BFI) 2 CONTINUE