Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
A Unifying Approach to Product-forms in Networks with Finite Capacity Constraints Simonetta Balsamo Peter G. Harrison Andrea Marin Dipartimento di Informatica Università Ca’ Foscari di Venezia via Torino, 155 Venice, Italy Department of Computing Imperial College London South Kensington Campus London SW7 2AZ, UK Dipartimento di Informatica Università Ca’ Foscari di Venezia via Torino, 155 Venice, Italy pgh@doc.ic.ac.uk balsamo@dsi.unive.it ABSTRACT In queueing networks with blocking, stations wishing to transmit customers to a full queue are blocked and need to take alternative action on completing a service. In general, productforms, i.e. separable solutions for such a network’s equilibrium state probabilities, do not exist but some productforms have been obtained over the years in special cases, using a variety of techniques. We show that the Reversed Compound Agent Theorem (RCAT) can obtain these diverse results in a uniform way by its direct application, so unifying product-forms in networks with and without blocking. New product-forms are also constructed for a type of blocking we call ‘skipping’, where a blocked station sends its output-customers to the queue after the one causing the blocking in that customer’s path. Finally, we investigate a novel congestion management scheme for networks of finitecapacity queues in which a station with a full queue transmits signals that delete customers from upstream queues in order to reduce incoming traffic. Categories and Subject Descriptors C.4 [PERFORMANCE OF SYSTEMS]: Modeling techniques General Terms Performance Keywords Queueing theory, Product-form solutions. 1. INTRODUCTION Queueing networks with bounded queues and blocking were introduced to represent systems with finite capacity resources and population constraints. When a queue reaches Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SIGMETRICS’10, June 14–18, 2010, New York, New York, USA. Copyright 2010 ACM 978-1-4503-0038-4/10/06 ...$10.00. marin@dsi.unive.it its maximum capacity, the flow of customers into its service center, or station, is stopped, both from other stations and from external sources in the case of open networks; it is then that the blocking phenomenon occurs. Stations trying to transmit customers to a full queue are blocked and need to take alternative action on completing a service. Various blocking mechanisms have been defined and analyzed in the literature to represent distinct behaviours of real systems with limited resources [2, 11]. Queueing networks with finite capacity and blocking are widely used for modelling telecommunication and manufacturing systems, as illustrated in [11, 12, 2]. However, they are difficult to solve: in general, their steady-state queue length distributions cannot be shown to have a product-form (or separable) solution. Hence, most of the techniques that are employed to analyse these networks are in the form of approximations, simulations or direct numerical techniques. However, some product-forms have been obtained over the years for some special cases, using a variety of techniques. Such product-form solutions hold under particular constraints, depending on the network topology and the various blocking types associated with the finite capacity queues. A survey can be found in [2]. Some efficient algorithms have been defined to evaluate performance indices, appropriately extending the well-known basic algorithms for the class of product-form BCMP networks (with infinite capacity queues), such as the Convolution and MVA algorithms, to networks with finite capacity queues. The proofs of product-form solutions of blocking networks, when they exist, use various approaches, including the analysis of the underlying Markov process, exploiting the reversibility property, by defining a dual network, or using other special techniques. The first approach can be applied to networks whose underlying Markov process can be shown to be that obtained by truncating the reversible Markov process of the corresponding network with infinite capacity. A product-form solution follows from the analysis of truncated Markov processes. The second approach to derive product-form, based on a duality principle, defines a dual network which has the same stationary joint queue length distribution. It is usually obtained from the original one by reversing the connections between the nodes1 , and its customers correspond to the holes of the original (primal) network. When a customer 1 The term ‘node’ is used to describe a service station and its queue combined moves from node i in the original network, a hole moves backward to node i in the dual one. The two networks have the same equilibrium state probabilities. Under certain constraints, such as when the non-empty condition is satisfied, then the dual network has a product-form solution in the same way as a network without blocking. The complete definition of the product-form solution depends on the network topology and the blocking type. The identification of unifying conditions under which queueing networks with finite capacity constraints have a productform solution has been an open issue. We show that the Reversed Compound Agent Theorem (RCAT) can obtain these diverse results in a uniform way by its direct application, so unifying product-forms in networks with and without blocking. We also construct new product-forms for a type of blocking we call ‘skipping’, where a blocked station sends its output-customers to the queue after the one causing the blocking in that customer’s path. Further, we investigate a novel congestion management scheme for networks of finitecapacity queues in which a station with a full queue transmits signals that delete customers from upstream queues in order to reduce incoming traffic. The paper is structured as follows. Section 2 describes the blocking mechanisms used in networks of queues with finite capacities and reviews the main results in literature. Special attention is devoted to the presentation of networks with product-form solutions and blocking. Section 3, after briefly recalling ERCAT, illustrates its application to queueing networks with repetitive service blocking. In Section 4 we derive the product-form solution for the skipping blocking mechanism and in Section 5 we formulate the conditions for and the expression of the new product-form solution for a special congestion management scheme. Conclusion follows. be used as a buffer when the node is blocked: BBS-SO (server occupied) and BBS-SNO (server not occupied). We consider BBS-SO blocking, which is conventionally called, simply, BBS. • Repetitive Service Blocking (RS): if, upon completion of its service at queue i, a job attempts to enter a destination queue j, which is full, the job is looped back into the sending queue i, whereupon it receives a new, independent and identically distributed (iid) service time. Two subcategories have been introduced, depending on whether the job, after receiving a new service, chooses a new destination node independently of the one that it had selected previously: RS-RD (random destination) and RS-FD (fixed destination). Consider now a network of exponential queues, with finite capacity, one class of customers, and probabilistic routing. The network may be open or closed and we introduce the following notation: • N is the number of queues; • K is the number of customers (for a closed network); • P = [pij ] is the routing probability matrix, where pij is the probability for a customer to go to station j after being served by station i, 1 ≤ i, j ≤ N ; • µi is the service rate of station i, 1 ≤ i ≤ N ; • λi is the external arrival rate (from outside the network) to station i, 1 ≤ i ≤ N ; • pi0 is the probability that a customer leaves the network after being served by station i; 2. PREVIOUS RESULTS ON BLOCKING • Bi is the capacity of the i-th queue, 1 ≤ i ≤ N ; Various blocking types have been defined to represent different system behaviours. We recall three of the most commonly used blocking types. • n = (n1 , . . . , nN ) is the network’s state-vector, the ith component being the queue length at station i; • Blocking After Service (BAS): if a job attempts to enter a full queue j upon completion of service at node i, it is forced to wait in node i’s server until the destination node j can be entered. The server of the source node i stops processing jobs (it is blocked) until the destination node j releases a job; its service will be resumed as soon as a departure occurs from node j. At that time, the blocked job waiting in station i immediately moves to node j. If more than one node is blocked by the same node j, then a scheduling discipline must be devised to define the unblocking order of the blocked nodes when a departure occurs from node j. • Blocking Before Service (BBS): a job declares its destination node j before it starts receiving service at node i and if at that time node j is full, the service at node i does not start and the server is blocked. If a destination node j becomes full during the service of a job at node i whose destination is j, node i service is interrupted and the server becomes blocked. Similarly to BAS, the service at node i will be resumed as soon as a departure occurs from node j. The destination node of a blocked customer does not change. Two subcategories distinguish whether the server can • π(n) is the stationary probability of n, when this exists. Let e = (e1 , . . . , eN ) denote the solution of the traffic equations, ei = λi + N X er pri (1) r=1 for 1 ≤ i ≤ N . If the routing probability matrix is irreducible, this system has a unique solution for open networks and an infinite number of solutions for a closed network, unique up to a multiplicative constant. Under the usual assumptions of exponential delays and independence between service times and inter-arrival times, the network can be represented by a continuous-time, homogeneous Markov chain (CTMC). The definition of the system state and the generators of the CTMC of a network with finite capacity queues and blocking depends on both network characteristics and on the type of blocking. Let Si denote the detailed state of node i, which includes the number of customers in node i, ni , and other components that depend on both the node type (service discipline and, in general, service time distribution) and the blocking type. The CTMC of a network with finite capacity queues has finite state space if the network is either closed or if it is open and there is an upper bound on the network population, for example if each queue has finite capacity. In these cases the CTMC is irreducible when the routing matrix of the network is irreducible. Note that closed queueing networks with finite capacity queues and blocking can deadlock, depending on the blocking type. Deadlock prevention and blocking types BAS, BBS and RS-FD require that the overall network population K is less than the total buffer capacity of the nodes in each possible cycle in the network, whereas for RS-RD blocking it is sufficient that the routing matrix P is irreducible and K is less than the total buffer capacity of the nodes in the network . We consider only deadlock-free queueing networks at equilibrium. Exact solution of queueing networks with blocking can be obtained by direct analysis of the underlying Markov process or by more efficient techniques for some classes of networks. The direct Markov process analysis requires the definition of the generator matrix and then the solution of the linear system of global balance equations. This leads to the evaluation of the joint state probability distribution of all the nodes in the network in steady-state conditions and hence their average performance indices, for example. Note that although the state space is finite for closed and some open networks, and it can be much smaller than the corresponding network without blocking because of the population constraints, in general its cardinality grows combinatorially with the number of nodes and the population. Note that for open networks with finite capacity queues, which include at least one infinite capacity queue, the state space of the underlying Markov process is infinite and the solution of the global balance equations has to be approximated numerically. 2.1 Product-form networks Under certain constraints, depending both on the network definition and the blocking mechanism, special solutions for the equilibrium state probabilities can be defined. In particular, in some cases a product-form solution holds and efficient solution algorithms can be applied to derive the performance indices. Product-form solutions for the joint queue length distribution π(n) for single class open or closed networks under given constraints, depending both on the network topology and the blocking mechanism, can be defined as follows: N Y 1 (2) grnr , π(n) = V (n) G r=1 P where G is a normalising constant and n = N r=1 ni is the total network population. The functions V and gi are defined in terms of network parameters, which include the solution of the traffic balance equations ei and the service rates µi (1 ≤ i ≤ N ), and depend on the blocking type and additional constraints. Product-form solutions (2) have been derived for networks with different blocking types by specific case-analyses; a detailed description can be found in [2]. In particular product-form holds for the following five network topologies: two-node networks, cyclic topology, central server (or star topology) and reversible routing networks with arbitrary topology. The first three are special cases of closed networks, the last two apply to closed and open networks. Some product-forms hold for both homogeneous networks, where each node operates with the same blocking mechanism, and non-homogeneous ones. The case of queueing networks with a reversible routing matrix admits a more general topology. A routing matrix P is said to be reversible if the following conditions hold: ( ei pij = ej pji ∀1 ≤ i, j ≤ N (3) λi = ei pi0 ∀1 ≤ i ≤ N Note that for closed networks, only the first condition has to be verified. Two-node networks are a special case of reversible routing. Note that formula (2) generalizes the product-form expression for BCMP networks, and in certain cases, corresponds to the same solution as for queueing networks with infinite capacity queues computed on the truncated state space defined by the network with finite capacities. We now recall the most significant product-forms: 1) for reversible routing networks; 2) for (possibly non-reversible) routing networks with arbitrary topology. The two cases use quite different approaches to derive the product-form solution. The former relies on the reversibility property of the underlying CTMC, which is a truncation of that of the same network without finite capacity; the single, finite capacity M/M/1 queue is a well-known example. The product-form solution is then the BCMP product-form, renormalised over the reduced state space. The latter is based on the definition of a dual network that has the same equilibrium probability distribution, which is proved to be in product-form under the so-called non-empty condition, introduced below. We now focus on RS-RD blocking. Note that by using some equivalence properties between blocking types, which hold under certain conditions, the analysis proposed for RS blocking can also be applied to networks with finite capacity and BBS or BAS blocking types. A survey of these equivalence properties among networks with different blocking types can be found in [2]. 2.2 Reversible routing networks This section summarizes Akyildiz’s results on productform queueing networks with RS blocking [1]. Note that this by no means claims to be a complete list of all the author’s results. Theorem 1 (Akyildiz product-form). Let Q be a network of queues with finite capacity, exponentially distributed service times and repetitive service blocking. If e = (e1 , . . . , eN ) is a solution of the system of traffic equations (1) and the routing matrix P is reversible, i.e., if equations (3) hold, then the stationary probability distribution has the following product-form: π(n) ∝ N Y r ρn r , (4) r=1 where ρr = er /µr . In other words, product-form solution (2) holds by definr ing function V (n) = 1 and gr (nr ) = ρn r . This product-form is still valid for multi-class networks with FCFS exponential nodes and class independent capacities. Remarks on Akyildiz’s result 1. The traffic equations will have a solution e with ei > 0 for all i ∈ [1, N ] if the network topology is irreducible, i.e., any station is reachable from any other. 2. Given Conditions (3), the traffic equation for station i becomes: ei = λi + N X er pri = λi + r=1 N X ei pir = λi + ei (1 − pi0 ). r=1 For an open station i (with λi > 0 or pi0 > 0), we therefore have: λi = ei pi0 , ei pij = ej pji ∀i (6) if λi > 0 and pi0 > 0 (7) ∀i, j. y = yP′ , (5) which is the second equation of Conditions (3). Moreover, λi = 0 if and only if pi0 = 0, whereupon the traffic equation becomes an identity. Therefore, we can rewrite Conditions (3) in the following equivalent form: the network is in product-form if there exists a vector e with positive components, such that: λi > 0 ⇔ pi0 > 0 ei = λi /pi0 This solution can be extended to arbitrary topology networks with load independent service rates for RS blocking, as proved in [9]. If the non-empty condition holds, then the network has the product-form solution (2) with gr (nr ) = 1/yr , where y = (y1 , . . . , yN ) is the solution of the equations: (8) If the network satisfies (6), (7) and (8), for any open station i , ρi = λi /(µi pi0 ). For other stations, the vector e must first be solved for and ρi calculated as ei /µi . 2.3 Non reversible routing networks Some product-form solutions for networks without reversible routing are based on a duality principle. For single class, exponential servers, load independent service rates and finite capacity queues, one can define a dual network which has the same stationary joint queue length distribution. To this end we introduce the non-empty condition for closed networks. This requires that at most one node can be empty, i.e., K ≤ B − Bmin , where Bmin = min1≤i≤N (Bi ) P and B = N r=1 Br , i.e., the total capacity of the network. This condition is said to hold strictly when each node can never be empty, i.e. the inequality is strict. The simplest case of a network with finite capacity and this type of product-form is the cyclic closed network with N nodes, K customers, node capacities Bi (1 ≤ i ≤ N ) and BBS or RS blocking. The dual network is obtained from the original one by reversing the connections between the nodes. It is formed by N nodes and (B − K) customers, which correspond to the ‘holes’ of the original (primal) network, PN where B = r=1 Bi is the total capacity of the network. When a customer moves from node i in the original network, a hole moves backward to node i in the dual one. When there are ni customers in node i of the original network, the i-th node of the dual one contains Bi − ni holes. It can be shown that the underlying Markov process that describes the evolution of customers in the network is equivalent to the one that describes the evolution of the holes in the dual network. As a consequence, when the non-empty condition is satisfied, the total number of holes in the dual network cannot exceed the minimum capacity, i.e. (B − K) ≤ Bmin , and the dual network has a product-form solution like a network without blocking. Hence the product-form solution for the primal network is given by equation (2) with V (n) = r 1 and gr (nr ) = 1/µn r−1 , where we identify node 0 with node N. ′ (9) [p′ij ] and where the matrix P = is defined as follows in terms of the routing probability matrix P and service rates µi : ( p′ij = µj pji P p′ii = 1 − j6=i p′ji ∀1 ≤ i, j ≤ N, j 6= i ∀1 ≤ i ≤ N (10) Notice that this product-form solution for the non-reversible network differs from that of equation (4), which corresponds to the renormalised BCMP product-form, since its traffic equations differ. This highlights the diversity of techniques that have been found necessary to solve specific networks with customised techniques. 3. ERCAT FORMULATION An alternative approach is to apply the Extended Reversed Compound Agent Theorem (ERCAT) of [7, 8]. For readers unfamiliar with ERCAT, we first describe informally how it is applied, explaining what are the various sets of active and passive actions used in the statement of the theorem. Note that, in literature, the following theorem is referred as ERCAT when applied to study the cooperation of two agents, and as MARCAT when applied to study the pairwise cooperations of a set of agents whose cardinality may be greater than two. Since the passage from ERCAT to MARCAT is rather intuitive, for the sake of brevity, in what follows we just recall ERCAT and we use this name instead of the more appropriate MARCAT. 3.1 The generic RCAT algorithm Whilst dependent on reversed processes for its original derivation, an application of RCAT can be done purely mechanically if the steady-state probabilities are known for the component-processes; from these the reversed processes could be computed if desired, but this is not the case here. ✁ For simplicity, we consider the cooperation P1 ✄ P2 ; the L treatment is similar for n-way cooperations. 1. From Pk construct Rk by setting the rate of every instance of action a ∈ L that is passive in Pk to xa , for k = 1, 2 (note that each a will be passive for only one k); 2. For each active action type a in Rk , k = 1, 2, check that a certain quantity ra is the same for all of its instances, i.e., for all transitions i → j that a denotes in the state transition graph of Rk . This quantity is computed as2 ra = πk (i)rai /πk (j) 2 The calculation uses the equation πj q̄ji = πi qij , where πk is the equilibrium probability of state k in a stationary Markov process, qij is the instantaneous transition rate i → j and q̄ji is its reversed rate (hence j → i) [6, 10]. where rai is the specified forward rate of the (any, if more then one) instance of action type a going out of state i; 3. Noting that the symbolic reversed rate ra will in general be a function of the xb (b ∈ L), solve the rate equations xa = ra (11) for each a ∈ L and substitute the solutions for the variables xa in each Rk ; 4. Check that the conditions given below are satisfied. For queueing networks, these are as in the original RCAT [6], namely that all passive actions be enabled in all states and that all states also have an incoming instance of every active action; 3.2 Application to blocking networks Each station of a network of queues is an agent, whose state is the number of customers hosted at a given time. Transitions can occur only between adjacent states: an arrival takes agent i from state n to n + 1, 0 ≤ n < Bi and a departure takes agent i from state n to n − 1, 0 < n ≤ Bi , where Bi is the capacity of queue i. We use passive actions to label those transitions that are caused by the departure of a customer from some station to another queue, and active actions to label those transitions that are caused by the arrival of a customer that comes from another station. Transitions corresponding to arrivals from or departures to outside the network are not labelled. Figure 1 depicts this model. Note that the transitions with rate λi and µi pi0 may be absent, but the ERCAT rate equation analysis is unaffected since they do not have synchronizing labels. 5. The required product-form for state s = (s1 , s2 ) is now π(s) ∝ π1 (s1 )π2 (s2 ) where πk (sk ) is the equilibrium probability (which may be unnormalised) of state sk in Rk . ERCAT conditions The conditions that need to be satisfied in the fourth step of the above algorithm are given by the following equations, for all states i: X X X X αai β̄ai (x) − xa = xa − a∈P i→ a∈Ai← a∈P i← \Ai← a∈Ai→ \P i→ (12) The sets of actions specified in the summation domains and the rates on the right hand side of this equation are defined as follows: P λi λi 1 Bi µi pi0 µi pi0 (aij , ⊤) (aij , ⊤) Figure 1: Markov process associated with finite capacity queue i. Example 1. Consider the network of two queues with finite capacities shown in Figure 2. We assume that the capacity of stations 1 and 2 are B1 and B2 , respectively. According λ2 λ1 STATION 1 P i→ is the set of passive action types going out of (joint) state i; i← (aji , µj pji ) 0 For irreducible closed networks, this product-form can always be normalised to give the required steady-state probabilities. For irreducible open networks, a separate analysis of ergodicity is required. Notice that all synchronisations in RCAT are between active and passive pairs of actions. 3.1.1 (aji , µj pji ) STATION 2 p10 p20 µ2 µ1 p12 p21 : is the set of passive action types coming into state i; Ai→ : is the set of active action types going out of state i; Ai← : is the set of active action types coming into state i; αai is the instantaneous transition rate out of state i corresponding to active action type a, which occurs in exactly one of the cooperating components; x is the vector (xa1 , . . . , xam ) of positive real variables xai when the cooperation set is L = {a1 , . . . , am }; β̄ai (x) is the instantaneous transition rate out of state i in the reversed joint Markov process corresponding to passive action type a ∈ L; note that a is incoming to state i in the forwards process. As already noted, if P i→ = Ai← = L for all states i, the equation is satisfied trivially; this is the situation in all standard, open or closed, queueing networks with no blocking. Figure 2: Open cyclic network with two finite capacity queues and repetitive service blocking. to the modelling approach described, we obtain the agents depicted in Figure 3. 3.2.1 ERCAT constraint equations Given that the state of the network is n = (n1 , . . . , nN ), 1 ≤ ni ≤ Bi 3 , we define the following sets: • I(n) = {i ∈ [1, N ] | ni = 0}, i.e., the set of the empty queues; 3 In the case of a closed network, we have the constraint P N i=1 ni = P , where P is the constant (initial) network population. λ1 λ1 (a21 , µ2 p21 ) (a21 , µ2 p21 ) 0 1 B1 (a12 , ⊤) (a12 , ⊤) µ1 p10 µ1 p10 λ2 λ2 (a12 , µ1 p12 ) (a12 , µ1 p12 ) 0 • A closed network with the strict non-empty condition. In this case, I = ∅ for all the states. Equation (13) then becomes an identity, which is always satisfied. From step 3 of the algorithm given in Section 3.1, the rate equations (11) are P µi pij r xjr xij = P (14) r µr prj 1 for i 6= j ∈ [1, N ], which is a set comprising one equation for each pair (i, j) with pij > 0. B2 (a21 , ⊤) (a21 , ⊤) µ2 p20 µ2 p20 Figure 3: Agents associated with the network of Figure 2. • J (n) = {j ∈ [1, N ] | nj = Bj }, i.e., the set of full queues; • G(n) = {g ∈ [1, N ] | 0 < ng < Bg }, i.e., the set of non-empty and non-full queues. Obviously, these sets form a partition of [1, N ]. Let us now define the sets required by the ERCAT constraint equations (12). To keep the notation simple, we omit the range of variables when this is [1, N ] and also constraints implicit in the network topology. For instance, if L is the set of labels used in the model, we write P n→ = {ars : r ∈ J ∪ G}, as an abbreviation for P n→ = {ars | r 6= s, ars ∈ L ∧ r ∈ J ∪ G ∧ s ∈ [1, N ]}. We also omit the argument (n) from the sets I, J , G when the meaning is clear. Therefore, consulting Figure 1 for clarification, we have: • A closed network with the weak non-empty condition (i.e. a maximum of one station can be empty in any given state and all the others must be full). In this case set I is either empty or a singleton, for each state. If I = ∅ the analysis is the same as before. When I = {i}, all the other queues are full, otherwise the non-empty condition would be violated, so that G = ∅. Then, the right hand side of Equation (13) becomes zero since β̄ii = αii = 0. The zero left hand side therefore requires: X X xis . (15) xri = The rate equations (14) are unchanged and summing them over j yields Equation (15), which thereby becomes redundant. The product-form is therefore unconditional under either the strict or weak non-empty condition; the rate equations always have a solution for the xij . Notice that whilst there is a qualitative difference between the strict and weak non-empty conditions and their corresponding solutions, the ERCAT method treats them uniformly and mechanically; the weak case merely provides an additional case to check. For both these cases the stationary solution is • P n→ = {ars | r ∈ J ∪ G}, n← • A s r π(n) ∝ = {ars | s ∈ J ∪ G}, N Y i ρn i , i=1 • An→ = {ars | s ∈ I ∪ G}, where ρi = • P n← = {ars | r ∈ I ∪ G}, 3.4 • An→ r P n→ = {ars |∈ I, s ∈ I ∪ G}, • P n← r An← = {ars | r ∈ I ∪ G, s ∈ I} Noting that α and β̄ are independent of the state n, we can now write: X X X X xrs − xrs = β̄rs − αrs . r∈J ∪G s∈J ∪G r∈I s∈I∪G r∈I∪G s∈I The left hand side may conveniently be rewritten as: X X X X β̄rs − xrs = xrs − αrs r∈J ∪G s∈I r∈I s∈J ∪G r∈I s∈I∪G (13) r∈I∪G s∈I 3.3 Closed network constraints We now develop Equation (13) for closed networks, under assumptions made in some special cases that can be found in the literature [2]. For a closed network, λi = pi0 = 0 for all i = 1, . . . , N , and we consider the following two special cases: `P ´ P r xir . r µr pri / Routing constraints We now study networks with RS blocking and without restriction on the population; the results apply to both open and closed networks. Given the network specification, we simply apply the ERCAT method outlined in Section 3.1, beginning with the constraints on the passive and active actions, step 4. Proposition 1 (Sufficiency of reversible rates). Equation (13) is satisfied if xij = xji for all i, j ∈ [1, N ]. Proof. If xij = xji , the left hand side of Equation (13) trivially sums to zero. Now consider the right hand side. We can compute the relevant reversed rates as follows: β̄ij = xij πi (k + 1)/πi (k), where πi (k) is the stationary probability of state k in queue i, with i ∈ [1, N ] and 0 ≤ k < Bi . On the other hand xji is the reversed rate of the transition labelled by aji , an arrival to queue i from queue j. Hence, we have xji = πi (k)/πi (k + 1)αji , giving β̄ij = αij . The right hand side of Equation (13) therefore sums to 0, as required. The first part of the following lemma essentially states that xij = xji is also a necessary condition for open networks. 3.5 Lemma 1. In open networks the ERCAT conditions imply the following constraints: P P 1. r xri = r xir for all i ∈ [1, N ], i.e., the same as equation (15) established above for closed networks; Lemma 2. An open blocking network satisfies the conditions of ERCAT if and only if, for 1 ≤ i 6= j ≤ N : 2. The rate equations xij µi pij P = λj + r µr prj µj pj0 + X xjr r for i 6= j ∈ [1, N ]; ! , Proof. Consider each of the clauses of the lemma in turn. 1. For the first part, we note that in an open network, the state with one empty station and all of the others full is recurrent (can always be reached) and the result then follows exactly as for the case of a closed network with the weak non-empty condition. 2. The rate equations (11) are derived as described in section 3.1. 3. Now consider the left hand side of Condition (13): X X xrs xrs − r∈I s∈I / = = r s∈I X r∈I s∈I “X X X X X xrs − xrs − r s∈I = 0 r∈I s xrs − r∈I s xrs = xrs − X xrs r∈I s∈I ” xrs − xsr by the first part of the lemma. (16) which we have already shown to be equivalent to the condition xij = xji for all i 6= j ∈ [1, N ] in the proof of Proposition 1. Remarks We have proved that in open networks Condition (15) implies that xij = xji . It is easy to see that the converse also holds and that the first clause of thePlemma is therefore redundant. Henceforth, we define xi = r xir and: ρi = • ρj µj pji = ρi µi pij ; • In a closed `station, with ´ no external arrivals or deparP /xi . µ p tures, ρi = r ri r Proof. 1. The ith queue, with its passive actions aij assigned rates xij , as in step 1, is a finite capacity M/M/1 queue with equilibrium probability (1 − ρi )ρn i for queue length n ≥ 0. Thus, by step 2 and referring to Figure 1, xij is the reversed rate of the active action aij in station j with forward rate µi pij . Thus we have xij = µi pij /ρj , which, by definition of ρj , is linear in the variables {xkℓ | 1 ≤ k 6= ℓ ≤ N }. A unique solution for these variables exists by [8] and so the reversed rates xkℓ of the passive actions are constant. 2. Since by Lemma 1, xij = xji , we immediately have the condition ρj µj pji = ρi µi pij . The converse is obvious. 3. xij =P µi pij /ρj = µj pji /ρi by the previous part and so xi = j µj pji /ρi . Hence ” “X X µj pji /ρi µr pri +λi /ρi = µi pi0 + xi +µi pi0 = j Thus λi /ρi = µi pi0 . Since xij , xi and hence ρi are positive (see [8] for a proof), λi > 0 ⇔ pi0 > 0. Thus, for an open station, λi > 0 and pi0 > 0, so the third part follows. There clearly exists a recurrent state with I = {i}, G = {j} and J = [1, N ] r {i, j}, where i and j are chosen arbitrarily. We therefore obtain, by equating the right hand side of Equation (13) to zero for this chosen state: 3.4.1 • xij = µi pij /ρj ; r r s∈I β̄ij = αji We now investigate the relationship between the productform analyses of ERCAT and of Akyildiz. • If station i is open, λi > 0 and pi0 > 0, whereupon ρi = λi /(pi0 µi ); 3. xij = xji for all i 6= j ∈ [1, N ]. r ∈I / s∈I Equivalence of the approaches P r µr pri + λi , xi + µi pi0 allowing the possibilities λi = 0 or pi0 = 0, representing no external arrivals to, or departures from, station i, respectively. 4. The fourth part is a special case of the definition of ρi when λi = pi0 = 0. Proposition 2. A blocking queueing network that satisfies Akyldiz’s conditions for product-form, i.e. its routing matrix is reversible, can be modelled as a synchronisation of nodes defined as in Figure 1 and its product-form can be derived by ERCAT application. Proof. Suppose the vector e satisfies the set of conditions following Theorem 1, and define ρi = ei /µi for i = 1, . . . , N . Then clauses 3 and 2 of Lemma 2 are also satisfied. Defining xij = µi pij /ρj implies P that xij = xji = µj pji /ρi (by clause 2) so that xi = j µj pji /ρi , as in the proof of Lemma 2, and clause 4 follows. Therefore, ERCAT is satisfied by this choice of rate variables {xkℓ | 1 ≤ k 6= ℓ ≤ N }. The converse of this proposition does not hold: a blocking queueing network in product-form by ERCAT may fail to satisfy Akyldiz’s conditions for product-form. To see this, and therefore that ERCAT is more general, it suffices to consider the case of a closed blocking network with the nonempty condition. These have already been proved to have product-form by ERCAT, even if their routing matrix is not reversible. A concrete example is the following. λ3 λ2 Example 2. Consider the queueing network consisting of three stations depicted by Figure 4. Station i has capacity Bi QUEUE 1 λ1 STATION 2 µ1 QUEUE 2 λN QUEUE 3 µ2 ... QUEUE N µ3 µN q STATION 1 p 1-q 1-r 1-p r STATION 3 Figure 4: Example of closed queueing network with RS blocking. and service rate µi , with i = 1, 2, 3. Suppose the routing is symmetric, i.e. there exists a vector e = (e1 , e2 , e3 ), ei > 0, such that the following equations hold: 8 > <e1 p = e2 q e1 (1 − p) = e3 r > :e (1 − q) = e (1 − r) 2 3 Then it is easy to see that the system has a non-zero solution if the following condition is satisfied: r(1 − q)p = q(1 − p)(1 − r). (17) Under this assumption, the application of ERCAT (see Proposition 1) clearly leads to a product-form solution; the routing is reversible. Choosing, for instance, e1 = 1 we straightforwardly have e2 = p/q and e3 = (1−p)/r, and the steady-state distribution is: «n2 „ «n „ «n1 „ 1−p 3 p 1 . π(n) ∝ µ1 µ2 q µ3 r Suppose now that Condition (17) is not satisfied. Now the reversible routing results cannot be applied. Nevertheless ERCAT may still derive a product-form solution, since the condition stated by Proposition 1 is sufficient for closed networks (and also necessary for open ones). In this case, if the network population P is such that: B − min(B1 , B2 , B3 ) ≤ P < B, P3 where B = i=1 Bi , ERCAT’s rate constraints (12) are still satisfied and therefore a product-form follows from the solution of equations (14), as described in Section 3.3. 4. FINITE CAPACITY QUEUES WITH SKIPPING Another way of dealing with customers arriving at full queues is skipping, which was first investigated for the case of closed networks by solving global balance equations in [13]. Consider the tandem network of N finite capacity queues shown in Figure 5. Figure 5: Tandem of finite capacity queues with skipping of customers in case of full queues. Customers arrive to queue i ∈ [1, N ] according to independent Poisson processes with rates λi . At the arrival epoch, queue i may be saturated. If this is the case, then the customer instantaneously skips to queue i + 1 or exits the tandem if i = N . If queue i is not saturated, then the customer enters the queue and is served as usual. Service times are exponentially distributed with rates µi . Note that, although we consider the case of constant service rates, the analysis would not be affected if µi is considered as a positive function of the state of queue i. The state of the model is given by the number of customers hosted in each queue: n = (n1 , . . . nN ) 0 ≤ ni ≤ Bi , where Bi represents the capacity of station i. 4.1 Multiple applications of ERCAT The essence of the multi-way ERCAT (where an arbitrary sized network may have any number of pairwise interactions between any two nodes) is that, when its conditions are satisfied, it transforms a set of n node-specifications (with variables xa ) into a set of n closed process-specifications in which the variables have been bound to real number values. The product-form of the original network is equal to the product of the equilibrium probabilities of the transformed processes. Consequently we may bind the variables piecewise, i.e. perform successive applications of ERCAT with a singleton cooperation set corresponding to synchronising actions with just one name, a say. The right hand side of the rate equation (11) for xa will then, in general, be a function of the other rate variables, as yet unbound. This piecewise approach also allows the resulting active action a to be relabelled in the synchronised process (after its application of ERCAT). When this is required, it is indicated by parenthesising the cooperating passive action a with the new name, b say. Thus, if (a, λ) synchronises with (a(b), ⊤), the resulting (active) action in the synchronised process is (b, λ) and its reversed action is (b̄, xa ). Note that some or all of the passive actions may be relabelled, and those that are may be relabelled differently. Absence of a parenthesised name means no relabelling occurs. Except for the last application, this procedure results in some action rates being real valued, arithmetic expressions, which causes no problem with symbolic computation4 . There is therefore no need to define a multiple synchronisation version of ERCAT to deal with skipping over multiple queues; we need only apply it m − 1 times to node-sequences of length m. 4 The only difficulty would be if such an expression were to be a single variable, for an action with label b, say. This could be confused with a passive action if a = b, leading to ambiguity. However, it is not possible for the rate of the passive action with label a to have been bound already, since it cannot have been involved in another synchronisation previously in the procedure. We now apply the above procedure to skipping. It is clear that the rate conditions of ERCAT are satisfied – in fact we could use the simpler conditions of RCAT. First consider the interaction between the first and second queues, assuming that when a customer finds the second queue full it simply leaves the system. This situation is described by the processes shown in Figure 6. λ1 (a12 , µ1 ) STATION 1 B1 p10 p+ 21 p− 21 Figure 8: Model of example of Section 5.1. (a12 (a23 ), ⊤) reversed rates are constant for every action name and the constraint equations of ERCAT are satisfied, as noted above, the network has product-form equilibrium state probability: B2 N Y λ2 i=1 µ2 µ2 Figure 6: Processes describing the synchronisation between the first two queues in the tandem. Notice how the passive self-loop labelled (a12 (a23 ), ⊤) acquires rate x12 (which is actually λ1 ) and takes on the name a23 ready for the synchronisation with the third queue. The interaction between the resultant second queue (having just synchronised with the first queue) and the third is now described by Figure 7. (a23 , λ2 ) x12 + λ2 x12 + λ2 1 (a23 , µ2 ) B2 (a23 , x12 ) (a23 , µ2 ) λ3 λ3 (a23 , ⊤) (a23 (a34 ), ⊤) (a23 , ⊤) 1 µ3 µ2 p+ 12 (a12 , ⊤) 1 0 p20 µ1 (a12 , λ1 ) λ2 λ2 0 STATION 2 (a12 , µ1 ) (a12 , ⊤) 0 λ2 λ1 1 0 λ1 B3 λ3 µ3 Figure 7: Processes describing the synchronisation between the (resultant) second and third queues in the tandem. Similarly to the previous synchronisation, the passive selfloop labeled (a23 (a34 ), ⊤) in the third queue now acquires rate x23 (which is actually x12 + λ2 = λ1 + λ2 ) and takes on the name a34 ready for the synchronisation with the fourth queue. It is easy to see, and to prove rigorously by induction if desired, that, after all applications of ERCAT have been performed for every action name a12 , . . . , aN −1,N in the cooperation set, in the ith queue of the tandem, the net arrival rate will be xi−1,i + λi ; (2 ≤ i ≤ N ) and that this quantity will be equal to xi,i+1 when i < N . In short, the net arrival rate to queue i is λ1 + . . . + λi for (1 ≤ i ≤ N ). Since the Pi j=1 µi λj !ni , for state vector n = (n1 , . . . , nN ). Although very simple, this product-form is original to the best of our knowledge and skipping certainly represents a viable alternative to blocking. 5. A NEW BLOCKING RESULT We now derive a more complex and less intuitively obvious product-form that is, as far as we know, a novel result. Although formulated for a special case, the example should explain how the ERCAT methodology may be used for the systematic – even automatic – derivation of product-forms in non-trivial networks. 5.1 Model description Consider the queueing model depicted by Figure 8. It consists of two queues, 1 and 2, with finite capacities B1 and B2 , respectively. External arrivals are independent Poisson processes with rates λ1 and λ2 , service times are exponentially distributed with parameters µ1 and µ2 and queue 2 may delete customers from queue 1. This may be caused explicitly by a computation in station 2 requiring it (in an analogous way to what happens in G-networks [5]) or because queue 2 is saturated and then tries to slow down incoming traffic by reducing the population of queue 1. Note that, it is not the case that queue 1 is never blocked, since the delete requests are sent from queue 2 to queue 1 when the former is in the saturated state at a specified rate ǫ. 5.2 ERCAT modelling The application of ERCAT is very similar to that shown in Figure 3, but we must include the synchronisations due to customer deletions, as depicted by Figure 9. First consider Equation (12). The key point for this example is to observe that passive action a− 21 is enabled in every state of queue 1 and that there is always an incoming active action with the same name in every state of queue 2. In other words all the recurrent states n of the model n→ n← are such that a− and a− . This means that 21 ∈ P 21 ∈ A + Equation (12) is satisfied if and only if x+ 12 = x21 . Note that in this case this is not equivalent to the reversible routing condition, since customer deletions in queue 1 are allowed. λ1 λ1 + (a+ 21 , µ2 p21 ) + (a+ 21 , µ2 p21 ) 0 (a− 21 , ⊤) 1 µ1 p10 µ1 p10 (a+ 12 , ⊤) (a+ 12 , ⊤) (a− 21 , ⊤) (a− 21 , ⊤) λ2 λ2 + (a+ 12 , µ1 p12 ) + (a+ 12 , µ1 p12 ) 0 B1 1 B2 µ2 p20 µ2 p20 (a+ 21 , ⊤) (a+ 21 , ⊤) − (a− 21 , µ2 p21 ) − (a− 21 , µ2 p21 ) (a− 21 , ǫ) Figure 9: Model of example of Figure 8. The traffic equations are the following: x+ 12 ` µ1 p+ −´ 12 µ2 p20 + x+ 21 + µ2 p21 + λ2 + µ1 p12 ` µ2 p+ −´ 21 µ1 p10 + x+ 12 + x21 λ1 + µ2 p+ 21 ´ ` µ2 p− 21 λ2 + µ1 p+ 12 + µ2 p− + x + µ p 2 20 21 21 = x+ 21 = x− 21 = (18) Notice that this condition becomes equivalent to the reversible routing condition when p− 21 = 0, as expected. It is noteworthy that the conditions can be satisfied by an infinite number of choices of the model parameters. Indeed, suppose − we fix all the parameters except λ1 (p+ 12 > 0, p21 6= 1). Then λ1 can easily be derived and, since both the left hand side terms and the coefficient of λ1 are positive, the rate is reasonable. We have not discussed the rate ǫ at which queue 2 deletes customers from queue 1 when it is saturated. Unfortunately, this rate cannot be chosen arbitrarily because ERCAT requires the reversed rates of the active transitions to be constant. Since the reversed rate of a self-loop is equal to its forward rate, then we have that ǫ = x− 21 , which was computed in equation (22). When all the above constraints are satisfied, the productform solution of the network is: «n1 „ λ1 + µ2 p+ 21 π(n1 , n2 ) ∝ − µ1 p10 + x+ 12 + x21 „ «n2 λ2 + µ1 p+ 12 . · − µ2 p20 + x+ 21 + µ2 p21 Remarks 1. There is no stability issue since the state space is irreducible and finite. Therefore any product-form we obtain can be normalised (requiring only a finite sum), giving the valid equilibrium solution for the joint state probabilities. (19) (20) + Assuming that x+ 12 = x21 , we can compute the expression + for x21 , using (18), as: « „ ´ ` µ1 p+ λ2 12 x+ µ2 p20 + µ2 p− = 21 21 + λ2 + µ1 p+ λ + µ p 2 1 12 12 2. We have considered an example with just two nodes in order to keep the algebra as simple as possible. However, the approach itself is far more general and the derivation of product-forms for networks of queues with the specified customer-deletion mechanism and blocking can be automated. which gives: x+ 21 = + µ2 µ1 p+ 12 (1 − p21 ) λ2 (21) + + Now, we can compute x− 21 using the expression for x12 = x21 in Equation (20): x− 21 = µ2 p− 21 µ2 p− 21 + + µ2 µ1 p+ 12 (1−p21 ) λ2 (λ2 + µ1 p+ 12 ) + µ2 p20 = λ2 p− 21 1 − p+ 21 (22) We can also derive the expression for x+ 21 using Equation + (19) and x+ 21 = x12 : x+ 21 = µ2 p+ 21 (µ1 p10 + x− 21 ), λ1 that, using (22), may be reduced to: „ « µ2 p+ λ2 p− 21 21 x+ . µ1 p10 + 21 = λ1 1 − p+ 21 The rate constraints of ERCAT (12) are now obtained by equating the expression for x+ 21 given above with that of Equation (21), i.e.: « „ λ2 p− + + + + 21 λ1 p12 (1 − p21 ) = λ2 p21 (1 − p12 ) + µ1 1 − p+ 21 6. CONCLUSION The (E)RCAT methodology has established itself as an effective and unifying means to finding reversed processes and product-form solutions in stochastic networks of various kinds. It already solves traditional multiclass queueing networks, G-networks and separable Petri-nets, together with the many variants of these for which product-form solutions have been found [3, 5, 4]. The results presented here continue this trend by showing that ERCAT derives all the known product-form solutions (to the authors’ best knowledge) in networks of finite capacity queues in a simple, uniform way. Moreover, new product-forms were obtained on the way. In fact, new product-forms are often not difficult to construct using ERCAT, as we have demonstrated. The conditions of the theorem are easy to check and so, when one builds a network, it is often possible to guarantee the conditions are preserved as the complexity of the network increases. This typically involves tight constraints on various rates and the need to add certain additional transitions to ensure that the constraint and rate equations are satisfied. Whilst it is obviously not desirable to corrupt a model just to obtain a product-form, it must be remembered that in the vast majority of networks, such separable solutions simply do not exist. However, the systematic construction of perturbed networks in this way may aid the calculation of bounds on the accuracy of an approximation and assist the validation exercise by providing benchmarks with exact solutions. 7. REFERENCES [1] Akyildiz, I. F. Exact analysis of queueing networks with rejection blocking. In Proc. of the 1st Internat. Workshop on Queueing Networks with Blocking (North-Holland, Amsterdam, 1989), H. G. Perros and T. Atliok, Eds., pp. 19–29. [2] Balsamo, S., De Nitto Persone’, V., and Onvural, R. Analysis of Queueing Networks with Blocking. Kluwer Academic Publishers, 2001. [3] Baskett, F., Chandy, K. M., Muntz, R. R., and Palacios, F. G. Open, closed, and mixed networks of queues with different classes of customers. J. ACM 22, 2 (1975), 248–260. [4] Coleman, J. L., Henderson, W., and Taylor, P. G. Product form equilibrium distributions and a convolution algorithm for Stochastic Petri nets. Perform. Eval., Elsevier 26 (1996), 159–180. [5] Gelenbe, E. Product form networks with negative and positive customers. Journal of Applied Prob. 28, 3 (1991), 656–663. [6] Harrison, P. G. Turning back time in Markovian process algebra. Theoretical Computer Science 290, 3 (January 2003), 1947–1986. [7] Harrison, P. G. Reversed processes, product forms and a non-product form. Linear Algebra and Its Applications 386 (July 2004), 359–381. [8] Harrison, P. G., and Lee, T. T. Separable equilibrium state probabilities via time reversal in Markovian process algebra. Theoretical Computer Science 346, 1 (2005), 161–182. [9] Hordijk, A., and Van Dijk, N. Networks of queues with blocking. In Performance ’81 (North Holland, 1981), K. Kylstra, Ed., pp. 51–65. [10] Kelly, F. Reversibility and stochastic networks. Wiley, New York, 1979. [11] Onvural, R. O. Survey of closed queueing networks with blocking. ACM Comput. Surv. 22, 2 (1990), 83–121. [12] Perros, H. G. Queueing networks with blocking. Oxford University Press, Inc., New York, NY, USA, 1994. [13] Pittel, B. Closed exponential networks of queues with saturation: The Jackson-type stationary distribution and its asymptotic analysis. Mathematics of Op. Res. 4, 4 (Nov., 1979), pp. 357–378.