197
Analysis of Cyclic Queueing Networks with Finite Buffers and Blocking Before Service Yannick Frein Laboratoire d'Automatique de Grenoble, UA 228 CNRS, ENSIEG/INPG, BP 46, 38402 Saint Martin d'HOres, France
Yves Dallery Laboratoire MASI (Md.thodologie et Architecture des Syst~mes Informatiques), UA 818 CNRS, UniversitO Pierre et Marie Curie, 4 place Jussieu, 75252 Paris Cedex 05, France Received January 1989 Revised July 1989
We consider cyclic queueing networks with exponential servers and finite buffers. The blocking mechanism we consider is blocking-before-service, i.e., a server is allowed to start processing a job only if a space is available in the next queue. We present an approximate technique for analyzing such networks based on a decomposition approach. We first consider the case where at least one buffer has an infinite capacity. The network is decomposed into a set of M / M / 1 / K queues. An iterative algorithm for calculating the performance parameters is proposed. This technique is then extended to the case where all queues have finite capacity. Numerical experiments show that this technique provides a fairly good estimate of the throughput and the average queue lengths. Keywords: Cyclic Queueing Networks, Finite Buffers, Blocking-Before-Service, Approximate Analysis, Decomposition.
Introduction Queueing networks with finite buffers are useful for modelling computer systems, communication networks, and manufacturing systems. The blocking phenomena which arise in such networks may have a Yanniek Frein received the Docteur-ingrnieur degree from the Institut National Polytechnique de Grenoble in 1983. Presently, he is Maitre de Confrrences at the University Joseph Fourier of Grenoble and is a researcher at the Laboratoire d'Automatique de Grenoble. His research interests are in queueing networks, with special emphasis on queueing networks with blocking, and in modelling and performance evaluation of manufacturing systems.
Yves Dallery received the Docteur-ingrnieur degree and the degree of Habilitation ~ Diriger des Recherches from the Institut National Polytechnique de Grenoble in 1984 and 1989, respectively. In 1985, he was a visiting researcher in the Division of Applied Sciences at Harvard University. From 1985 to 1987, he was a researcher at the Laboratoire d'Automatique de Grenoble. In 1987, he joined the Computer Science Department of the University Pierre et Marie Curie (Paris VI). Presently, he is Charg6 de Recherche at the Centre National de la Recherche Scientifique (CNRS). His research interests are in queueing theory, exact and approximate analysis of queueing networks, and modelling and analysis of manufacturing systems.
North-Holland Performance Evaluation 10 (1989) 197-210 0166-5316/89/$3.50 © 1989, Elsevier Science Publishers B.V. (North-Holland)
198
Y. Frein, Y. Dallery / Analysis of cyclic queueing networks
significant influence on the performance. Different types of blocking mechanisms have been reported in the literature [10,13]: blocking-after-service, also known as type 1 blocking, transfer blocking, and production blocking; blocking-before-service, also known as type 2 blocking, service blocking, and communication blocking; repetitive blocking, also known as type 3 blocking and rejection blocking. Few exact results have been obtained for queueing networks with finite buffers. As a result, most of the techniques that have been proposed to analyze these networks are in the form of approximation. Much work has been devoted to the analysis of open queueing networks. See for instance [13,14] for a list of references. Most of the techniques are based on decomposition. More recently, there has been a growing interest in the analysis of closed queueing networks with finite buffers. Several approximate techniques have been proposed [1,2,3,5,8,12,16,17]. A survey of exact and approximate results on closed queueing networks with blocking can be found in [9]. In this paper, we consider cyclic queueing networks with exponential service times and blockingbefore-service. For such networks, two approximate techniques for estimating the throughput have been proposed [12,16]. Suri and Diehl [16] considered cyclic queueing networks in which all queues have finite capacities except the first one. Their analysis is based on an aggregation technique whose originality is to use a variable buffer-size model. Starting from the last station, the technique iteratively replaces a set of two stations by a single station with load dependent service rates and variable buffer size. This technique usually provides a reasonable estimation of the throughput of the network. Extensions to more general configurations have also been considered [16]. However, this method does not seem to be extendable to the case where all queues have finite capacities. Onvural and Perros [12] consider cyclic queueing networks in which all queues have finite capacities. They present an approximation algorithm which yields the throughput of the network for all feasible populations. In such networks, the throughput is an increasing function of the number of customers up to a point after which it decreases. The throughput curve is estimated by fitting a curve that passes through a number of points for which the exact throughput is known, especially the point corresponding to the maximum throughput. Experimental results show that this technique is fairly accurate. Its major drawback is that it requires to solve the network numerically for the particular population corresponding to the maximum throughput. This is a time consuming task especially for large networks. The purpose of this paper is to present an approximate algorithm for the analysis of cyclic queueing networks with blocking-before-service. It is based on the decomposition method proposed in [5]. This method decomposes the network into a set of individual queues with revised arrival and service rates. The population constraint of the closed model is taken into account by prescribing that the sum of the average number of customers in the individual queues is equal to the population of the closed network. The method presented in this paper differs from that of [5] in several aspects. First, we consider blocking-before-service instead of blocking-after-service. Secondly, the technique is improved by taking account of consecutive blockings, whereas in [5], it was assumed that a server may be blocked only by its immediate successor queue. Finally, we extend the method by allowing all the buffers to be finite. The paper is organized as follows. The cyclic queueing network as well as some basic results are presented in Section 2. Section 3 is devoted to the approximate analysis of the model when the first queue is infinite. Section 4 pertains to the case where all queues are finite. In Section 5, the algorithm is validated and compared with other approximate techniques.
2. The cyclic queueing network model We consider a cyclic queueing network consisting of M stations and N customers. Each station consists of a queue and a server. The service time at any station i is exponentially distributed with r a t e / ~ . Let t~ = 1//~ i be the average service time. Let Bi be the capacity of station i, for i = 1 . . . . . M, including the space in front of the server. This is the maximum number of customers that can be simultaneously present at station i. After completion at station i a customer must then proceed to station i + 1, for i = 1 . . . . . M - 1. After completion at station M, a customer goes back to station 1. A cyclic queueing network with M = 4
Y. Frein, Y. Dallery / Analysis of cyclic queueing networks
B1
~1
B2
1-1-2
B3
I-I-3
B4
199
~t4
Fig. 1. A cyclic queueing network with 4 stations.
stations is shown in Fig. 1. Note that any station i has one preceding station, station i - 1 , and one succeeding station, station i + 1. By convention, station i - 1 will be station M if i = 1, and station i + 1 will be station 1 if i = M. The blocking mechanism is as follows. Server i is allowed to start processing a customer only if there is a space available at queue i + 1. If queue i + 1 is full, then the server at station i is blocked and it will be allowed to start processing a customer at the instant of completion of a customer at station i + 1. This blocking mechanism is referred to as blocking-before-service [13]. Let CQN-B denote the cyclic queueing network with blocking described above. Furthermore, let X ( N ) denote its throughput with a population of N customers, and Q i ( N ) be the average number of customers present at station i (either waiting, or receiving service, or being blocked) for population N. Two different cases need to be distinguished. In the first case, there is at least one station which has an infinite capacity, say station 1 without loss of generality. In the second case, all queues have finite capacity. These two cases will be referred to as model 1 and model 2 respectively. We now review some basic results pertaining to these models that will be useful throughout the paper. Denote by C Q N - I the same queueing network as CQN-B except that all finite buffers are replaced by infinite ones. Let Bmi n = min{B~, B 2 , . . . , B M }. Then for any population N ~ Bmin, n o blocking occurs and therefore the analysis of CQN-B reduces to that of CQN-I. Since this network has a product form solution, its performance can be calculated using any standard algorithm. N o w if N > Bmin, the behaviour of CQN-B is different from that of CQN-I. However, the throughput of CQN-I, say X I ( N ) , provides an upper bound on that of CQN-B [15], i.e: X(N) ~ XI(N)
for any N.
(1)
Let us consider model 1, i.e. B 1 = ~ . It was proved in [15] that the throughput is a non-decreasing function of the population of the network, i.e. X ( N + 1 ) > ~ X ( N ) for any N>~ 1. Now, let N 0 = B 2 + • • • + B M. It can be shown that increasing the population of the network beyond N o will have no effect on the behaviour of the network, and especially that the throughput remains constant, i.e.: X(N)=X(N
0)
for a n y U > N o
(2)
This result is a consequence of the following observation. If N > N 0, there are always at least N - N o customers at station 1. Since all customers are stochastically equivalent and since station M can not be blocked by station 1, these N - N o extra customers can be removed from the network without affecting its behaviour. The resulting network has N o customers. Therefore the marginal probabilities and the average queue lengths at each station in the network with N customers are the same as those in the network with N o customers, except for station 1 where the N - N o extra customers must be added. A formal proof of this result can be obtained by showing that the infinitesimal generator of the underlying Markov chain is the same for any population N larger than N o (see [11, Theorem 3]). Let us now consider model 2, i.e. all queues are finite. Let B be the total capacity of the network, i.e. B = B 1 + B 2 + • • • + B M. Let us consider the reverse network obtained by reversing the flow of customers in the original network. For the network presented in Fig. 1, the reverse network is shown in Fig. 2. It can be shown that the reverse network with B - N customers has the same Markov generator as that of the original network with N customers [4,6]. This result is based on the c u s t o m e r / h o l e duality [6].
B1
Ila
B4
l-t3
B3
t.t2
Fig. 2. T h e reverse network.
B2
I.tl
200
Y. Frein, Y. Dallery / Analysisof cyclicqueueingnetworks
Indeed, the customers in the reverse network behave exactly as the holes in the original network. Let
XR(N) be the throughput of the reverse network with population N, and let QR(N) be the average number of customers in buffer i. From the equivalence between the original and the reverse networks, it follows that [4]:
XR(B-- N) = X ( N )
for any N,
QR(B-N)=B i-Qi(u)
for a n y i a n d
(3) U.
(4)
On the other hand, it was observed empirically that the throughput is non-decreasing as N increases from 1 to N 1, where N 1 = B/2 if B is odd, and N 1 = (B + 1)/2 if B is even, and moreover that the throughput curve is symmetric [11,12], i.e.:
X ( B - N) = X ( N )
for any N.
(5)
3. Analysis of model 1 In this section we restrict our attention to the case of cyclic queueing networks in which the first queue has an infinite capacity, i.e. model 1. The results presented in this section will be extended to the case where all queues have finite capacity, i.e. model 2, in Section 4.
3.1. Decomposition The method presented in this section is based on the approximate decomposition of the queueing network into a set of M single queues with finite capacity, as proposed in [5]. Each queue is characterized by its arrival process, its service process, and its capacity. The parameters of the ith individual queue should be such that the behaviour of the customers in this queue closely approximates the behaviour of the customers in the ith station of the CQN-B. The population constraint of the cyclic network is taken into account by ensuring that the sum of the average queue lengths is equal to the population of the network. Let us consider the characterization of the ith single queue, for i = 1 . . . . . M. Let N i* denote the buffer capacity of the ith individual queue (including the server space). It is set to the m a x i m u m number of customers that can be in this queue. Therefore, we have: N~* = rain(N, B i).
(6)
Each individual queue is modelled as an M / M / I / N , * queue with load-dependent service rates. Let X* be the arrival rate at queue i, and let /~*(n) be the service rate when n customers are present, for n = 1 . . . . . N,*. Note that, as opposed to the case of blocking-after-service [5], we do not have to increase the queue capacity by one. Let us define the following performance parameters of the i th individual queue. Let p*(n) be the steady-state probability of having n customers, for n = 0 . . . . . N~*. Let X,* be its throughput and Q* be its average queue length. These quantities can easily be derived from the parameters of queue i using the standard M / M / 1 / K formulas [7].
3.2. The decomposition equations We now establish a set of equations to determine the unknown parameters corresponding to each individual queue, namely ~* and ~t*(n) for i = 1 . . . . . M and n = 1 . . . . . N,*. Let us first consider the service process of the ith individual queue. For easier presentation, consider the queueing network shown in Fig. 1. Assume we want to calculate the service rate of the second individual queue. To do that, consider the behaviour of server 2 in the network. The service of a customer may be started only if the server is not blocked. In that case, the average service time will be equal to t 2. Now, if the server is blocked, i.e. queue 3 is full, the service will start only when one space will be available in the buffer of queue 3 (because of the blocking-before-service assumption). If server 3 is not blocked, i.e. queue 4 is not full, then the blocking time is equal to the residual service time of server 3. Now, due to the memoryless property of the exponential distribution, this time is also exponentially distributed with rate/*3. Therefore, in this case, the
Y. Frein, Y. Dallery / Analysis of cyclic queueing networks
201
overall service time is equal to the blocking time followed by the service time. Its average is thus equal to t 3 + t 2. If server 3 is blocked, i.e. queue 4 is full, the blocking time will be equal to the service time of server 4 (queue 4 is never blocked) followed by the service time of server 3. Therefore, in that case, the average overall service time will be equal to t 4 + t 3 + t 2. In s u m m a r y , the overall service time is equal to t 2 if the server is not blocked, t 3 -t- 12 if server 3 is actually causing the blocking of server 2, and t 4 + t 3 + t 2 if server 4 is causing the blocking of server 2 through the blocking of server 3. As a result, the average overall service time is a weighted sum of these quantities. The weights correspond to the probabilities of the different cases, which depend on the probabilities of the queues being full but also on the n u m b e r of customers currently present in the queue, as will be shortly discussed. So, in the general case, the service rate of the ith individual queue can be expressed as
1_
1 + y, b~,s(n)
t**(n)
t*~
j=,+l
1 k=~+l tzk
fori=l
.....
M-1
(7)
where bio(n ) is the probability that server j is causing the blocking of server i given that n customers are present at station i, i.e. the probability that queues i + 1, i + 2 . . . . . j are full, and queue j + 1 is not full, given that there are n customers at queue i. N o t e that since station M is never blocked, we simply have: / ~ t ( n ) = #M
for n = 1 . . . . .
U~.
(8)
To calculate /~*(n), for i = 1 . . . . . M - 1 , we need to estimate the probabilities b,,/(n ), for any j = i + 1 . . . . . M. For this purpose, it is convenient to define the following quantity. Let C,.j be the total buffer capacity in between server i and server j, i.e.: J
Ci,s= •
Bk. (9) k=,+l We need to distinguish three cases. First, if the n u m b e r of customers at queue i is such that queues i + 1 . . . . . j cannot be simultaneously full, then server j cannot cause blocking of server i. Therefore, we have: b,j(n)=O
forn>N-Qs.
(10)
Secondly, if the n u m b e r of customers at queue i is such that queues i + 1 . . . . . full, but queue j + 1 cannot be full, then b~,y(n) is a p p r o x i m a t e d by
j can be simultaneously
J
b~.j(n)=
l-I k=i+ l
p~(N~)
forN-Ci,j+,
Finally, if the n u m b e r of customers at queue i is such that queues i + 1 . . . . . neously full, then b~j(n) is a p p r o x i m a t e d by J
bi,j(n)=(1-pj*l(N;*l))
1-I p~(N~)
forn<~N-C,.j+ a.
(11) j, j + 1 can be simulta-
(12)
k=i+l
Notice that if the n u m b e r of customers is such that queue k m a y be blocked by queue k + 1, the blocking probability is a p p r o x i m a t e d by the stationary probability. In order to illustrate the above equations, let us again consider the example give in Fig. 1 with B 2 -- 4, B 3 = 3, B 4 = 2 , and N = 6 . Consider for instance the calculation of /*~(n). For n = 4 , we obtain b2,3(4 ) = b2.4(4) = 0 using equation (10); for n = 3, b2.3(3 ) = p~'(3) using (11) and b2, 4 (3) = 0 using (10); for n = 2, b2,3(2 ) = p ~ ' ( 3 ) using (11) and b2,4(2 ) = 0 using (10); for n = 1, b2.3(1 ) = (1 -p4*(2))p3(3 ) using (12) and b2,4(1 ) = p ~ ' ( 3 ) p4"(2) using (11). Then from equation (7), we obtain: 1 1 / ~ (4)
/*2
1 >~(3)
1 >~(2)
1 /*~ (1)
1 + p~, (3) ~2
1 +p~'(3) 1 . /*2 /*3
(1
+ P4* (2)/,---~ .
Y. Frein, Y. Dallery /Analysis of cyclic queueing networks
202
In order to determine the parameters ?t*, we need M other equations. The next set equations is related to the conservation of flow. In a cyclic queueing network the throughput of all stations is the same. Therefore, conservation of flow implies: )(1" = X2* . . . . .
X~.
(13)
This provides M - 1 equations. The last equation is obtained by the 'conservation of population' principle [5]. It states that the sum of the average queue lengths over all individual queues is equal to the population of the network, i.e. M
0 * = N.
(14)
i=1
3.3. The computational algorithm In order to solve the previous set of equations, we use an algorithm similar to that proposed in [5]. However, as in [5], we add the constraint that the arrival rate at station i cannot exceed the service rate of the preceding server, i.e.: X* ~i-1
for any i.
(15)
This algorithm, referred to as algorithm 1, is given below. It consists of two loops. The outer loop seeks a value of the throughput X which is such that the average overall number of customers in the individual queues is equal to the population of the network. Using similar arguments as in [5], it is possible to show that Q* is a non-decreasing function of X. Note that Step 3(c) makes use of this property in order to reduce the possible range of the throughput. For each individual queue i, the inner loop (Step 2(b)) seeks a value of X* such that the throughput X,* is equal to X. The above constraint is checked in Step 2(c). If it is violated for one station, then Step 1 is interrupted. Moreover, any value of the throughput higher than the current value X would also violate the constraint. As a result, the current value of X provides a new upper bound, i.e., Xmax = X. The procedure is stopped either if Q* is close enough to N (Step 3(b)), or when Xmm and g m a x a r e close enough to each other (Step 4). In the latter case the solution obtained by the algorithm is such that all equations are satisfied except equation (14), which means that the solution does not satisfy the population constraint. This happens when the network is saturated, i.e., X ( N ) is close to X(No), where N O is defined as in Secton 2. Now, since the outer loop uses a bisection search procedure, its convergence is guaranteed. Algorithm 1
Initialization: Set some bounding values for the throughput X, for instance: Xmi~ = 0 and Xmax = min(/~ 1, /~2. . . . . /~M}.
Iteration step: Step 1. Set X = (Xmin + Xmax)/2" Step 2. F o r i = M , M - 1 . . . . . 1: (a) Calculate the service rates of queue i,/~*(n), for n = 1 . . . . . Ni*, using equation (8) if i = M, and equations (7), (10), (11), and (12) otherwise. (b) Calculate X* using the fixed-point iteration X* = X/(1 -p*(Ni* )). (c) If ~,* >/~i-1, set Xmax = X and go to Step 4. Step 3. (a) Calculate Q*, for i = 1 . . . . . M, and Q* = QI* + Q~' + "'" + Q~t(b) If Q* is close enough to N, then stop. (c) If Q * > N, set Xm~x= X, and if Q* < N set Xmin = X. Step 4. If Xmi~ and Xmax are close enough to each other, then stop; else, go to Step 1.
Y. Frein, Y. Dallery / Analysis of cyclic queueing networks
203
4. Analysis of model 2 In this section, we consider model 2, i.e., all queues have finite capacity. The analysis is based on the same decomposition principle as that presented in Section 3.1. However, since all queues have finite capacity, the decomposition equations must be slightly modified. The quantities used in this section are defined as in Section 3. 4.1. Preliminary discussion In the case of model 2, the throughput is non-decreasing in the first part of the curve, i.e., from N = 1 . . . . . N1, and non-increasing in the second part, i.e., from N = N~. . . . . B - 1 (see Section 2). Now, the algorithm presented in the case of model 1 makes use of the fact that the throughput is a non-decreasing function of the population. Since the algorithm presented in this section is an extension of Algorithm 1, it allows us to analyze the non-decreasing part of the curve. Nevertheless, the performance of the network for N larger than N1 can be derived using the properties given in Section 2. Firstly, if the performance parameter of interest is the throughput, the symmetry property (equation (5)) can be used to obtain the values of the throughput pertaining to the second part of the curve from those of the first part. Secondly, if one wants to obtain other performance parameters, especially the average queue lengths, we can make use of the reverse network. Indeed, as shown in Section 2, the performance parameters of the original network with population N can be obtained from the performance of the reverse network with population N ' = B - N (see equations (3) and (4)). Thus, for populations N = N 1. . . . . B - 1 in the original network, which corresponds to the non-increasing part of the throughput curve, the corresponding population N ' in the reverse network varies from N ' = l . . . . . N 1, which corresponds to the non-decreasing part of the throughput curve of the reverse network. For these populations, the reverse network can then be analyzed using the technique presented in this section. 4.2. The decomposition equations The major difference between model 2 and model 1 is due to the fact that in model 2 station M can be blocked by station 1. Especially, (8) does no longer hold and (7) must be modified. In order to keep the notation simple, it is convenient to adopt the following convention: for any j < i, j
M
j
k=i
k=i
k=l
j
M
and J
17 zk = I-I zk 1-I zk.
k=i
k=i
k=l
Equation (7) is replaced by the following equation: 1 ~?(n)
1 + /-/'i
~ j=i+l
bi,j(n
__ /k=i+l ~k
for i = 1 . . . . . M.
(16)
Note that equation (16) makes use of the above convention. This equation differs from equation (7) only by the set of stations that may block server i. Indeed, server i may be blocked by stations i + 1 up to M, but also by stations 1, 2 , . . . , i - 1. Obviously, server i cannot be blocked by itself (we do not consider the trivial case where N = B). Then the quantities b,.j(n) are calculated using again equations (10), (11), and (12). If j < i, the above convention is again used; especially, the quantities C~.j given by equation (9) are obtained as: Ci,j=B~+ 1 + . . . + B M + B1 + "'" +Bj. Finally, equations (13) and (14) pertaining to the conservation of flow and the conservation of population remain unchanged.
204
Y. Frein, Y. Dallery /Analysis of cyclic queueing networks
4.3. The computational algorithm In order to solve this new set of equations, we present an algorithm which is an extension of Algorithm 1. Actually, as appears in Section 4.2, the set of equations of model 2 is very similar to that derived in the case of model 1. In term of the algorithmic solution, the major difference is due to the following fact: in the case of model 1, the service rate of individual queue M, trOt(n), was known since server M is never blocked; this is no longer true in the case of model 2. Indeed, / ~ t ( n ) depends on the probabilities pj*(Nj*), j ~: M. In fact, station M does not play a particular role as it was the case in model 1. More generally, all the ~t*(n) depend on the probabilities p j * ( ~ * ) , j ¢ i. Therefore, in order to obtain the ~t*(n), an intermediate loop must be added in Step 2. This leads to the following algorithm. Note that, as in Algorithm 1, the constraint given by equation (15) is incorporated.
Algorithm 2. Initialization: Set some bounding values for the throughput X, for instance: Xmi~=0 and Xrnax= min(/.tl, P2 . . . . . ~ M }
Iteration step: Step 1. (a) Set X = (Xm~ + Xmax ) / 2 (b) Set p/* (N, * ) = 0, for all i Step 2. F o r i = M , M - 1 . . . . . 1: (a) Calculate the service rates of queue i, /~*(n), for n = 1 . . . . . N,*, using equations (16), (10), (11), and (12). (b) Calculate ~* using the fixed-point iteration ~* = X/(1 - p * (N i* )). (c) If ~,* >/~i - 1, set Xmax = X and go to Step 4. Repeat Step 2 until convergence of the p* ( N i*) Step 3. (a) Calculate Q*, for i = 1 . . . . , M, and Q* = Q~' + Q~' + - . . + Q~t. (b) If Q* is close enough to N, then stop. (c) If Q * > N set Xmax = X, and if Q * < N set Xmin = X. Step 4. If Xm~, and Xmax are close enough to each other, then stop; else, go to Step 1.
5. Numerical examples In this section, numerical examples are presented to test the accuracy of the proposed method. They are compared with those obtained using the approximate techniques proposed by Suri and Diehl [16] in the case of model 1, and Onvural and Perros [12] in the case of model 2. We consider 14 examples. For each example, the network is characterized by the number of stations, M, the population, N, the buffer capacity vector, B = (B 1, B2,..., BM) and the service rate vector, /x = (/~a, /~2. . . . . /~M). For each example the throughputs as well as the associated percentage of relative errors are provided for the different methods. The results are given in Tables 1 to 14. Examples 1 to 4 are pertaining to model I and Algorithm I is used. The first example is taken from [16]. The network consists of M = 3 stations and N = 6 customers. Various service rate vectors are considered. The results are compared with exact results. Larger networks are considered in Examples 2 to 4. The approximate results are provided for populations ranging from Brnin + 1 to N0. For these examples, the approximate results are compared with simulation results obtained using QNAP2 [18]. The simulation time was equal to 10 6 times the largest mean service time. We now briefly compare the results. For small examples, our method yields average errors which are of the same order as that of Suri and Diehl, as can be seen in Tables 1 to 3. However in larger examples, it seems that our approximation provides more accurate results (see Table 4). Examples 5 to 14 are pertaining to model 2 and Algorithm 2 is used. They are taken from [12]. The results are compared with exact results. The results pertaining to the throughput are presented in Tables 5
Y. Frein, Y. Dallery / Analysis of cycSc queueing networks
205
Table 1 M = 3; N = 6; B = ( ~ , 3 , 3 ) ( E x a m p l e 1)
tL1
#2
1~3
Exact
X(N)
Suri-Diehl
F r e i n - Dallery
X(N)
Error
X(N)
Error
0.1
0.2
0.2
0.0920
0.0915
- 0.5
0.0923
+ 0.3
0.1
0.2
0.1
0.0800
0.0794
- 0.7
0.0816
+ 2.0
0.1 0.1
0.2 0.1
0.05 0.2
0.0488 0.0742
0.0487 0.0731
- 0.2 - 1.5
0.0489 0.0743
+ 0.2 + 0.1
0.1
0.1
0.1
0.0675
0.0659
- 2.4
0.0682
+ 1.0
0.1 0.1
0.1 0.05
0.05 0.2
0.0460 0.0465
0.0457 0.0458
- 0.7 - 1.5
0.0462 0.0466
+ 0.4 + 0.2
0.1
0.05
0.1
0.0448
0.0437
- 2.5
0.0455
+ 0.6
0.1
0.05
0.05
0.0371
0.0364
- 1.9
0.0375
+ 1.1
Table 2 M = 5; B = (oo3,3,3,3); t~ = (1,1,1,1,1) ( E x a m p l e 2)
N
Simulation
X(N)
Suri-Diehl
Frein-DaUery
X( N )
Error
X( N )
Error
4
0.499
0.491
- 1.6
0.480
- 3.1
5 6 7
0.549 0.583 0.604
0.532 0.557 0.571
- 3.1 - 4.5 - 5.5
0.534 0.566 0.595
- 2.7 - 2.9 - 1.0
8
0.613
0.577
- 5.9
0.614
+ 0.2
9 10
0.615 0.617
0.579 0.580
-6.0 - 6.0
0.623 0.627
+1.3 + 1.6
11
0.617
0.580
- 6.0
0.627
+ 1.6
12
0.617
0.580
- 6.0
0.627
+ 1.6
X(N)
Error
X(N)
Error
- 1.3 - 2.4
0.0800 0.0864
+ 1.8 + 5.0
Table 3 M = 5; B = (003,3,3,3); /~ = (1,0,1,1,0,1,1) ( E x a m p l e 3)
N
Simulation
X(N)
Suri- Diehl
Frein-Dallery
4 5
0.0786 0.0823
0.0776 0.0803
6
0.0851
0.0820
- 3.6
0.0904
+ 6.2
7 8 9
0.0852 0.0852 0.0852
0.0822 0.0822 0.0822
- 3.5 - 3.5 - 3.5
0.0909 0.0909 0.0909
+ 6.6 + 6.6 + 6.6
10 11 12
0.0852 0.0852 0.0852
0.0822 0.0822 0.0822
- 3.5 - 3.5 - 3.5
0.0909 0.0909 0.0909
+ 6.6 + 6.6 + 6.6
Table 4 M = 1 0 ; B = (oe,2,2,2,2,2,2,2,2,2); /~ = (1,1,1,1,1,1,1,1,1,1) ( E x a m p l e 4)
N
Simulation
X(N) 3 5 7 9 11 13 15
0.249 0.352 0.419 0.454 0.464 0.465 0.465
Suri- Diehl
Frein-Dallery
X(N)
Error
X(N)
Error
0.246 0.334 0.382 0.404 0.409 0.410 0.410
- 1.2 - 5.1 - 8.8 - 11.0 - 11.8 - 11.8 - 11.8
0.240 0.341 0.410 0.449 0.467 0.474 0.475
+ + +
3.6 3.1 2.1 1.1 0.6 1.9 2.1
Y. Frein, Y. Dallery / Analysis of cyclic queueing networks
206
Table 5 M = 4; B = (5,4,5,4); ~ = (3,4,5,2) (Example 5) N
5 6 7 8 9
Exact
O n v u r a l - Perros
F r e i n - Dallery
X(N)
X(N)
Error
X(N)
Error
1.765 1.831 1.863 1.876 1.879
1.761 1.827 1.861 1.874 1.879
-
1.734 1.843 1.900 1.897 1.885
+ + + +
0.2 0.2 0.1 0.1
1.8 0.7 2.0 1.1 0.3
Table 6 M = 4; B = (2,4,3,5); /~ = (2,1,3,4) (Example 6) N
3 4 5 6 7
Exact
O n v u r a l - Perros
X(N)
X(N)
Error
F r e i n - Dallery X(N)
Error
0.851 0.916 0.942 0.948 0.949
0.845 0.906 0.935 0.946 0.949
-
0.827 0.901 0.957 0.948 0.955
- 2.8 - 1.6 + 1.6 0.0 + 0.6
0.7 1.1 0.7 0.2
Table 7 M = 5; B = (2,4,3,3,4); /~ = (2,2,2,2,2) (Example 7) N
3 4 5 6 7 8
Exact
Onvural-Perros
X(N)
X(N)
Error
Frein-Dallery X(N)
Error
0.854 0.986 1.078 1.138 1.171 1.181
0.869 1.011 1.113 1.153 1.173 1.181
+ + + + +
0.811 0.952 1.061 1.120 1.162 1.189
- 5.0 - 3.4 - 1.6 - 1.8 - 0.8 +0.7
1.8 2.5 3.2 1.3 0.2
Table 8 M = 5; B = (2,4,3,3,4); /~ = (5,3,4,6,2) (Example 8) N
3 4 5 6 7 8
Exact
Onvural- Perros
X( N)
X( N)
Error
X( N)
Error
1,390 1.557 1.655 1.710 1.735 1.741
1.388 1.557 1.655 1.710 1.733 1.741
- 0,1 0.0 + 0.6 0.0 -0.1
1.330 1.512 1.666 1.752 1.754 1.754
- 4.3 - 2.9 + 0.7 + 2.5 +1.1 + 0.7
to 14. Because of the symmetry
property,
the results are only provided
the first part of the curve, in these examples, and Perros method
and about
2 percent
F r e i n - Dallery
the average
for our method.
m o r e c o s t l y s i n c e it r e q u i r e s t o s o l v e t h e n e t w o r k In all examples t h a n 2.5 p e r c e n t ,
considered,
our throughput
and the maximum
However,
numerically
estimates
for populations
relative errors are about their method
corresponding
1 percent
to
for Onvural
is c o m p u t a t i o n a l l y
much
for one population.
are fairly good:
r e l a t i v e e r r o r is l e s s t h a n 7 p e r c e n t .
the average
r e l a t i v e e r r o r is l e s s
Our results tend to be optimistic
II. Frein, Y. Dallery / Analysis of cyclic queueing networks
207
Table 9 M = 6; B = (4,4,3,3,6,2);
N
= (5,3,4,6,2,4) ( E x a m p l e 9)
Exact
O n v u r a l - Perros
X(N)
X( N )
Error
X( N )
3
1.261
1.250
- 0.9
1.200
- 4.8
4 5
1.443 1.556
1.422 1.535
- 1.5 - 1.3
1.389 1.530
- 3.7 - 1.7
6
1.624
1.610
- 0.9
1.631
+ 0.4
7
1.662
1.656
-0.4
1.710
+2.9
8 9
1.685 1.696
1.694 1.694
+ 0.5 - 0.1
1.710 1.710
+ 1.5 + 0.9
10
1.702
1.700
- 0.1
1.710
+ 0.5
Frein- Dallery Error
T a b l e 10 M = 6; B = (2,3,4,2,4,3); /a = (3,2,4,1,5,1) ( E x a m p l e 10)
N
Exact
O n v u r a l - Perros
X(N)
X(N)
Error
X(N)
Error
3 4
0.619 0.697
0.625 0.710
+ 1.0 + 1.9
0.597 0.693
- 3.6 - 0.9
5 6
0.749 0.783
0.766 0.798
+ 2.3 + 1.9
0.764 0.811
+ 2.0 + 3.6
7
0.806
0.813
+ 0.9
0.849
+ 5.3
8
0.819
0.820
+ 0.1
0.874
+ 6.7
9
0.824
0.824
0.878
+ 6.6
Frein-Dallery
T a b l e 11 M = 6; B = (4,4,3,3,6,2); /* = (1,3,2,4,3,4) ( E x a m p l e 11)
N
Exact
O n v u r a l - Perros
X(N)
X(N)
Error
X(N)
Error
3 4
0.764 0.858
0.757 0.846
- 0.9 - 1.4
0.727 0.822
- 4.8 - 4.2
5 6
0.918 0.952
0.902 0.937
- 1.7 - 1.6
0.901 0.941
- 1.9 - 1.2
7 8 9
0.970 0.977 0.978
0.957 0.969 0.974
- 1.3 - 0.8 - 0.4
0.972 0.984 0.988
+ 0.2 + 0.7 + 1.0
10
0.979
0.978
- 0.1
0.988
+ 0.9
Frein-Dallery
T a b l e 12 M = 7; B = (2,2,2,2,2,2,2); /, = (1,3,2,4,3,4,3) ( E x a m p l e 12)
N
3 4 5 6
Exact
Onvural-Perros
X(N)
X(N)
Error
X(N)
Error
0.710 0.798 0.841 0.853
0.702 0.787 0.831 0.848
-
0.693 0.773 0.840 0.862
+
Frein- Dallery
1.1 1.4 1.2 0.6
2.4 3,1 0.1 1.1
Y. Frein, Y. Dallery /Analysis of cyclic queueing networks
208
T a b l e 13 M = 7; B = (2,2,2,2,2,2,2); /~ = (2,1,4,5,2,3,3) ( E x a m p l e 13) N
Exact
Onvural- Perros
Frein- Dallery
X(N)
X(N)
Error
X(N)
Error
3 4 5 6
0.685 0.769 0.811 0.826
0.679 0.763 0.807 0.824
-
0.669 0.744 0.807 0.827
+
0.9 0.8 0.5 0.2
2.3 3.3 0.5 0.1
T a b l e 14 M = 8; = (2,2,2,2,2,2,2,2); /~ = (5,3,4,6,2,3,3,2) ( E x a m p l e 14)
N
3 4 5 6 7
Exact
Onvural-Perros
X(N)
X(N)
Error
Frein-Dallery X(N)
Error
0.889 1.051 1.168 1.236 1.268
0.898 1.068 1.197 1.243 1.269
+ + + + +
0.856 1.014 1.146 1.226 1.283
+
1.0 1.6 2.5 0.6 0.1
3.7 3.5 1.9 0.8 1.2
when the network is very unbalanced. In that case, a better approximation would probably be obtained by modelling the equivalent service process of each individual queue by a Coxian distribution. Note also that in unbalanced cases, using the upper throughput bound provided by the corresponding CQN-I (see equation(l)) may sometimes improve the results (see [5]). In all examples we tested, the number of iterations of the global loop of both algorithms was less than 20. As for the intermediate loop of Algorithm 2, only a few iterations were needed. As opposed to the two other approximate techniques, our method provides other performance parameters, especially the average queue length estimates. Table 15 in the case of model 1 and Tables 16
T a b l e 15 M = 5; B = (00,3,3,3,3); /~ = (1,1,1,1,1) ( E x a m p l e 2) N=5
N=8
N=ll
Sim.
Appr.
Error
Sim.
Appr.
Error
Sim.
Appr.
Error
Q1 Q2 Q3 Q4
1.08 1.01 1.01 1.00
Qs
0.90
1.15 0.99 0.99 0.98 0.89
+ -
2.36 1.67 1.54 1.36 1.08
2.45 1.62 1.50 1.34 1.09
+
5.00 1.91 1.62 1.38 1.09
4.04 1.87 1.63 1.40 1.13
- 19.2 - 2.1 + 0.6 + 1.4 + 3.7
6.5 2.0 2.0 2.0 1.1
3.8 3.0 2.6 1.5 0.9
T a b l e 16 M = 4; B = (5,4,5,4); /~ = (3,4,5,2) ( E x a m p l e 5) N=6
Ol Q2 Q3 Q4
N=9
N=12
Exact
Appr.
Error
Exact
Appr.
Error
Exact
Appr.
Error
1.31 0.76 1.14 2.79
1.36 0.78 1.10 2.75
+ + -
1.47 0.90 3.25 3.38
1.51 1.09 3.07 3.27
+ 2.7 + 20.6 - 5.5 -3.3
1.89 2.53 4.12 3.45
1.84 2.61 4.11 3.44
-- 2.6 + 3.2 - 0.2 - 0.3
3.8 2.9 3.5 1.4
209
Y. Frein, Y. Dallery / Analysis of cyclic queueing networks
Table 17 M = 5; B = (2,4,3,3,4); ~ = (5,3,4,6,2) (Example 8) N=6 Q1 Q2
Q3 Q4 Q5
N=12
N=9
Exact
Appr.
Error
Exact
Appr.
Error
Exact
Appr.
Error
0.48 1.15 0.66 0.84 2.88
0.51 1.21 0.71 0.86 2.71
+ 6.2 + 5.2 + 7.6 + 2.4 - 5.9
0.53 1.38 1.51 2.06 3.52
0.50 1.47 1.54 2.01 3.48
- 5.7 + 6.5 + 2.0 - 2.4 - 1.1
0.75 2.99 2.17 2.42 3.67
0.79 3.05 2.15 2.39 3.64
+ 5.3 + 2.0 - 0.9 - 1.2 - 0.8
a n d 17 in the case of model 2 show typical results o b t a i n e d b y our m e t h o d for some of the previous examples. These results are o b t a i n e d by analyzing the original or the reverse n e t w o r k as appropriate (see the discussion of Section 4.1). The results have a n acceptable error level. The average relative error is a b o u t 4 percent.
6. Conclusions I n this paper, we presented a n a p p r o x i m a t e technique for the analysis of cyclic q u e u e i n g networks with finite buffers a n d blocking-before-service. This technique is based o n the d e c o m p o s i t i o n m e t h o d proposed in [5]. Beside the fact that we consider blocking-before-service, the t e c h n i q u e presented in this paper extends that i n t r o d u c e d in [5]. Firstly, it incorporates the effect of consecutive blockings. Secondly, it considers the case where all queues have finite capacity. The n u m e r i c a l results showed that this technique provides fairly accurate estimates of b o t h the t h r o u g h p u t a n d the average q u e u e lengths. Finally, let us note that since in the case of cyclic networks with e x p o n e n t i a l servers blocking-before-service a n d repetitive blocking are equivalent (see [13]), the technique m a y also be used to analyze exponential cyclic networks with repetitive blocking.
Acknowledgments The authors would like to t h a n k the referees for their helpful c o m m e n t s .
References [1] I.F. Akyildiz, On the exact and approximate throughput analysis of closed queueing networks with blocking, IEEE Trans. Softw. Eng. SE-14 (1) (1988) 62-71. [2] I.F. Akyildiz, General closed queueing networks with blocking, in: P.J. Courtois and G. Latouche, eds., Performance "87 (North-Holland, Amsterdam, 1987) 283-303. [3] I.F. Akyildiz, Mean value analysis of closed queueing networks with blocking, IEEE Trans. Softw. Eng. (1988). [4] M.H. Ammar and S.B. Gerswhin, Equivalence Relations in Queuing Models of Assembly/Disassembly Networks, Tech. Rep. GIT-ICS-87/45, Georgia Institute of Technology, Dec. 1987. [5] Y. Dallery and Y. Frein, A decomposition method for the approximate analysis of closed queueing networks with blocking, in: H.G. Perros and T. Altiok, eds., Proc. First International Workshop on Queueing Networks with Blocking (North-Holland, Amsterdam, 1989) 193-215.
[6] W.J. Gordon and G.F. Newell, Cyclic queueing systems with restricted length queues, Oper. Res. 15 (1967) 266-278. [7] L. Kleinrock, Queueing Systems, Vol. 1 (Wiley, New York, 1975). [8] D.D. Kouvatsos and N.P. Xenios, Maximum entropy analysis of general queueing networks with blocking, in: H.G. Perros and T. Altiok, eds., Proc. First International Workshop on Queueing Networks with Blocking (NorthHolland, Amsterdam, 1989) 281-309. [9] R.O. Onvural, A Survey of Closed Queueing Networks with Blocking, Tech. Rep., CS Dept., NC State University, 1988. [10] R.O. Onvural and H.G. Perros, On equivalenciesof blocking mechanismsin queueing networks with blocking, Oper. Res. Lett. 5 (6) (1986) 293-297. [11] R.O. Onvural and H.G. Perros, Some Exact Results on
210
[12]
[13]
[14]
[15]
Y. Frein, Y. Dallery / Analysis of cyclic queueing networks Closed Queueing Networks with Blocking, Tecli. Rep., CS Dept., NC State University, 1986. R.O. Onvural and H.G. Perros, Throughput analysis of cyclic queueing networks with finite buffers, IEEE Trans. Soft. Eng. SE-15 (1989) 800-808. H.G. Perros, Open queueing networks with blocking, in: H. Takagi, ed., Stochastic Analysis of Computer and Communication Systems (North-Holland, Amsterdam), to appear. H.G. Perros and T. Altiok, eds. Proc. of the First International Workshop on Queueing Networks with Blocking (North-Holland, Amsterdam, 1989). J.G. Shanthikumar and D.D. Yao, Monotonicity proper-
ties in cyclic queueing networks with finite buffers, in: H.G. Perros and T. Altiok, eds., Proc. First International Workshop on Queueing Networks with Blocking (NorthHolland, Amsterdam, 1989) 325-344. [16] R. Suri and G.W. Diehl, A new building block for performance evaluation of queueing networks with finite buffers, A C M Perform. Eval. Rev. (1984) 134-142. [17] R. Suri and G.W. Diehl, A variable buffer size and its use in analyzing closed queueing networks with blocking, Management Sci. 32 (2) (1986) 206-225. [18] M. Veran and D. Potier, A portable environment for queueing systems modelling, INRIA Report 314, 1984.