An Approximation Method for Multi-class Closed Queueing Networks with Synchronization Mechanisms Bruno BAYNAT Laboratoire d’Informatique de Paris 6 (LIP6) Université Pierre et Marie Curie 4, place Jussieu 75252 Paris Cedex 05 FRANCE
[email protected]
Key words: Queueing networks, synchronization mechanisms, product-form approximations. Abstract: Queueing networks with synchronization mechanisms are encountered in the modeling and analysis of discrete event systems such as parallel computer systems and computer/communication networks. Exact analytical solutions of such networks are not available. In particular, due to the synchronization mechanisms, these networks do not have a product-form solution. As a result approximation methods that can provide accurate estimates of the performance parameters are of high interest. The purpose of this paper is to propose such an approximation method that applies to a fairly general class of multi-class closed queueing networks with synchronization mechanisms. The method is based on the use of a product-form approximation technique. Numerical results that show that the accuracy of the method is fairly good are provided. 1. INTRODUCTION One of the main features of models of systems such as parallel computer systems and computer/communication networks is that at some point jobs must be synchronized with other jobs in order to proceed further. Unfortunately, the synchronization mechanisms make the resulting models very difficult to analyze. In particular, queueing networks with synchronization mechanisms do not have a closed-form analytical solution similar to the product-form solution obtained for separable networks [1]. Provided that the system can be modeled by a Continuous-time Markov Chain, exact analytical results can, in principle, be obtained from numerical techniques [11], but in practice the complexity of these techniques make them tractable only for very small systems. On the other hand, synchronization is the basic feature of Petri Nets models [9, 10]. But again, the major problem in computing performance measures using Stochastic Petri Nets is the well-known state explosion problem, when trying to solve the underlying reachability graph. Several classes of stochastic Petri Nets different from the BCMP type models (as allowing some restrictive synchronizations), whose
steady state probability distribution have a product-form solution, have been discovered (see e.g. [7] or [5]). Unfortunately, although such results are of high interest from a theoretical point of view, the assumptions on these models are still too restrictive for modeling and analysis of real systems. As a result, the only tractable approach is to use approximation methods that can predict the performance parameters of queueing networks with synchronization mechanisms with a good enough accuracy. The purpose of this paper is to present an approximation method that can be used to analyze multi-class closed queueing networks with synchronization mechanisms between classes. The method is based on the use of a general product-form approximation technique described in [3]. The idea of this technique is to associate with the original multiclass network, a set of single-class product-form networks, each one modeling the behavior of a particular class of customers. The parameters of these product-form networks are obtained by analyzing in isolation each station of the original system. For a synchronized closed queueing network, two kinds of stations have to be analyzed in isolation. They correspond to service center stations, where customers of each class can receive service, and synchronization stations, where customers of different classes synchronize with each other. When the number of classes that visit a synchronization station is large, the exact analysis in isolation of such a station may be too costly. A class-aggregation technique has thus been developed in order to reduce the exact analysis in isolation of this multi-class synchronization station, to several analyses in isolation of a two-class synchronization station named as an aggregate synchronization station. It is shown that the classaggregation technique drastically reduces the complexity of the overall technique without introducing any significant additional error, and is thus of high interest. The paper is organized as follows. The model considered in this paper is presented in Section 2. In Section 3 the class of models considered are restricted to synchronized closed queueing networks whose behavior is independent of the initial distribution (placement) of the customers, as the
analytical technique does not take into account this kind of dependency. Section 4 presents the application of the technique developed in [3] to the class of synchronized closed queueing networks of interest. Finally, numerical experiments are reported in Section 6. 2. MULTI-CLASS CLOSED QUEUEING NETWORKS WITH SYNCHRONIZATION MECHANISMS We consider a multi-class closed queueing network consisting of M stations and R classes of customers. Customers are not allowed to change class. The total number of customers in each class is therefore constant. Let Nr be the total number of class-r customers. A station of this network is either a single-class service center or a synchronization station synchronizing different classes of customers. A single-class service center is a station visited by a single class of customers, with a general service time distribution represented by a Coxian distribution [6] (or more generally by a PH distribution) and a service discipline first-in-firstout (FIFO). Note that we restrict the description of the technique to single-class FIFO queues, but the technique can easily be extended to multi-class queues with different service disciplines [3]. A synchronization station is a station where customers of several classes are synchronized. Consider as an example, the synchronization station shown in Figure 1. This synchronization station involves three classes of customers and has a dedicated input buffer for each class. A customer of each class is released simultaneously through the synchronization station as soon as there is at least one customer in each of the input buffers of the synchronization station. As a consequence the only feasible states of this synchronization station are states where at least one input buffer is empty. class 1 class 2 class 3
Figure 1. Illustration of a synchronization station. Let S be the number of synchronization stations and L the number of single-class service centers (S+L = M). Without lost of generality, we assume that the synchronization stations are indexed from 1 up to S and the single-class service centers are indexed from S+1 up to M. Let S(r) ⊂ {1,..., M} be the set of indexes of the stations that are visited by class-r customers, r = 1,..., R. Let R(i) ⊂ {1,..., R} be the set of classes of customers that visit station i, i = 1,..., M. Note that for i > S, R(i) is reduced to a single class, since service centers are visited by a single class of customers. The routing of each class of customers is
assumed to be probabilistic. Let prij be the probability of a class-r customer leaving station i to join station j. Such networks will be referred to as multi-class synchronized closed queueing networks (MSCQN). An example of a MSCQN is shown in Figure 2. There are R = 4 classes of customers and M = 9 stations divided up into S = 2 synchronization stations (stations 1 and 2) and L = 7 service centers (stations 3 to 9). Synchronization station 1 involves two classes of customers (classes 1 and 2), while synchronization station 2 involves three classes of customers (classes 2, 3 and 4). Figure 2 also shows the routing probabilities of the customers through the network. N1 3
N2 2
4 1
0,4
6
0,6
7
5 0,5 8 N3
0,5 9 N4
Figure 2. Example of a MSCQN. 3. RESTRICTIONS ON THE MODEL In this section, we identify the class of MSCQNs for which the general approximation method proposed in [3] can be applied. Furthermore, we provide a simple procedure to check whether a given multi-class synchronized closed queueing network belongs to this class or not. Definition: A multi-class synchronized closed queueing network is said to be simple if its steady-state performance parameters do not depend on the initial distribution of the Nr customers of class r among the stations belonging to S(r), r = 1,..., R. Let us provide an example of a network that does not belong to the class of simple MSCQNs. Consider the queueing network shown in Figure 3. There are two classes of customers and two synchronization stations, both between customers of class 1 and class 2. If the initial state is such that all customers of class 1 are in synchronization station 1 and all customers of class 2 are in synchronization station 2, it is clear that the system is in a deadlock. Actually, class-1 customers are blocked at synchronization station 1 awaiting arrivals of class-2 customers and class-2 customers are blocked at synchronization station 2 awaiting arrivals of class-1 customers. If the initial state is such that all class-1 customers are in station 3 and all class-2 customers are in station 4, it is easy to show that the network is alive.
Moreover, for both classes, any distribution of the customers among the different stations is reachable. Of course, any initial distribution of the customers between these two extreme schemes will lead to a different stationary behavior. 1
2
N1
3
5
4
6
N2
Figure 3. Illustration of a system whose behavior depends on the initial distribution of the customers. The general product-form approximation technique presented in [3] can only be applied to the class of simple MSCQNs. Indeed, the performance parameters calculated using this technique do only depend on the populations of the different classes of customers but are otherwise independent of the initial state of the system. A simple way to characterize the class of synchronized closed systems, whose behavior depends on the initial distribution of the customers, is to detect a possible deadlock of a subset of classes of the model. A system is called possibly deadlocked if there exists an initial distribution of the customers that puts a subpart of the system in a deadlock state. The simplest system that can be possibly deadlocked is a system containing two synchronization stations, i and j, both visited by (at least) the same two classes, r and s ({r, s} ⊂ R(i) ∩ R(j)). In this case a deadlock (for classes r and s) occurs if all customers of class r are awaiting arrivals of class-s customers at station i while all customers of class s are awaiting arrivals of class-r customers at station j. This is the case in the example shown in Figure 3. As a consequence, the first condition that must be satisfied by any MSCQN to belong to the class of simple MSCQNs is the following: C1: ∀ i and j ∈ {1, ..., S}, Card (R(i) ∩ R(j)) ≤ 1. 1
3 4
N1
customers of class 1 are awaiting arrivals of class-2 customers at station 1 while all customers of class 2 are awaiting arrivals of class-3 customers at station 2 and all customers of class 3 are awaiting arrivals of class-1 customers at station 3. This kind of systems is characterized by a series of K different classes (r1 , r 2 , ..., r K) which are such that: rh ≠ rk ∀ h ≠ k {r1 , r 2 } ⊂ R(i 1 ) {r2 , r 3 } ⊂ R(i 2 ) : {rK-1, r K} ⊂ R(i K-1) {rK, r 1 } ⊂ R(i K) and ih ≠ i k ∀ h ≠ k. Such a series will be called a blocking series. It is clear that a system that contains a blocking series can be in a cyclic deadlock situation. This will occur if, for k = 1, ... K, all customers of class rk are awaiting arrivals of class-rk+1 customers (class-r1 if k = K) at station ik . As all the synchronization stations are different, the system is in a deadlock. As a consequence, the following condition is a necessary and sufficient condition for a MSCQN not to be possibly deadlocked: C2: It does not exist a blocking series. It is important to note that condition C1 is a particular case of condition C2. Indeed, if C1 is not satisfied, this means that there exist two synchronization stations, say i and j, that are both visited by two common classes, say r and s. Now, the series (r, s) is a blocking series as {r, s} ⊂ R(i), {s, r} ⊂ R(j) and i ≠ j. In order to detect if a given synchronized system contains a blocking series, we are going to consider the following graphs. The nodes of the graph are the classes and there is an edge between two nodes r and s if the system contains at least one synchronization station that involves class r and class s. The weight of a given edge (r, s) is the number of synchronization stations that involve class r and class s. The graphs associated with the examples of Figure 3, 4 and 2 are given in Figures 5a, 5b and 5c, respectively.
7 2
a)
N2
5
b)
8 6
9
1 N3
Figure 4. Another illustration of a possible deadlock. There exist some synchronized systems that can be in a deadlock situation and that satisfy condition C1. Figure 4 shows one such example. In this example condition C1 is satisfied as: R(1) ∩ R(2) = {2} ; R(2) ∩ R(3) = {3} ; R(3) ∩ R(1) = {1}. Now, this system can be in a deadlock if all
2
2
c) 2
1
2
3
3
4
1
Figure 5. Graphs associated with the examples of Figures 3 (a), 4 (b) and 2 (c).
Now, it is easy to show that conditions C1 and C2 can be translated in terms of structural properties on the associated graph as follows: C3: All the edges of the graph have a weight equal to 1. C4: Every (elementary) cycle of the graph corresponds to a set of classes that belong to a single synchronization station. As a result, we have the following property that can be used to detect if a given MSCQN belongs to the class of simple MSCQNs: Property: A MSCQN is simple if its associated graph satisfies conditions C3 and C4.
present at this station (see Figure 6). The behavior of this synchronization station can be represented by a continuoustime Markov chain whose state-vector is given by: (n1 , ..., nR ) with n r = 0, ..., N r, r = 1, ..., R. Note that, since the synchronization operation is instantaneous, the only feasible states are such that at least one input queue is empty. The steady-state probabilities P(n1 , ..., n R ) of this Markov chain can be calculated using any appropriate numerical technique [6]. Once the steady-state probabilities have been obtained, the marginal probabilities Pr(nr) required by the approximate method can simply be derived by summing up these detailed probabilities.
Let us consider the different examples of Figures 3, 4 and 2, and the corresponding graphs a), b) and c). The first one is clearly eliminated as the edge (1, 2) of the corresponding graph is weighted by 2, so condition C3 is not satisfied. For the example in Figure 4, condition C1 is satisfied, but there is an elementary cycle (1, 2, 3) and there is not any synchronization station that involves the three classes, 1, 2 and 3. So condition C3 is not satisfied. Now, it is easy to see that the example of Figure 2 satisfies both conditions C3 and C4. Indeed all the edges of the associated graph have a weight equal to 1 and the only cycle, (2, 3, 4), correspond to synchronization station 2. 4. ANALYSIS OF MSCQN In this section, we apply the product-form approximation method described in [3] to the class of simple MSCQN. As it appears in [3], one crucial step in this method is the analysis of each station of the system in isolation. The aim of the analysis in isolation of a given station, say station i, is to obtain the marginal probabilities P ri(nri) that n ri class-r customers are present in the queue for all possible values of nri, i.e., n ri = 0, ..., N r, and this for each class r that visits station i. In the model we consider, a station is either a single-class service center or a synchronization station between different classes of customers. For a single-class service center i, the analysis in isolation correspond to a λ(n)/Cox/1/Nr queue. Its steadystate probabilities, Pri(nri) , n ri = 0 , . . . , N r, can easily be obtained using efficient algorithms [5, 8]. As a result the main difficulty of the overall method rests on the analysis in isolation of a synchronization station. So, let us focus now on the analysis in isolation of a given synchronization station i. In order to simplify the notation we will drop in the rest of this section the index i referring to station i.
n1 λ1(n1) class 1 n2 λ2(n2) class 2 n3 λ3(n3) class 3 n4 λ4(n4)
class 4
Figure 6. Analysis of the synchronization station in isolation . Let X r be the throughput of class-r customers at this synchronization station. It can be expressed as: Nr - 1
Xr =
∑
λr(nr) Pr (nr)
(1)
nr =0
As the synchronization simultaneously releases one customer of each class, it is clear that all the throughputs are equal, i.e.: X1 = X2 = ... = XR ≡ X (2) X will be referred to as the throughput of the synchronization station. X can alternatively be expressed as in relation (3). Indeed the only states from which a departure (i.e., the release of one customer of each class) from the synchronization station can occur, are states such that exactly one input queue is empty, i.e., ∃ r such that nr = 0 and n s > 0, s ≠ r. Given that the system is in such a state a departure occurs with a rate λ r(0). R
4.1. Exact analysis in isolation For the sake of simplicity, let us assume that the synchronization station is visited by the R classes of customers, that is every class r, r = 1, ..., R. Customers of class r arrive to this queue according to a state-dependent Markovian process with arrival rates λ r(nr), n r = 0, ..., N r-1, that only depend on nr, the number of class-r customers
X=
∑ λ r(0) P(nr = 0andn s >0, s ≠ r)
(3)
r=1
It is important to note that for a two-class synchronization station, the associated Markov chain can be viewed as a birth-death process. As a result the marginal probabilities can simply be expressed [2].
4.2. Class-aggregation technique When R is large, calculating the steady-state probabilities of the Markov chain associated with the synchronization station of Figure 6 may be very tedious. In this section, we propose a class-aggregation technique that can be used to drastically reduce the complexity of the analysis of the synchronization station. To understand the general principle of this technique let us consider a particular class of customers, say r. With respect to class-r customers, the customers of the other classes can be considered as resources that are required in order for class-r customers to proceed through the synchronization station. Indeed, the synchronization mechanism forces every class-r customer to synchronize with a customer of every other class. The only condition that must be satisfied for a class-r customer to be allowed to depart from the synchronization station, is that (at least) one customer of each of the other classes be present. This condition can be represented by a permit for class r. Let n a denote the number of class-r permits available at any time. It is given by: na =min {ns} (4) s≠ r
Note that a class-r permit can be viewed as a join of R-1 customers, one of each class s, s ≠ r. This is illustrated in Figure 7 for the case R = 4 and r =1. n1 λ1(n1) class 1 n2-na λ2(n2)
class 2 n3-na
na
λ3(n3) class 3 n4-na
class-1 permits
λ4(n4) class 4
Figure 7. Illustration of class-r permits . Note that at least one of the quantities nr and n a is zero at any time. In the case where n r > 0 (and thus na = 0), every class-r customer must wait until a new permit becomes available. Therefore, the effect of the customers of the other classes on class-r customers can be represented in an aggregate way by the effect of the class-r permits. The classaggregation idea can then be applied as follows. For each class of customers, say r, transform the original multi-class synchronization station into a two-class synchronization station in which the effect of the other classes is represented in an aggregate way by means of an aggregate class, referred to as class a r. The class-ar customers represent the class-r permits. The two-class synchronization station corresponding
to class r is illustrated in Figure 8. It will be referred to as the r-th aggregate synchronization station. Note that this transformation has to be performed R times, each one with respect to a particular class of customers, in order to obtain estimations of the marginal probabilities of all the classes. nr r λr(nr)
class r na
r λ a(na)
class
ar
Figure 8. Illustration of the class-aggregation technique. Notation. In the following, all the quantities pertaining to the analysis of the r-th aggregate synchronization station will be denoted using the superscript r, except the number of class-r customers and the number of class-ar customers, which will simply be denoted by nr and n a. The arrival process of class-r customers in the r-th aggregate synchronization station is the same as that of the original synchronization station: λrr (nr ) = λ r (nr ) for r = 1, ..., R and nr = 0, ..., N r -1 (5) The arrival process of class-ar customers (class-r permits) is modeled as a Markovian process whose rate λra (na) depends on the total number of class-a r customers currently present in the queue. If the rates λra (na) are given, the r-th aggregate synchronization station can straightforwardly be analyzed as explained at the end of Section 4.1. The detailed joint probabilities Pr(nr, n a) (with nr = 0 or na = 0) and the marginal probabilities Prr (nr) of having nr class-r customers, can easily be derived. Finally, the throughput of class-r customers, X rr , can be calculated using: Nr - 1
Xrr
=
∑
λrr(nr) Prr(n r)
(6)
nr =0
In the following, we derive a set of equations that can be used to determine the arrival rates of the aggregate classes (refer to Figure 4 for illustration of the derivation). Equation (4) implies that the maximum number of class-ar customers that can be present at the synchronization station, say N ra , is equal to: Nar = min {N s} (7) s≠ r
Therefore, λra ( N ra ) = 0. We thus have to determine for each class ar , r = 1, ..., R, the quantities λra (na), for na = R
0,..., N ra -1. The total number of unknowns is thus
∑
r=1
We need as many equations to determine these unknowns.
Nar.
Let n r = [n s]s ≠ r denote the state-vector representing the number of customers of all the classes but class r. A given number of class-ar customers, na, may actually represent different state vectors n r. Let E r (na) denote the set of all possible vectors n r having the same associated number of class-ar customers: Er (na) = {n r = [ns]s ≠ r such that ns ≥ n a and ∃ t ≠ r such that n t = n a} (8) Let λra (n r) denote the arrival rate of class-ar customers corresponding to a particular state n r. There are two cases to be considered. On the one hand, if n r is such that exactly one class, say s, is such that ns = n a, while all the other classes t ≠ s are such that nt > na, one new permit will become available as soon as one customer of class s arrives (regardless of arrivals of customers of other classes). Thus in that case λra (n r) = λ s(ns). On the other hand, if there are at least two classes of customers, say s and t, such that ns = n t = n a, a single arrival (either of a class-s customer or of a class-t customer) will not increase the number of permits available. Thus in that case λra (n r) = 0. In summary, we have: λ (n ) if ns = na andn t > na forallt ≠ rand s λra( nr) = s s (9) 0 else The aggregate arrival rate λra (na) of class-ar customers can be calculated as a weighted average sum of the arrival rates λra (n r), the weight corresponding to the probabilities of being in state n r, i.e.: r r r ∑ λar(n ) P (n ) λra(n a) =
r
r
n ∈ E (n a)
r
∑
(10)
Pr(nr)
r
n ∈ E (na )
Now from the definition of the set Er (na), the sum of all the probabilities Pr(n r) such that n r ∈ E r (na) can be expressed as: (11) ∑ Pr(nr) = P r(ns ≥ na, s ≠ r) - P r(ns > n a, s ≠ r) r
∑ λs(na) Ps (ns = n a) ∏ s
λra(n a) =
s ≠r
Using (9) and (11), relation (10) can simply be written as: λra(n a) =
∑ λs(na) P r(ns = n a andn t >n a, t
P (ns ≥ na, s ≠ r ) - P (ns > n a, s ≠ r) r
r
λra (na),
(12)
Thus in order to determine one must estimate the unknown probabilities appearing in (12). One simple way to do that is to approximate each such joint probability by the product of the marginal probabilities: Pr(nr) = ∏ Pss(ns) (13) s≠ r
Using this approximation, relation (12) leads to:
∏
> n a)
(14)
R
need ∑ Nar equations in order to determine all the unknown r=1
rates λra (na). Relation (14) could of course be applied for all the values of na, n a = 0,..., N ra -1, and all classes r, r = 1, ..., R, and then provide a way to determine these values. The problem with this approach is that the rate λra (0) is less accurately estimated by relation (14) than the rates λra (na) for na > 0. This is due to the fact that the estimation of the detailed probability Pr(n r) by the product of the marginal probabilities is less accurate when n r ∈ E r (0). Moreover, this approach would lead to values of the throughputs X rr , r = 1, ..., R, that would not be equal. This is due to the approximation involved in the class-aggregation technique. To avoid this problem, we do not use (14) to determine the rates λra (0), r = 1, ..., R, but instead constrain the throughputs X rr , r = 1, ..., R, to be equal by explicitly using the following equations in the determination of the arrival rates of the aggregate classes: X rr = X for r = 1, ..., R (15) Furthermore, an estimation of the throughput X can be obtained by using the following equation: R
X=
∑ λrr(0)P r(n r =0and na >0)
(16)
r=1
This expression is nothing but relation (3) where the probability P(nr = 0 and n s > 0, s ≠ r) is estimated by the probability Pr(nr = 0 and na > 0) resulting from the analysis of the r-th aggregate synchronization station. We end up with R
the following system of
∑
Nar equations:
r=1
for r = 1, ..., R: λ ar (na) =
∑ λs(na) Pss(ns = na) ∏ s≠ r
∏
s ≠r
≠ rands)
s≠ r
∏
As mentioned at the beginning of this subsection, we
r
n ∈ E (n a)
Ptt(nt > n a)
t ≠ rands Pss(n s ≥ na) Pss (ns s≠ r s≠r
Pss(ns ≥ n a)
Ptt (nt > na)
t ≠ r ands Pss(ns > na) s ≠r
(17)
∏
forna = 1,..., N ar-1 Xrr = X Finally, we must note that X rr can equivalently be written as: Xrr = λrr(0) Pr(nr = 0 andn a >0) + λar(0) Pr (nr > 0andn a =0) (18) Then from relation (16) and (18) one can easily derive an analytical expression for λra (0). So it appears that the arrival rates λra (na) for n a = 0, ..., N ra and for r = 1, ..., R are
solution of a fixed-point problem. An iterative algorithm will then be used to determine these quantities (for more details see [3]). 5. NUMERICAL RESULTS We have tested the general method on several MSCQN. The analytical results have been compared to simulation results obtained using QNAP2. On various configurations including one or more synchronization stations and also a various number of service centers, we varied the total number of customers of each class as well as the service time distributions. Here, we present a significant example of the results obtained. The example is that of Figure 1. The service time distributions of each station are modeled by Coxian-2 distributions. The parameters of the stations are given in the form (µ1 , a 1 , µ2 ) where µ1 and µ2 are the service rates of stages 1 and 2 of the Coxian distribution and a1 is the transition probability from stage 1 to stage 2 [6] (see Table 1). Tested on two configurations, corresponding to two different population vector N, this example leads to the results given in Tables 2 and 3. Table 2 shows the results pertaining to the throughputs at the two synchronization stations, while Table 3 shows the results pertaining to the mean residence times at the different stations. The simulation results are given with their 95% confidence intervals. Analytical results are given when both exact analyses in isolation of the synchronization stations are provided and when the class-aggregation technique (for the analysis in isolation of the three-class synchronization station) is used. All analytical results are given together with the relative error with respect to the simulation results. It appears that the results obtained by our method are fairly good: the throughputs of all classes of customers are equal, which is consistent with the model considered, and are estimated with an error less than 2 %. The results pertaining to the mean residence time are less accurate but the error remains very reasonable (most of the time, less than 10%). Moreover the accuracy does not deteriorate when using the class-aggregation technique. Similar results were obtained on many different examples, involving more stations and synchronizing more classes. 6. CONCLUSION In this paper we have proposed an approximation method for the analysis of multi-class closed queueing networks with synchronization mechanisms. Our method is based on the use of a product-form approximation technique for multiclass networks developed in [3]. Numerical results show that this method is fairly accurate. In this paper, we have restricted our attention to queueing networks consisting of
single-class FIFO queues and multi-class synchronization stations. However, as mentioned earlier, one of the attractive feature of the method we use is that it is very general. Indeed, it can be applied to networks having various different mechanisms, e.g., multi-class queues with general service time distributions and various service disciplines [3], subnetworks with population constraints [2], fork/join mechanisms [4]. REFERENCES [1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
F. Baskett, K.M. Chandy, R.R. Muntz and F. PalaciosGomez, « Open, closed and mixed networks of queues with different classes of customers », J. ACM 22, N° 2, pp. 248-260, April 1975. B. Baynat and Y. Dallery, « Approximate techniques for general closed queueing networks with subnetworks having population contraints », European Journal of Operational Research, Vol. 69, pp. 250-264, 1993. B. Baynat and Y. Dallery, « A Product-form Approximation Method for General Closed Queueing Networks with Several Classes of Customers », Performance Evaluation, Vol. 24, pp. 165-188, 1996. Baynat B. and Y. Dallery, « An approximation method for general closed queuing networks with Fork/Join mechanisms », Journal of the Operational Research Society, Vol. 51, pp. 198-208, 2000. R. J. Boucherie, « A characterization of independence for competing Markov chain with applications to stochastic Petri nets », Proc. 5th Int. Workshop on Petri Nets and Performance Models, Toulouse, France, 1993. D.R. Cox, « A use of complex probabilities in the theory of stochastic protestes », Proc. Camb. Philos. Soc. 51, pp. 313-319, 1955. A. A. Lazard and T. G. Robertazzi, « Markovian Petri net protocols with product form solution », Performance Evaluation, Vol. 12, pp. 67-77, 1991. R. Marie, « Calculating equilibrium probabilities for λ(n)/Ck /1/N queues », Performance Evaluation 9, pp. 117-125, 1980. T. Murata, « Petri Nets: Properties, Analysis and Applications », Proc. of the IEEE, Vol. 77, No. 4, pp. 541-580, 1989. C. A. Petri, Communication with Automata, New York Griffiss AFB, Technical Report RADC-TR-65--377, Vol. 1, pages Suppl. 1, 1966. W.J. Stewart, « An Introduction to the Numerical Solution of Markov Chains », Princeton University Press, NJ, 1994.
Station 3 Station 4 Station 5 Station 6 Station 7 Station 8 Station 9 (0.5, 0, -) (2, 0.5, 2) (2, 0.1, 0.2) (0.67, 0.1, 0.2) (0.5, 0.1, 0.1) (1.33, 0.5, 0.2) (0.67, 0.1, 0.2) (2, 1) (0.75, 0.78) (1, 5) (2, 1.75) (3, 2.55) (1, 0.75) (2, 1.75)
(µ1 , a 1 , µ2 ) (moy., cv 2 )
Table 1. Parameters of the service centers.
Class 1 Class 2 Class 3 Class 4
N1 = 5 ; N2 = 7 ; N3 = 9 Exact anal. Class-aggreg. 0.3999 0.3959 1.7 % 0.5 % 0.3999 0.3959 1.7 % 0.5 % 0.3999 0.3959 1.7 % 0.5 % 0.3998 0.3959 1.7 % 0.5 %
; N4 = 6 Simul. 0.3932 +/- 0.004 0.3932 +/- 0.004 0.3932 +/- 0.004 0.3932 +/- 0.004
N1 = 10 ; N2 = 15 ; N3 = 11 ; N4 = 13 Exact anal. Class-aggreg. Simul. 0.4421 0.4407 0.4397 0.5 % 0.2 % +/- 0.017 0.4420 0.4407 0.4397 0.5 % 0.2 % +/- 0.017 0.4420 0.4407 0.4397 0.5 % 0.2 % +/- 0.017 0.4421 0.4407 0.4397 0.5 % 0.2 % +/- 0.017
Table 2. Throughputs.
Station 1
Class 1 Class 2 Class 2
Station 2
Class 3 Class 4
Station 3
Class 1
Station 4
Class 2
Station 5
Class 3
Station 6
Class 3
Station 7
Class 3
Station 8
Class 4
Station 9
Class 4
N1 = 5 ; N2 = 7 ; N3 = 9 ; N4 = 6 Exact anal. ClassSimul. aggreg. 5.862 6.039 5.565 5.3 % 8.5 % +/- 0.099 2.109 2.180 2.938 - 28 % - 26 % +/- 0.067 14.37 14.47 13.82 4.0 % 4.7 % +/- 0.134 11.05 11.34 11.55 - 4.3 % - 1.8 % +/- 0.107 1.841 2.096 1.906 - 3.4 % 10 % +/- 0.046 6.642 6.589 7.151 - 7.1 % - 7.8 % +/- 0.053 1.028 1.033 1.049 - 2.0 % - 1.5 % +/- 0.008 2.797 2.786 2.855 - 2.0 % - 2.4 % +/- 0.041 3.361 3.348 3.369 - 0.2 % - 0.6 % +/- 0.041 12.19 12.12 11.89 2.5 % 1.9 % +/- 0.185 3.299 3.264 3.377 - 2.3 % - 3.3 % +/- 0.013 6.568 6.529 6.593 - 0.4 % - 1.0 % +/- 0.050
N1 = 10 ; N2 = 15 ; N3 = 11 ; N4 = 13 Exact anal. ClassSimul. aggreg. 10.57 10.62 9.221 15 % 15 % +/- 0.450 3.363 3.841 5.675 - 40 % - 32 % +/- 0.561 29.49 29.12 27.29 8.1 % 6.7 % +/- 0.711 10.43 10.53 10.91 - 4.3 % - 3.5 % +/- 0.143 4.475 4.757 3.985 12 % 19 % +/- 0.1378 12.05 12.07 13.52 - 11 % - 11 % +/- 0.339 1.074 1.079 1.139 - 5.7 % - 5.3 % +/- 0.005 3.240 3.236 3.216 0.7 % 0.6 % +/- 0.045 3.628 3.624 3.634 - 0.2 % - 0.2 % +/- 0.048 16.27 16.23 15.73 3.4 % 3.1 % +/- 0.246 6.135 6.073 6.541 - 6.2 % - 7.1 % +/- 0.048 12.66 12.59 12.49 1.4 % 0.8 % +/- 0.200
Table 3. Mean residence times.