+ All Categories
Home > Documents > Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving...

Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving...

Date post: 01-Oct-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
35
T6/1 Performance Analysis of Queueing Networks with Blocking Simonetta Balsamo Dipartimento di Informatica, Università Ca’ Foscari di Venezia, Venice, Italy {[email protected]} Abstract Queueing network models have been widely applied for performance modeling and analysis of computer networks. Queueing network models with finite capacity queues and blocking (QNB) allow representing and analyzing systems with finite resources and population constraints. Different protocols can be defined to deal with finite capacity resources and they can be modeled in queueing networks with blocking by various blocking types or mechanisms. Modeling heterogeneous networks having different blocking protocols leads to heterogeneous QNB where the service centers may have different blocking types. QNB are difficult to analyze, except for the special class of product-form networks. Most of the analytical methods proposed in literature provide an approximate solution with a limited computational cost. This tutorial introduces queueing network models with finite capacity queues and various types of blocking. We discuss the main solution techniques for their exact and approximate analysis to derive network performance indices. We present and compare the solution methods for open and closed networks to identify the criteria for the appropriate selection of a solution method. We provide some application examples of this class of models to computer and communication networks. 1. Introduction Queueing network models have been widely applied for performance modeling, analysis and prediction of various systems, including communication and computer networks. They allow representing resource contention by a set of customers. The servers of the queueing network represent the resources and the customers that queue to obtain service represents the jobs, tasks, packets or messages that are the system workload. System performance analysis based on queueing networks consists of the evaluation of a set of figures of merit such as some average performance indices that include system throughput, resource utilization, customer’s mean response time or delay. The analysis of queueing networks is usually based on the definition of the underlying stochastic process, specifically a continuous time Markov chain. Some efficient solution algorithms have been defined for the special class of product-form queueing networks [Kl76, Ka92, L83, T01, BCMP75]. Some important characteristics of resource sharing systems such as computer and communication networks that affect system performance are the finite buffer space of the queues and possible constraints on the number of customers in the network or in a subnetwork. Queueing network models with finite capacity queues and blocking (QNB) allow representing and analyzing systems with finite resources and population constraints [BDO01, P94]. Different protocols can be defined to deal with finite capacity resources and they can be modeled in queueing networks with blocking by various blocking types or mechanisms. Modeling heterogeneous networks having different blocking protocols leads to heterogeneous QNB where the service centers may have different blocking types.
Transcript
Page 1: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/1

Performance Analysis of Queueing Networks with Blocking

Simonetta BalsamoDipartimento di Informatica, Università Ca’ Foscari di Venezia, Venice, Italy

{[email protected]}

Abstract

Queueing network models have been widely applied for performance modeling and analysis ofcomputer networks. Queueing network models with finite capacity queues and blocking (QNB)allow representing and analyzing systems with finite resources and population constraints.Different protocols can be defined to deal with finite capacity resources and they can be modeled inqueueing networks with blocking by various blocking types or mechanisms. Modelingheterogeneous networks having different blocking protocols leads to heterogeneous QNB wherethe service centers may have different blocking types. QNB are difficult to analyze, except for thespecial class of product-form networks. Most of the analytical methods proposed in literatureprovide an approximate solution with a limited computational cost. This tutorial introducesqueueing network models with finite capacity queues and various types of blocking. We discuss themain solution techniques for their exact and approximate analysis to derive network performanceindices. We present and compare the solution methods for open and closed networks to identify thecriteria for the appropriate selection of a solution method. We provide some application examplesof this class of models to computer and communication networks.

1. Introduction

Queueing network models have been widely applied for performance modeling, analysis andprediction of various systems, including communication and computer networks. They allowrepresenting resource contention by a set of customers. The servers of the queueing networkrepresent the resources and the customers that queue to obtain service represents the jobs, tasks,packets or messages that are the system workload. System performance analysis based on queueingnetworks consists of the evaluation of a set of figures of merit such as some average performanceindices that include system throughput, resource utilization, customer’s mean response time ordelay. The analysis of queueing networks is usually based on the definition of the underlyingstochastic process, specifically a continuous time Markov chain. Some efficient solution algorithmshave been defined for the special class of product-form queueing networks [Kl76, Ka92, L83, T01,BCMP75].

Some important characteristics of resource sharing systems such as computer andcommunication networks that affect system performance are the finite buffer space of the queuesand possible constraints on the number of customers in the network or in a subnetwork. Queueingnetwork models with finite capacity queues and blocking (QNB) allow representing and analyzingsystems with finite resources and population constraints [BDO01, P94]. Different protocols can bedefined to deal with finite capacity resources and they can be modeled in queueing networks withblocking by various blocking types or mechanisms. Modeling heterogeneous networks havingdifferent blocking protocols leads to heterogeneous QNB where the service centers may havedifferent blocking types.

Page 2: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/2

QNB are difficult to analyze, and in general their steady state queue length distributions couldnot be shown to have product form solutions, except for some special cases [BD94, BDO01].Hence, most of the solution methods are approximations, simulation, and numerical techniques.Most of the analytical methods proposed in literature provide an approximate solution with alimited computational cost [BDO01, P94]

This paper introduces QNB, the main solution techniques to derive performance indices andsome useful properties. Section 2 describes the class of queueing network models with finitecapacity queues and various types of blocking. In Section 3 we discuss the main solutiontechniques for their exact analysis of QNB to derive network performance indices. Sections 4 and 5deal with the approximate analysis of QNB for open and close network model, respectively. Wecompare the various analysis techniques to identify the criteria for the appropriate selection of asolution method. Section 6 presents some application examples of QNB to model heterogeneouscomputer and communication networks. Conclusions and open problems are given is Section 7.

2. Queueing Networks with blocking

A queueing network models represent resource sharing system where a set of customers ask forservice to a set of resources. In a queueing network model of computer and communicationnetworks customers can model packets, messages, job and tasks and the time required for theservice is usually represented by a random variable. Consider a queueing network formed by Mservice centers or nodes. A queueing network can be either closed or open. In a closed networkthere is a constant number of customers N that circulate in the network. For open networks wedefine an external arrival process at each node i, 1≤i≤M. Let l denote the total arrival rate at thenetwork. We usually assume a Poisson arrival process. Let p0i denote the probability that anexternal arrival tries to enter node i. Then the arrival process at node i is Poisson with parameterlp0i. The customers in the queueing network move among the service centers according to routingprobabilities. Let P=[pij] denote the routing probability matrix, where pij denotes the probabilitythat a customers leaving node i immediately moves to node j, 1≤i,j≤M. The traffic balanceequations are defined as the following linear system:

x i = x jp jij=1

MÂ + lp0i (1)

For open networks with an irreducible routing matrix P, this system has a unique solutionx=[x1,…, xM] that represent the throughput of the nodes. For closed networks the traffic equationssystem (1) does not have a unique solution and xi represents the average visit ratio at node i,1≤i≤M.

For each service center i we define the number of servers, the service time distribution, thequeue capacity and the service discipline. According to Kendall’s notation a service center isdenoted by A/B/s/c/D where A and B are respectively the customer interarrival time and the servicetime distribution, integer numbers s and c denote respectively the number of identical servers andthe queue capacity, and D the service discipline. Examples of interarrival and service timedistributions are exponential (M), phase-type formed by exponential stages (PH), general (G) andgeneralized exponential (GE). Let µi denote the service rate of node i, i.e., 1/µi is the mean servicetime. Let Ki denotes the number of identical servers at node i. Let µifi(ni, Ki) denote the servicerate at node i that depends on the number of customers in its queue, ni≥0, where fi is an arbitrarynon-negative function with fi(0, Ki)=0. For a single server node we denote this function as fi(ni).Different types of customers can represent various behaviors of the jobs in the network in terms of

Page 3: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/3

routing probability and service times. Hereafter, for the sake of simplicity, we consider single classqueuing networks.

Let Bi denote the maximum number of customers admitted at node i that is in the queue and theservers (Bi= c+s), 1≤i≤M. Let ni denote the number of customers in node i. Then it satisfies theconstraint 0≤ni≤ Bi. When the total number of customers reaches the node finite capacity (ni= Bi)the node is said to be full and blocking arises.

2.1 Definition of blocking mechanisms

Various protocols have been defined to represent different system behaviors with QNB. When acustomer attempts to enter a queue that has reached its maximum capacity, i.e., queue is full, thenthe arriving customer is blocked. A blocking mechanism describes the behavior of the arrivingcustomer. We shall now introduce the three main blocking mechanisms or types defined in theliterature. They are called Blocking After Service, Blocking Before Service and Repetitive ServiceBlocking.

Blocking After Service (BAS): when a job upon completion of its service at node i attempts toenter to a full queue (i.e., node i is blocked), it is forced to wait at node i occupying the serverspace, until a space becomes available at destination node j. Server i is forced to stop processingjobs that might be waiting in its queue (it is blocked) until the blocked customer can enter itsdestination queue. Upon departure from node i the server space becomes available for another jobwaiting in the queue. In this case, service at node i is resumed as soon as a departure occurs fromnode j (at which time, the job waiting at node i moves to its destination node immediately). If morethan one node is blocked by the same destination node, then it is necessary to define the order inwhich blocked customers will be unblocked, as space becomes available in the blocking node. FirstBlocked First Unblocked discipline states that the first customer that joins the blocking queue whena departure occurs is the one that was blocked first.

Blocking Before Service (BBS): a job declares its destination node j before it starts receivingservice at node i. The destination of the job does not change until it completes its service anddeparts from the queue. If upon entering service at node i, a job finds node j full, the service atnode i does not start and server i is blocked. If a destination node j becomes full prior to servicecompletion at node i, then the service at node i is interrupted and the server is blocked. The serviceat node i is resumed as soon as a departure occurs from node j. It is generally assumed that theamount of service a job has received until it is blocked is lost, i.e. a new service starts when a nodebecomes unblocked. Two subcategories can be introduced [O90] depending on whether the servicespace is used to hold a customer during the time the server is blocked BBS-SO (server occupied)and BBS-SNO (server is not occupied). The latter is applicable only in network topologies in whicha node with a finite capacity has only one upstream node with a finite capacity feeding it. Anothervariant of BBS is BBS-O (Overall Blocking Before Service) when a full node causes all itsupstream nodes to be blocked, regardless of the destinations of jobs currently receiving service ateach upstream node. Hereafter we consider BBS-SO blocking that is simply called BBS.

Repetitive Service Blocking (RS): A job completes its service at node i and attempts to enternode j. If node j at that time is full, the job at node i starts receiving a new and independent serviceaccording to its service discipline. RS blocking is is further classified into two subcategoriesdepending on whether a blocked job chooses a new destination node independently of its previousselection(s) (RS-RD: random destination) or it keeps trying to enter the same destination node ateach service completion (RS-FD: fixed destination).

A different kind of blocking mechanism called generalized blocking can be defined where theserver continue processing customers in the queue even if the destination node is full. Thecustomers that have completed service at node i but cannot be sent to the next node, continue to

Page 4: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/4

share the buffer space of node i along with the other customers that are either waiting for service orbeing served upon. The customers arriving at this node when the queue is full are lost. Thisblocking is also called kanban blocking due to its application to modeling kanban-controlledmanufacturing systems. Under this blocking mechanism a server continue the service as long asthere are customers available, even if the destination node is full. Customers can be raw orcompleted. A raw customer has not yet been served and a completed customer has already beenserved by the node. The buffer at node i is divided in two portions, one for raw customers withcapacity ai and the other for the finished customers with capacity bi. If the buffer for rawcustomers at the destination node is full, then customers wait in buffer bi at node i. The total queuecapacity of node i is Bi. Hence the following relations hold: 0≤ai, bi≤Bi and ai+bi≤Bi. Therefore acustomer completing service at node i can be blocked and forced to wait in buffer bi if thedestination buffer aj or the total capacity of node j is the maximum allowed Bj. The server of nodei can be blocked if buffer bi is full and it is starved if there are no raw customers in a i. Forparticular values of the parameters ai and b i this blocking reduces to other blocking types.Specifically general blocking includes BBS-SO for ai=Bi and bi=0, BAS for ai=Bi and bi=1 forsingle server node or more generally, bi=Ki.

Other types of blocking mechanisms, allow representing network population constraints, byimposing the number of customers to be in the range [L,U], where L and U are the minimum andmaximum populations admitted, respectively. Let a(n) to denote the load dependent arrival ratefunction and d(n) denote a non-negative departure blocking function, where n≥0 is the networkpopulation, where a(n) = 0, for n≥U and d(n) = 0 for n≤L. We shall now introduce the Stop and theRecirculate blocking.

In Stop Blocking, also referred to as delay blocking, the service rate at each node depends onthe number of customers in the network (n), according to the function d(n). When d(n) = 0, theservice at each node is stopped. Service at a node is resumed upon arrival of a new customer to thenetwork.

In Recirculate Blocking, also referred to as triggering protocol, a job upon completion of itsservice at node i leaves the network with probability pi0 d(n), when n is the total networkpopulation and it is forced to stay in the network with probability pi0 [1-d(n)], where pi0 is therouting probability. Consequently, a job completing the service at node i enters node j with statedependent routing probability pij + pi0 [1-d(n)] p0j, 1≤i,j≤M, n≥0.

2.2 Deadlock

Due to the finite capacity of the queues, QNB can deadlock, depending on the blocking mechanismused to model the network and on the network topology. When two or more customers are each iswaiting for the other, a deadlock occurs if a space in one of the two or more nodes never becomesavailable. If deadlock may occur, the problem can be solved by preventive techniques, or detectionand resolve techniques.

Stop and Recirculate blocking mechanisms do not cause any deadlock. A necessary conditionfor deadlock avoidance with BAS, BBS and RS-FD blocking types is that pii=0, 1≤i≤M. However,one can assume that a customer at n ode i cannot be blocked by i itself.

A simple deadlock prevention technique for blocking types BAS, BBS and RS-FD is to checkthat the number of customers N is less than the total buffer capacities of nodes along each possiblecycle in the network. In the case of RS-RD blocking, it is sufficient that routing matrix P isirreducible and N is less than the total buffer capacity of the nodes in the network.

More precisely, a network with RS-RD blocking is deadlock-free if

Page 5: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/5

N < B jj=1

Let c=(i1,i2,…,iz) denote a cycle in the network with i1=iz=i and routing probabilitiespijij+1≠0, 1≤j≤z. Then a network with BAS, BBS-SO, BBS-O and RS-FD blocking is deadlock-free if

N < min "c Bi ji j Œ c (2)

where the minimum in equations (2) is computed over all the possible cycles in the network.Similarly, the same condition holds for a network with BBS-SNO blocking by substituting

Bi j with

(Bi j- 1) in formula (2).

2.3 Performance indices

QNB performance analysis consists of the evaluation of a set of performance indices that are aredefined for the entire network (global) and for each node (local). Most of them are average ofperformance indices and they include the utilization Ui, the throughput Xi, the mean queue lengthLi and the mean response time Ti, for each node i. Another local performance measure is theprobability distribution of the number of customers at node i ni. Let pi(ni) denote the stationary(marginal) queue length distribution of node i, i.e., the stationary probability of having ni customersat node i in steady state, ni≥0, 1≤i≤M. Let zi denote the number of active servers at node i, whichare servers that is not empty and not blocked, 0 ≤ zi ≤ min {ni, Ki}. Let xi(ni) denote the stationaryqueue length distribution of node i at arrival time and zi(ni,zi) denote the stationary jointdistribution of variables ni and zi, i.e., the probability of ni customers and zi active servers in node iat arbitrary times, ni≥0, 1≤i≤M.

A global performance index is the customer sojourn time that is the time a customer spends inthe queueing network or in a part of it. The network sojourn time is the time a customer spends inthe queueing network and the passage time is the time a given customer takes to traverse a path inthe network, i.e. between two consecutive departures of a customer from two given nodes. Thecycle time is the time between two consecutive departures of a particular customer from a node inthe network. The average sojourn, passage and cycle time can be easily derived by the node meanresponse time and the visit ratio. For example in a closed network the average cycle time for node iis given by xjT j /x i

j=1

MÂ and in an open network the average network sojourn time or network

residence time is given by xjT jj=1

MÂ , where xi's are obtained by formula (1). The sojourn time

distribution is an interesting and detailed performance measure of a queueing network, as well asthe passage time and cycle time distribution, but few analytical results are available in theliterature.

For open queueing networks with finite capacity another performance index of interest is thejob loss probability, denoted by Ploss, which is the probability that an arriving customer is notaccepted and it is lost. Then the job loss probability can be computed from stationary queue lengthdistribution of node i at arrival time as follows for BAS, BBS and RS mechanisms:

Page 6: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/6

P loss = xi (Bi )1£i£M

ÂOne can derive the mean performance indices from the stationary joint distribution, which

depends on the blocking type. Consider BAS, BBS and RS blocking mechanisms. When node icannot be blocked its utilization can be simply defined as follows:

Ui =min(ni ,K i )

Kipi (n i )

ni=1

min(Bi ,N )Â (3)

where Ki is the number of servers and Bi the node i capacity. When node i can be blocked thisformula gives for each blocking type the total utilization, that is the fraction of time that the node isnot empty.

In QNB we can define the effective utilization Uie

of node i that is the probability that theservers are really providing service, i.e., they are neither empty nor blocked. This is a measure ofthe useful work of the whose definition depends on the blocking type as follows. For BAS andBBS blocking, including each subtype, we consider only the active servers as follows:

Uie

=ziKi

zi (ni ,zi )zi=1

min(ni ,K i )Â

ni=1

min(Bi ,N )Â

For RS blocking we observe that by definition the work of node i server is useful only if at theservice completion time, i.e. at departure time from node i, the destination node is not full. If node ihas exponential service time distribution, one can derive that:

Uie =

min(k,Ki )Ki "nŒE: ni=k

 p(n)pij"j: nj <Bj

Âk=1

min(Bi,N )Â

where n = (n1, n2, …,nM) and E is the state space of the exponential network with RS blocking.For single server service center, i.e., Ki=1, then zi=0,1 and these average performance indices

can be simplified as follows:

Ui = pi (ni )ni>0

Â

Uie = zi (ni ,1)

ni >0Â for BAS and BBS

Uie

="nŒE: ni= k

 p(n)pij"j: n j <B j

Âk=1

min(Bi ,N )Â for RS

For Stop blocking, since the service in each node is stopped when total network population nreaches the minimum threshold L then one can write:

Uie =

min(k,Ki )Ki

p(n)"nŒE: ni= k, n>L

Âk=1

Page 7: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/7

where E is the state space of the exponential network with STOP blocking, L and U are theminimum and the maximum population admitted in the network, with 0≤L≤U, and n is the totalnetwork population when the state is n=(n1, ..., nM), n = ni

1£i£MÂ .

For Recirculate blocking the nodes are never blocked, because when the network population nreaches the minimum threshold L a customer leaving node i is forced to stay in the network withprobability pi0 [1-d(n)] and moves to any node in the network according to the routingprobabilities. Hence Ui

e = Ui .For each blocking type node throughput is defined as follows:

Xi = m if i (ni ,z i )zi (ni ,zi )zi≥1Â

ni≥1 Â (4)

For single server service center, i.e., Ki=1, then zi=0,1 this leads to:

Xi = m if i (ni )zi (n i ,1)ni>0 Â

Note that like the utilization, in networks with blocking we can also define the effectivethroughput as a measure of the useful work of the node. For BAS blocking such measure isidentical to the throughput defined by formula (4), because the server is active only if the node isnot blocked. The same holds for BBS blocking if we assume that the service interrupted by a fulldestination node is resumes as soon as the node becomes unblocked. On the contrary for BBSblocking where the interrupted service is repeated and for RS blocking we define the effectivethroughput as a measure of the useful work of the node, given by the fraction of throughput that isnot due to the service repetition because of blocking. Let Xi

e denote the effective throughput ofnode i for RS and BBS blocking, that similarly to the effective utilization can be defined asfollows:

Xie

=k=1

min(N,Bi )Â mif i (n i ,Ki )

"nŒE: ni=k  p(n)pij

"j: n j <B j (5)

where n = (n1, n2, …,nM) and E is the state space of the exponential network with RS blocking.

In the case of constant service rate µi, the node throughput and the node effective throughputfor Ki≥1 servers reduces to

Xi=Xie = Ui

e Ki µi for BAS blockingXi=Ui Ki µi , Xi

e = Uie Ki µi for RS and BBS blocking.

Mean queue length and mean response time for node i can be computed as for queueingnetwork models with infinite capacity queues as follows:

Li = Sni ni πi(ni)Ti = Li / Xi .

Page 8: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/8

3. Exact analysis of queueing networks with blocking

In this section we present the main approaches to analyze QNB with exact analytical methods. Themore general approach is based on the definition of the associate Markov chain. In some specialcases, QNB have a product form solution and can be analyzed by efficient solution algorithms.

3.1 Markov process analysis

The analysis of queueing networks under general assumptions is based on the definition of anassociated Markov chain. Let S=(S1,S2,...,SM) denote the state of the network where the state ofnode i, Si, depends on the type of node i and includes the number of customers ni. The networkmodel evolution can be represented by a continuous-time ergodic Markov chain with discrete statespace E and transition rate matrix Q. The stationary and transient behavior of the network can beanalyzed by the underlying Markov process. Under the hypothesis of an irreducible routing matrixP, there exists the unique steady-state queue length probability distribution π = {π(S), SŒE}, whichcan be obtained by solving the homogeneous linear system of the global balance equations

π Q = 0 (6)

subject to the normalizing condition SSŒE π(S) =1 and where 0 is the all zero vector. Thedefinition of state space E and transition rate matrix Q depends on the network definition and onthe blocking type of each node [BDO01, BD94, O90, O93, P94, VD91a, VD91b]. From vector πone can derive π i, the queue length distribution of node i and the average performance indices ofnode i, such as throughput, average queue length and the mean response time, as shown in theprevious Section.

The solution of the Markov chain associated to the QNB to obtain the steady state queue lengthdistribution requires (i) defining the network state space, (ii) the state transitions to construct therate matrix, Q, and (iii) to solve the linear system (6).

The first two steps are not always simple, since the state definition also depends on theblocking type and on the mutual dependencies due to blocking between the states of the nodes inthe QNB. A detailed definition of the Markov process associated to different types of QNB is givenin [BDO01]. We present an example of Markov process definition for QNB.

For the sake of simplicity consider an exponential closed network with M nodes, N customers,each node i with queue capacity Bi, service rates µi and single server, and routing P. Let ai denotethe minimum possible number of customers in node i, defined as follows:

ai = max 0,N - Bjj=1,j≠i

Ï Ì Ó

¸ ˝ ˛

Let d(ni) and bi(ni) respectively denote an indicator function and a blocking function given by:

d(ni) =0 if ni =01 if ni>0

Ï Ì Ó

and

bi(ni)=0 if ni =Bi1 if ni<Bi

Ï Ì Ó

(7)

Case 1. Markov chain of a QNB with RS-RD blockingFor RS-RD blocking the node i state is simply Si=(ni) and the network space is given by

Page 9: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/9

E RS-RD = {(n1, n2,..., nM) | ai £ni £Bi , 1≤i≤M, nii=1

MÂ =N }

The state transition rate matrix Q=[q(S, S')], S, S'ΠERS-RD, is defined as follows:

q(S, S')]= d(nj) µj pji bi(ni) for S' = S + ei-ej, i≠jq(S, S)]= - q(S,S")

S"ŒERS-RD,S"≠SÂ

q(S, S')]=0 otherwise

where ei denotes the M-vector with all zero components except one in i-th position.

Case 2. Markov chain of a QNB with BAS blockingFor BAS we have to consider the server activity and the scheduling of the nodes that are blockedby a full destination node. Let Sendi= h|phi>0, 1£h£ M{ } denotes the set of node i senders. Let t(i)be the number of servers currently blocked by node i and 0≤t(i)≤ Kt

t Œ Sendi .

Then for BAS blocking the node i state can be defined as follows:

Si = (ni,si,mi)

where ni is the number of jobs in node i, si is the number of servers of node i blocked by a fulldestination node and therefore containing a served job, with 0≤si≤min{ni, Ki}, mi is the list ofnodes blocked by node i defined as follows:

mi=∅ if ni £ Bi

r1, r2 ,º, r t i( )[ ] if ni = Bi Ï Ì Ó

(8)

where rj is the j-th node blocked by node i, for 1≤j≤t(i).Note that when node i is full, i.e. ni=Bi, list mi is empty if no node has attempted to send a job

to node i. When mi is not empty, it contains the indices of the nodes that have attempted to send ajob to node i and are still blocked by node i. Moreover mi may contain more than one occurrenceof the same node hŒSendi if more servers of node h are blocked by node i.

The "unblocking" scheduling is represented by list m i whose node indices are orderedaccording to the time at which they will be unblocked. For example, for the First Blocked FirstUnblocked (FBFU) discipline mi is a queue data structure.

The complete state notation Si = (ni,si,mi) may be simplified when some components are notnecessary. For example, if node i cannot be saturated (Bi≥N) component mi is useless because nonode may be blocked waiting for room in i. If all the destination nodes of node i have infinitecapacity queues, component si is useless because node i cannot be blocked.

Hence the network space EBAS is defined as follows:EBAS = {(S1,S2,...,SM) | Si = (ni,si,mi) ai £ni £Bi , 1≤i≤M, ni

i=1

MÂ =N }

For this blocking mechanism, differently from RS mechanism, the process state transitions donot necessarily correspond to a job transition (i.e. arrival or departure). Indeed, some process statetransitions correspond to blocking and do not correspond to customer movements in the network.

Page 10: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/10

By effect of simultaneous transitions, when a full node ends a service and in one of its upstreamnode there is a served job waiting, two simultaneous transitions take place: the transition from thefull node and the transition from its upstream node. Multiple transitions can take place because of achain of blocked nodes. In the following we show some examples of simultaneous transitions.

Then the state transition rate matrix Q=[q(S, S')], S, S'ΠEBAS, is defined as follows:

q(S, S')]= d(nj) µj pji for S: sj<min{nj, Kj}, mj=∅, ni<Bi i≠jS'j(n'j,s'j,m'j): n'j=nj-1, s'j=sj, m'j=mj, m'i=mi, S'i(n'i,s'i,m'i): n'i=ni+1,s'i=si, S'h=Sh "h≠i,jor S: sj<min{nj, Kj}, ni=Bi i≠jS'j(n'j,s'j,m'j):n'j=nj,s'j=sj+1,m'j=mj,m'i=Ins(mi,j),S'i(n'i,s'i,m'i):n'i=ni,s'i=si,S'h=Sh"h≠i,j

q(S, S')]= d(nj) µj pji bi(ni)for S: sj<min{nj, Kj}, mj≠∅, S': Update(j,k), if i≠k then {n'i=ni+1, n'k=nk-1}

q(S, S)]=

- q(S,S")S"ŒEBAS,S"≠S

Â

q(S, S')]=0 otherwise

where Ins(mi, j) insert j in the list mi, according to the unblocking discipline, and Update(j,k) is thefollowing algorithm to update the state of the nodes in the chain from node j backward to node k:Update (j,k): k¨ j;

while (mk≠∅) {h=Head(mk); m'k=Cancel(mk); s'h=sh-1; k¨ h}and function Cancel(mi) cancels the first element of m i, function Head(mi) returns the firstelement of mi without changing mi.

Example 1. Cyclic network with BAS blockingConsider a closed cyclic network illustrated in Figure 1.This model can be used to represent packetswitching networks with fixed routing, where a physical path is set up for each user session.Consider the cyclic network of Fig.1 with M=4 nodes, N=10 customers, each node i with queuecapacity Bi=3 and single server.

Figure 1. A cyclic queueing network

Consider the system state ((3,1,[4]),(3,1,[1]),(3,0,∅),( 1,1,[1])) where nodes 1, 2 and 4 areblocked (s1=s2=s4=1) with jobs waiting respectively for the full nodes 2, 3 and 1 (m2=[1],m3=[2], m1=[4]). Hence only node 3 can complete the service (s3=0) destined to node 4. When adeparture occurs from node 3 and moves to node 4 then four simultaneous job transitions takeplace (i.e., at the same time the three waiting jobs in nodes 2, 1 and 4 move towards theirdestinations). The process transition is to state ((3,0,∅),(3,0,∅),(3,0,∅),(1,0,∅)) where all nodesare active, si=0 and mi=∅ "i, and ni does not change for any node i, 1≤i≤5.˙

Case 3. Markov chain of a QNB with BBS blocking

…2 M…1

Page 11: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/11

For BBS blocking , since a job entering a server declares its destination, then node i state definitionhas to include the destination of job in service. Let Desti denote the set of the destinations of nodei, that is Desti = {j | pij>0, 1≤i,j≤M}. For the sake of simplicity, we define the following Booleanfunction that is true if node i can be blocked, false otherwise:

Blocked(i)=true if $ jŒDesti | Bj<N

false if Bj≥N " jŒDestiÏ Ì Ó

Then, node i state definition is

Si = (ni , NS i ) if Blocked(i ) = true(ni ) if Blocked(i) = false

Ï Ì Ó

(9)

where ni is the number of jobs in node i and NSi is a state vector defined as follows. It has at mostmin{Ki, Desti+1} elements and its component NSi,k denotes the number of node i servers that areservicing jobs destined to node k, with kŒDesti and for an open network NSi,0 denotes the numberof node i servers with jobs that will leave the network. By definition the following constraint holds:

NSi,kkŒDest i» 0{ }Â = min ni ,Ki{ } .

NSi is not defined for nodes that cannot be blocked.Then for a closed network with N customers, the state space EBBS is defined as follows:

EBBS-SO = {(S1,S2,...,SM) | Si = (ni, NSi) ai £ni £Bi , 1≤i≤M, nii=1

MÂ =N }

In order to define the state transition matrix we have to distinguish various cases depending onwhether the nodes are blocked. The state transitions rate matrix Q=[q(S, S')] is defined as follows:

q(S, S')]= NSj,0 µj for S: Blocked(j) Ÿ nj≤1 S'j: n'j=nj-1q(S, S')]= NSj,0 µj pjh for S: Blocked(j) Ÿ nj >1

S': n'j=nj-1, NS'j,0=NSj,0-1, NS'j,h=NSj,h+1q(S, S')]= d(nj) µj pji for S: ¬ Blocked(j) Ÿ (¬ Blocked(i) ⁄ (Blocked(i) Ÿ ni<1))

S': n'j=nj-1, n'i=ni+1q(S, S')]= NSj,i µj b(ni) for S: Blocked(j) Ÿ nj≤1 Ÿ

(¬ Blocked(i) ⁄ (Blocked(i) Ÿ ni≥1))S': n'j=nj-1, NS'j,i=NSj,i-1, n'i=ni+1

q(S, S')]= NSj,i µj pjh b(ni) for S: Blocked(j) Ÿ nj >1 Ÿ (¬ Blocked(i) ⁄ (Blocked(i) Ÿ ni≥1))S': n'j=nj-1, NS'j,i=NSj,i-1, NS'j,h=NSj,h+1, n'i=ni+1

q(S, S')]= NSj,i µj pik for S: Blocked(j) Ÿ nj≤1 Ÿ Blocked(i) Ÿ ni<1S': n'j=nj-1, NS'j,i=NSj,i-1, n'i=ni+1, NS'i,k=NSi,k+1

q(S, S')]= NSj,i µj pjh pik for S: Blocked(j) Ÿ nj >Kj Ÿ Blocked(i) Ÿ ni<KiS': n'j=nj-1, NS'j,i=NSj,i-1, NS'j,h=NSj,h+1, n'i=ni+1, NS'i,k=NSi,k+1

Page 12: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/12

q(S, S)]=

- q(S,S")S"ŒEBBS,S"≠S

Â

q(S, S')]=0 otherwise

A detailed definition of the Markov chain associated to QNB with different types of blocking,multiple servers and load dependent service rate is given in [BDO01].

Exact analysis of a QNB based on the Markov model requires its numerical solution. However,numerical solution can be applied only for small queueing networks, because the state space E ofthe Markov chain grows exponentially with the number of nodes and customers in the network. Foropen QNB the Markov chain is infinite and, unless a special regular structure of matrix Q allowsderiving closed form expression of the solution π, one has to approximate the solution on atruncated state space. For closed networks the time computational complexity of liner system (6) isdetermined by the space state E cardinality that grows exponentially with the buffer sizes (Bi≤N,1≤i≤M) and M. Although the state space cardinality of the process can be much smaller than thatthe process of the same network with infinite capacity queues (which is exponential in N and M), itstill remains numerically intractable as the number of model components grows.

3.2 Product form networks

In some special cases, QNB have a product-form solution, under particular constraints and forvarious blocking types. A survey of product-form solutions of networks with blocking andequivalence properties among different blocking network models can be found in [BD94, BD01,V93]. Some efficient algorithms for some closed product-form networks with blocking have beenrecently defined [BC95, C95, S99]. These algorithms provide the model solution with a timecomputational complexity linear in the number of network components, i.e., the number of servicecenters and the number of customers. However, general queueing networks with blocking do nothave a product-from solution and approximate analytical methods or simulation have to beapplied. We shall now briefly review exact analysis for product form QNB. Approximate solutiontechniques for open and closed networks are presented in in Sections 4 and 5.

QNB have product form solutions of the joint queue length distribution π for open or closednetworks under certain constraints, depending both on the network definition and the blocking type.Product form solution can be defined as follows:

p(S ) =1G

V(n ) gii=1

M’ (ni ) (10)

where G is a normalizing constant and n is the total network population. The functions V and gi,1≤i≤M, are defined in terms of network parameters which include vector x defined by system (1) oftraffic balance equations and service rates µI, 1≤i≤M, and depend on the blocking type andadditional constraints. Some constraints refer to queueing networks with reversible routing matrixP, that is if the following condition holds: xi pij =xj pji, and l p0j =xj pj0 for1≤i,j≤M, where x isdefined by system (1).

Figure 2 shows the cases of product form QNB for each combination of blocking type andnetwork topology, where Fi, 1≤i≤8, denotes a particular product form formula according toexpression (10) and there are the following additional constraints.

Let B-=min1≤i≤MBi denote the minimum node capacity of the network.

Page 13: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/13

Figure 2. Product form constraints: formulas for each blocking type and network topology.

Condition 1. The non-empty condition for closed networks requires that at most one node can beempty, i.e., N≥B- B-.

Condition 2. The strictly non-empty condition when each node can never be empty, i.e, if N>B- B-.Condition 3. It refers to a particular model of multiclass networks with parallel queues with

interdependent blocking functions and service rates, and which satisfy a so-called invariantcondition. See [AV90] for further details.

Condition 4. It requires that each node i with finite capacity is the only destination node for eachupstream node, i.e., it satisfies the following constraint: if pji > 0 then pji = 1, 1≤j≤M.

Condition 5. At most one node at a time can be blocked.

Each product form formula F1 through F8 defines functions V and gi, 1≤i≤M, in product form(10) and special constraints. Specifically V(n)=1 and

gi(ni)= (xi / µi)ni for F1, F5, F7, F8 (11)

(xi / µi)ni bi (l-1)fi (l)

l=1

ni’ for F4

1 / eini for F2

---F2

& Cond1

F3& B1<•

F2& Cond1

F1& N≤B1+B2-2

RS-FD

RS-RD

Networktopology

Two nodes Cyclic Centralserver

Reversiblerouting

Arbitrary

Blockingtype

Recirculate

Stop

RS

BBS-SNO

BBS-SOBBS

BAS F1

F1

F1

F5

---

F3

F3& B1<•

F4, F6& Cond3

F2& Cond2

---

F2& Cond2, 4

---

F5 F5 F5 F5

F8

1.

& Cond2 , 4

F7& Cond5

Page 14: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/14

where xi defined by system (1), vector e =(e1,…,eM) is derived by system e = e P', defined asfollows: P'= || p'ij ||, p'ij=µjpji, 1≤i,j≤M, i≠j, and p'ii=1-Sj≠ip'ji.

Formula F1 applies to multiclass QNB with BCMP type nodes [BCMP75] and classindependent capacities. Formula F5 applies to the same type of QNB, but with single class ofcustomers. Formulas F7 and F8 are for multiclass QNB with nodes with exponential service timeand First Come First Served discipline, and formula F7 applies for class independent capacities,while F8 requires class type fixed. Formula F4 applies to multiclass QNB with fixed type class,blocking functions dependent on class, node and chain, nodes with arbitrary service timedistribution and a symmetric scheduling discipline or exponential service time distribution, whichis the same for each class at the same node, when the scheduling is arbitrary. Formula F2 applies tosingle class networks with exponential nodes, load independent service rates. Special cases offormulas F3 and F6 are given in [AV89, AV90].

3.3 Algorithms for product form networks

Some efficient algorithms can be applied to evaluate average performance indices for QNB withproduct form solution (10). Since in QNB the definition of the queue length distribution andaverage indices depends on the blocking type, as defined in Section 2, one cannot immediatelyapply the known algorithms for BCMP networks, such as convolution algorithm and MVA [L83,Ka92]. The state space limitation leads to a new definition of a convolution algorithm taking intoaccount a set of constraints on the queue lengths.

ConvolutionThe convolution algorithm for QNB can be applied to closed product form solution with loadindependent exponential servers and where functions gi are defined by formula (11), i.e., for thoseclosed network topologies and conditions that leads to formulas F1, F2, F4, F6 and F7. Theconvolution algorithm is illustrated in Figure 3.

The algorithm is based on a set of recursive equations used to compute the normalizingconstant G in formula (10), from which the marginal queue length distribution of each servicecenter and the average performance indices are derived by closed-form expressions. For examplethe average queue length of node j, if AM-BM-aj>B(M)-Bj+aj, where Aj and aj are defined inFig.3, can be written as follows:

L j =1

GM (N)krj

k-ajk=a j

B j [GM(N - k + a j ) - rjGM(N - k + a j - 1)]

and other performance indices such as node utilization, throughput and average response time arederived as defined in Section 2, by using product form expression (10) for the state probability. Fora detailed description of the algorithm and the performance indices expression see [BDO01,BC98]. It has a linear time computational complexity in the number of network components: itrequires O(M N) operations, and more precisely O(MC), where C = max {Bi-ai 1≤i≤M} and ai isthe minimum node i population defined in Fig.3.

MVAAn MVA algorithm has been defined for the particular case of product form networks with cyclictopology and with BBS-SO and RS blocking. In this case product form F2 solution holds when thecondition 1 (non empty condition) is satisfied. The solution is based on the definition of a dual

Page 15: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/15

[Computation of the values aj, Aj, B(j)]for j=1 to M { a j = max(0, N - Bk

1£k £M, k≠ j ) ; A j = ai

1£i£ j ; B(j) = Bi

1£i £j }

[initialisation]for n =a1 to B1 {G1(n) = r1

n };

[computation of the functions Gj(n)]for j=2 to M

{MIN = min (Aj-1+Bj, B(j-1)+aj); MAX = max (Aj-1+Bj, B(j-1)+aj;);

G j(A j ) = r ja j G j-1(A j-1);

for n= Aj +1 to min(MIN, N) {G j(n) = rjaj Gj-1(n - a j ) + rj G j (n - 1) };

for n= MIN +1 to min(MAX ,N)if MIN = B(j-1)+aj then G j n( ) = r j G j n-1( )

else G j(n) = rja jG j-1(n - a j ) - rj

B j+1Gj-1(n - Bj - 1) + rjGj (n - 1) ;

for n=MAX +1 to min(B(j)-1, N) {G j n( ) = - rjB j+1

G j-1 n-B j-1( ) + rj G j n-1( )};

if N > B(j) then G j(B(j)) = rjB j G j-1(B( j-1)) }

Figure 3. Convolution algorithm for closed product form QNB.

network without blocking with identical product form state distribution, as described in [GN67].Then by using the duality property this MVA algorithm simply applies the standard MVAalgorithm for networks without blocking to the dual network. A description of this MVA algorithmcan be found in [Cl98].

Note that this MVA algorithm is not related to the arrival theorem as the MVA for queueingnetworks without blocking [RL80], since it is based on the dual network that is without blocking.The arrival theorem for networks with blocking is discussed in Section 4.3 and for product formnetworks with blocking in Section 5.4.

The arrival theorem for product-form queueing networks with infinite capacity queues has beenextended to some cases of QNB, but with a different interpretation. A discussion of the arrivaltheorem validity for product form QNB with different blocking types including Stop andRecirculate blocking and necessary and sufficient condition under this product form can be foundin [BV97].The arrival theorem for special case of two-node product form exponential networkswith BBS-SO or BAS blocking is proved in [BD89].

Another MVA algorithm has been extended to a class of product form networks and with RS-RD blocking, based on recursive relations for average performance indices on the network withblocking. It applies to networks with F2 or F3 product form solution and has a time computationalcomplexity of O(B+ M N) operations, where B+=max1≤i≤MBi. A detailed description of this MVAalgorithm can be found in [S99].

3.4 Heterogeneous networks

Heterogeneous QNB allow representing complex systems where different nodes can work undervarious blocking mechanisms. For example in an heterogeneous QNB modeling a computernetwork, RS-RD blocking can be used to model a system components that repeats the sending ofcustomer (a message or a packet) when it fails due to finite buffer constraints, while BAS blocking

Page 16: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/16

can represent a system component that is blocked after the service because of the full destinationnode.

The exact solution of a heterogeneous queueing network with blocking (HQNB) can beobtained by the Markov chain approach and, in some special cases, by product form solution. Thedefinition of the Markov process associated to the HQNB combines and composes the definition ofthe processes for the various blocking type. A complete definition of the state space of an HQNBcan be found in [BDO01]. In this section for the sake of simplicity, we do not consider BBS-SNO,Stop and Recirculate mechanisms.

Note that a node j working under a given blocking type X means that when its destination nodei is full, node j behaves according to X blocking model. Then process definition is more complexbecause more constraints of the different blocking types must be verified for a given node asupstream nodes working under different blocking types. For example, consider that for any node iwith finite capacity and at least an upstream node j with BAS blocking, the node state notation Simust include component mi as defined in Example 2.

We can define the following partition of the set of M network nodes:

IX

X Œ BU = 1, 2 , º, M{ }

where B = {Unb, RS-RD, BAS, BBS-SO, BBS-O}, IX is the set of the nodes with X blocking typeand X=Unb denotes that a node is never blocked.

The state space of a closed heterogeneous network with M nodes operating according to ablocking type in B is defined as follows:

EHet = {(S1, S2,..., SM) | Si = (ni,mi) "iŒ IRS-RD» IBBS-O» IUnb; S i = (ni,si,mi)

"iŒ IBAS; Si = (ni,NSi,mi) "iŒ IBBS-SO; ai £ni £Bi , 1≤i≤M, nii=1

MÂ =N }

where components si, mi and NSi are defined as in formulas (8) and (9) and we assume mi=∅ ifnode i has not sending node with BAS blocking. Note that each job transition from node j to node ican yield simultaneous transitions if mj≠∅, and it has at least an upstream node with BAS blockingand a job waiting for room in node j.

For an open network, the process state space definition is simplified by setting ai=0 in the statespace definition.

The process transition rate matrix Q is defined by an appropriate composition of the variouscondition given in the process definition of the different blocking type. A complete definition of thetransition rate matrix of an HQNB can be found in [BDO01].

As concerns product form solution of HQNB, a few results have been obtained by using someequivalence properties between blocking types. Indeed, it can be proved that two networks withdifferent blocking types can be equivalent in terms of queue length distribution and averageperformance indices under particular constraints, such as the type of service centers and thenetwork topology [BD94, BDO01, P90, DLT94, OP86, OP88, OP89a].

Then one can proof that product form solution for HQNB hold in the cases illustrated in Figure4 for various network topologies and blocking types, with the corresponding product form formulagiven by expressions (11) and (10). For example a cyclic network illustrated in Fig. 4 has productform solution F2 when each node can have RS-RD, RS-FD or BBS-SO blocking.

Page 17: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/17

Figure 4. Product form for heterogeneous networks: formulas and admitted blocking types foreach network topology.

4. Approximate analysis of closed queueing networks with blocking

When exact analysis of QNB cannot be applied because of the state space explosion of theMarkov chain and because the product form conditions do not hold, we can consider anapproximate analysis technique. Many approximate methods to analyze open or closed QNB havebeen proposed to evaluate average performance indices and queue length distributions [BDO01,O93, P89]. Most of the method provides an approximate solution with a limited computationalcost, but any bound on the introduced approximation error. The accuracy of the methods isusually validated by comparing numerical results with either simulation results or exact solutions.

4.1 Basic principles

Several approximate methods are heuristics based on the decomposition principle applied tothe underlying Markov process or directly to the network. Decomposing a Markov processconsists in identifying a state space E partition of into K subsets Ek, 1≤k≤K, which leads to adecomposition of the rate matrix Q into K2 submatrices. Hence the solution of the system (6) isreduced to the solution of K subsystems of smaller dimension, each related to a subset of E. Thenthese solutions are combined to obtain the overall process solution. The state space E partition is acritical problem and affects the accuracy and the time complexity of the approximate algorithm.

The decomposition principle applied to the QNB is based on the aggregation theorem forqueueing networks. It performs in three steps:

(I) network decomposition into a set of subnetworks,(II) analysis of each subnetwork in isolation to define an aggregate component,(III) definition and analysis the new aggregated network.

Then the analysis of the original network reduces to the analysis of each subnetwork at step IIand of the aggregated one at step III. In order to define efficient methods, the isolatedsubnetworks at step II and the aggregated network have to be simple to analyze. The aggregation

BBS-SORS-RDRS-FDnode 1

with RS

Networktopology Two nodes Cyclic Central

serverReversiblerouting

Arbitrary

Blockingtypes

BASBBS-SORS-RDRS-FD

F1 F2& Cond1

F3 F2& Cond2& Cond4

for BBS-SO and RS-FD

F5Productformformula

BBS-SORS-RDRS-FD

RS-RDStop

---

Page 18: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/18

theorem provides exact results for product-form QNB, i.e., the aggregated network is equivalentto the original model in terms of queue length distribution and average performance indices. Fornon product-form networks the aggregated network only approximates the original model, and nobound is known on the approximation error.

Various heuristics have been defined by taking into account both the network modelcharacteristics and the blocking type [AP89, AP87, BK81, BJ88, DF89, DF93, FD89, G87, GN67,HB67, KR78, J90, KX89, KD93, KA95, KA03, LBDF95, O90, O93, PA86, P89, PNL88, PS89,SD86, YB85, B00]. A bounded aggregation technique has been defined for Markov processes andapplied to queueing networks with blocking in [CS86] by exploiting the special structure of theunderlying Markov process. Network decomposition and the evaluation of the approximation errorare the two main critical issues for the approximate methods based on decomposition. Sometechniques apply an iterative aggregation-disaggregation procedure for which conditions and speedof convergence should also be considered, as in [DF89]. Some approximations are obtained byforcing exact aggregation for product-form queueing networks with infinite capacity. Otherapproximation algorithms are based on a product-form solution defined by the maximum entropyprinciple [KX89, KD93, KA95].

We briefly present some approximate methods for closed QNB in this Section and for openQNB in the next section. For simplicity we assume single server nodes and FCFS servicediscipline. Figure 5 shows some approximate methods for closed QNB for cyclic and arbitrarytopology networks and for some blocking types.

Figure 5. Approximate methods for closed QNB.

Three methods analyze network with cyclic topology and the three approximations apply toarbitrary topology networks. All of them assume exponential service time distribution, except forthe Maximum Entropy Approximation that applies to QNB where nodes have generalizedexponential service time distribution (GE). All the algorithms apply to homogeneous networks, i.e.,networks where each node has the same blocking type.

Let B=S1≤i≤M Bi denote the total network capacity, and B+ and B- respectively the maximumand minimum node capacity of the network.

- Throughput Approximation- Variable Queue Capacity

Decomposition

RS-RD

NetworktopologyCyclic Arbitrary

Blockingtype

BBS-SO

BAS- Matching State Space- Approximate MVA

- Throughput Approximation- Network Decomposition

- Maximum EntropyAlgorithm

Page 19: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/19

4.2 Cyclic networks

Approximate algorithms for cyclic networks are Throughput Approximation [OP89b], NetworkDecomposition [FD89], and Variable Queue Capacity Decomposition methods [SD86]. Theyevaluate the throughput of cyclic networks with exponential service time distribution. The first andthe third algorithms compute the throughput as a function of network population.

Throughput Approximation method [OP89b] is based on the assumption that the throughput isa symmetrical function of the population network. Let X(N) denote the network throughput whenthere are N customers in it. Throughput is symmetrical if X(N)=X(B-N). This property holds forBBS blocking and under the more general assumption of PH service distributions, as discussed in[DLT94]. Moreover the throughput reaches its maximum value for N=N*, where N*=ÎB/2˚ if B iseven and N*=ÎB/2˚, ÎB/2˚+1 if B is odd. Function X(N) is non-decreasing for 1≤N≤N* and non-increasing function for N*≤N<B. Hence the algorithm directly computes few values of functionX(N) with exact analytical methods and computes the other values by fitting the curve throughthose known points based on the following interpolation function:

X(N)=X(N+1)-y xN*-N (12)where

y=[X(N*) - X(B- )] [ xii=1

N*- B–Â ]-1 (13)

and x is the fixed-point of the following equation:

X(B--1)= X(B-)-[X(N*)-X(B-)][xN*-B-+1 (1-x)]/[x-xN*-B-+1] (14)

The Throughput Approximation algorithm works as follows for BBS blocking:

1. Exact computation of X(N) for N=B--1, B-, N*: by product form solution for 1≤N≤B-because the network is without blocking, by Markov chain analysis for X(N*) .

2. Approximate computation of X(N) for B-+1≤N≤N*-1. These values are approximatedby formulas (12), (14) and the solution of the fixed-point problem (14).

For BAS blocking the throughput does not yield the symmetry property, but a similar shape ofthe curve as for BBS blocking is conjectured, supported by experimental results. However, N*depends on the queue capacities and service rates and is approximated by ÏS i(Bi+1)/2˘-1. Thenone has to directly evaluate more values of X(N) than for BBS and to compute the approximationalso for N*≤N≤B-2. This affects the algorithm efficiency and accuracy with respect to the case ofBBS blocking.

The algorithm shows a very good accuracy with a maximum relative error within 5% both forBAS and BBS blocking. For both blocking types the error increases when the number of customersis close to B-. The width of the interpolation values does not affect the approximation accuracy.The main drawback of this method is the high computational cost needed to evaluate exactthroughput at steps 1. Hence it can be used for parametric analysis of the throughput by varying thenetwork population and only for small QNB with few nodes and customers.

Network Decomposition [FD89] approximates the throughput of the cyclic network with BBSblocking by network decomposition according to steps (I)-(III) described in Section 4.1. In step I

Page 20: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/20

the network is partitioned into M one-node subnetworks. At step II each subnetwork is analyzed inisolation as an M/M/1/Bi network with arrival rate li* and load dependent service rate µ*i(n),0≤n≤Bi to derive the marginal queue length distribution p*i(n), 0≤n≤Bi, 1≤i≤M. This aggregationprocedure does not provide exact results for this blocking network and taking into account theblocking of the finite capacity of the downstream nodes approximates the analysis of the isolatedqueue. The algorithm distinguishes two cases depending on whether is one infinite capacity node,denoted by 1, i.e. B1=∞. In this latter case the algorithm parameters are defined as follows:

µ*i(n)={(1 / m i ) + bij (n)[ (1 / m k )k =i +1

j

 ]}- 1

i=1

M

 , 1≤i≤M, 1≤Bi≤N (15)

µ*M(n)=µM, 1≤n≤BM (16)li*= X/(1-p*i(Bi)) (17)

where X is the network throughput and bij(n) denotes the probability that nodes i+2,…,j are fulland node j+1 is not full, given n customers in node i, 1≤i,j≤M. This probability is expressed interms of probabilities p*k(Bk) for i+1≤k≤j+1. Moreover p*i(Bi) in formula (17) is a function ofli*. Hence given the throughput X the arrival rate li* can be computed as the solution of thefixed-point equation (17). These formulas are the basis of the iterative algorithm that works asfollows:

- It starts with a throughput approximate interval [Xmin(0), Xmax(0)].- At the k-th step (k≥1) it computes new parameters li* and µ*i(n), 0≤n≤Bi, 1≤i≤M, by

formulas (15)-(17) and appropriately updates the k-th throughput approximation [Xmin(k),Xmax(k)].

- Continue the iteration until a convergence condition is satisfied. This includes a control ofthe approximate interval width, i.e., (Xmax(k)-Xmin(k))<e for a small e, a consistencycontrol, that is the summation of all the average node population is close to N, andli*<µ*i-1,"i for the convergence of the fixed-point equation (17).

If all nodes have finite capacity (B1<∞), formula (16) does not hold and µ*M(n) is computedby an expression similar to (15) and an additional iteration cycle is required to computeprobabilities p*i(Bi), "i (see [FD89] for details). Like the previous algorithm, convergence hasnot been proved, but it has been observed and its accuracy has been tested numerically. The timecomputational complexity is of O(kM4(B+)3) operations for k iteration steps. The method has agood accuracy with a maximum relative error almost always within 7%. Although the averagerelative error is affected by the M, but it seems to be independent of the other network parameters(service rates and capacity unbalancing). Like the previous algorithm, the error increases whenthe number of customers is close to B- and we observed both cases of underestimation andoverestimation of the real throughput.

Variable Queue Capacity Decomposition method [SD86] can be applied to cyclic networkswith BBS blocking and where one node has infinite capacity (B1=∞). It is based on the networkdecomposition principle applied to nested subnetworks. The main idea is that given a node i, all thedownstream nodes {i+1,…,M} are aggregated in a single composite node Ci with load dependentservice rate and a variable queue capacity, as illustrated in Figure 6.

This definition of variable queue capacity allows overcoming the classical definition ofcomposite node with constant capacity, so improving the approximation. The approximation

Page 21: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/21

(a)

(b)

Figure 6. Subnetwork aggregation in Variable Queue Capacity Decomposition method: (a) theoriginal network, (b) the aggregated network where node Ci+1 has variable queue capacity.

evaluates the composite node Ci+1 parameters, that are the load dependent service rate denoted byni+1(n) and the fraction of time in which the queue capacity is n, given N customers in the networkdenoted by fi+1(n|N), 1≤n≤N. The algorithm works as follows:

- It starts with the analysis of the two-node subnetwork formed by {M-1,M} to define thecomposite aggregate node CM-1 that is seen by node M-2.

- Then it goes backward from node i=M-2 to node 1 to the analysis of the two-nodesubnetwork formed by {i, Ci+1} to define the composite aggregate node Ci.

- At the last step the two-node network formed by {1, C2} represents the entire aggregatednetwork and one obtains the approximated throughput.

The analysis of each two-node network with a composite node with variable queue capacity (orvariable buffer) (VB) is carried out by considering two corresponding two-node networks with acomposite node with fixed buffer (FB) and with infinite buffer (IB), respectively. Parameters ni(n)and fi(n|N) of the VB network are derived by the solution of the two corresponding FB and IBnetworks, whose analysis is well-known and quite simple. In particular the VB network parametersand state probabilities are defined as a weighted sum of the FB parameters and state probabilities;these are in turn approximated by using the IB model solution. The algorithm details are given in[SD89]. The algorithm is very simple, non iterative and its time computational complexity is ofO(MN3) operations. The method shows accurate results for small networks (M≤4), but anincreasing relative error as the number of nodes increases, although most of the relative errors arewithin 15%. This is expected since each aggregation step introduces an approximation error.Parameter N does not affect the accuracy, but the algorithm underestimates the throughput forsmall N and overestimates it for large ones. The average relative error seems to be independent ofthe unbalancing between node service rates and/or queue capacities.

4.3 Arbitrary topology networks

Approximate algorithms for arbitrary topology networks are Matching State Space [A88a],Approximate MVA [A88b] and Maximum Entropy Algorithm [KX89]. The first two methods

… …N2 M1 i+1

…i1 Ci+1

Page 22: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/22

assume BAS blocking and exponential service time and evaluate the network throughput. The thirdmethod considers RS-RD blocking, generalized exponential service time and evaluates the queuelength distribution and average performance indices.

Average performance indices analysisMatching State Space [A88a] method approximates the throughput of a network with BASblocking and exponential service times. The basic idea is to approximate the behavior of thenetwork with blocking with that of a network without blocking by choosing the population toapproximately match the state space cardinality of the underlying Markov chain. The assumption isthat the two networks with nearly the same state space cardinality should have similar throughputs

Let K(N) denote the state space cardinality of the Markov chain associated to the QNB whenthere are N customer in the network. The algorithm approximate the throughput of the QNB withthat of a new network with infinite capacity queues and N' customers such that it has nearly thesame state numbers. Let K'(N')= M+N' -1

M-1( ) be the state space cardinality of the associated Markovchain of this new network. Then the algorithm determines N' to approximate equation K(N)=K'(N'),that is to minimize the difference function |K(N)-K'(N')|. Since one can observe that K(N)≤K'(N)"N then N'≤N. Finally, the network without blocking is analyzed. The algorithm steps are:

1. Computation of K(N) by a convolution algorithm.2. Determine N' to minimize |K(N)-K'(N')|, 1≤N'≤N, by linear search in[1,N].3. Computation of the throughput of the network without blocking by a convolution algorithm.

The algorithm implementation is simple and the time computational complexity is of O(M3+MN2)operations. However, numerical evaluation in general does not show a good accuracy. Thealgorithm tries to approximate the state space cardinality independently of the model structure.Hence it provides the same approximation for all those networks with different parameters thathave the same number of feasible states. The algorithm shows a good accuracy only for networkswith very small state space, while the error increases with the state space cardinality. The methodprovides more accurate results for central server networks and the worst case for cyclic networks.

Approximate MVA [A88b] method applies a modification of the MVA algorithm originallydefined for product-form networks with unlimited queue capacities to QNB with BAS blocking andexponential service times. The MVA algorithm is based on the Little theorem and the arrivaltheorem [RL80]. Let Ri(n), Li(n) and Xi(n) denote respectively the average response time, meanqueue length and throughput of node i when there are n customers in the network and xi be themean number of customers at node i. For load independent service center MVA is based on thefollowing recursive scheme:

Ri(n)= (1/µi) [1+Li(n-1)] 1≤i≤M (18)Xi(n)= n xi/[S1≤j≤M xjRj(n)] 1≤i≤M (19)Li(n)= Xi(n)Ri(n) 1≤i≤M (20)

for n=1,…, N, with Li(0)=0, 1≤i≤M. Note that the arrival theorem defined for product-formnetworks without blocking does not apply to QNB, as discussed in Section 3 where we presentedan exact modified MVA algorithm for a class of product-form QNB.

This approximation algorithm modifies formula (18) trying to take into account blocking. Byassuming that if node i is full it cannot accept new customers and there is at least one node j

Page 23: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/23

blocked by node i., then for node i only the customers already in the node contribute to the averageresponse time, while in the blocked node j the time increase of a blocking time due to node i.Hence equation (18) is modified for the full node i and for the blocked node j as follows:

Ri(n)= (1/µi) Li(n-1) (21)Rj(n)= (1/µj) [1+Lj(n-1)]+ (1/µi) (ejpji/ei) (22)

The algorithm works as follows:- Initialization- For each n=1,…N, compute MVA formulas (18)-(20), where (18) is substituted by equation

(21) or (22) for full and blocked nodes, respectively.- Iterate the previous step until Li(n)≤Bi for each node i.The algorithm is simple and its complexity is of O(M3+kMN) operations for k iterations of the

internal cycle at the second step. Numerical experiments have shown small values of k, but thealgorithm does not show a fair accuracy. The number of network nodes does not affect theapproximation error, but it depends on the network topology. Like the previous algorithm thealgorithm provides better results for central server networks and the worst case for cyclic networks.

Queue length distribution approximationMaximum Entropy Algorithm [KX89] evaluates the queue length distribution and averageperformance indices of QNB with RS-RD blocking and generalized exponential service time. Theapproximation is based on the principle of maximum entropy and is an extension of the algorithmdefined for open networks. It has successively be extended to multiclass exponential networks in[KD93, KA95].

Let ai=max{0, N-B+Bi} denote the minimum number of customer in node i, 1≤i≤M. Thealgorithm approximates the joint queue length distribution π(S) for each network state S=(n1,…,nM) by maximizing the entropy function H(π)=-SS π(S)log(π(S)) subject to the followingconstraints:

(I) (normalization) SS π(S)=1(II) (ui is the probability that node i has more than ai customers) Sni>aiπi(ni)=ui(III) (Li is the mean queue length) Sai≤ni≤Bihi(ni)πi(ni)=Li(IV) (Fi is probability that node i is full) Sai≤ni≤Bifi(ni)πi(ni)=Fi

where hi(ni)=min{0, ni-ai-1} and f(ni)=max{0, ni-Bi+1}. By the Lagrange's method ofundetermined multipliers the algorithm determines approximation π(S) that has the followingproduct form expression:

π(n)=(1/Z) xi (ni )yihi (ni )zi

f ii=1

M’ (23)

where Z is a normalizing constant, xi(ni)=1 if ni=ai and xi(ni)=xi if ai≤ni≤Bi, and xi, yi and zi arethe Lagrangian coefficients corresponding to constraints (II)-(IV). The network cannot bedecomposed into single nodes and coefficients xi, yi and zi do not have a closed form expression.The algorithm approximates the closed network with a pseudo open network without externaldepartures and arrivals. Such open network is analyzed by the approximation based on the sameprinciple (see next Section) by adding the constraint on the average queue lengths N=Si Li and

Page 24: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/24

with slight modifications to derive a solution for xi, yi and an approximation for zi, "i. Thencoefficients zi are iteratively evaluated. The algorithm, whose details are given in [KX89], worksas follows:

1. Analysis of the corresponding pseudo open network with the approximation for opennetworks slightly modified to derive coefficients xi, yi and a approximation for zi, "i.

2. Iteratively evaluate coefficients zi by applying a convolution algorithm that computes networkthroughputs.

The time computational complexity of the algorithm for step 1 depends on the algorithm foropen networks (see next Section) and for step 2 is of O(kM2N2) operations where k is the numberof iterations. By numerical experiments we have observed a good accuracy for the averagerelative error of within 4% for the mean queue length and the throughput. However, it can alsolead to results with relevant maximum relative errors up to 60% for throughput and mean queuelength. The topology and the symmetry of network parameters, that is the difference among theservice rates and/or the finite capacities of the service centers does not affect the throughputaccuracy. However, the throughput accuracy depends on the coefficient of variation (c.v.) of theservice distributions that is the error increases as the c.v.'s increase. This is due to theapproximation introduced by the algorithm for open networks applied at step 2 that modifies thec.v. when it is different from 1, corresponding to exponential case. Moreover, the approximateresults do not necessarily satisfy the traffic balance equations of the throughput and often find theexact solution when applied to product-form networks. Finally, there can be problems ofconvergence for cyclic networks with asymmetric parameters (service rates and queue capacities).

Note that this is the only method that provides an approximation of the queue lengthdistribution.

5. Approximate analysis of open queueing networks with blocking

We briefly present some approximate methods for open QNB. For simplicity we assume singleserver nodes and FCFS service discipline. Figure 7 shows some approximate methods for openQNB for tandem, acyclic and general topology networks and for two blocking types.Two methods analyze tandem networks, one applies to acyclic topology and one is for generaltopology models. We assume FCFS service discipline at each node. All of them assumeexponential service time distribution, except for the Maximum Entropy Approximation that appliesto QNB where nodes have generalized exponential service time distribution (GE).

5.1 Tandem networks

Approximate algorithms for tandem networks are Tandem Exponential Network Decomposition[DF93] and Tandem Phase-Type Network Decomposition [PA86]. They evaluate the throughput oftandem networks with exponential service time distribution and BAS blocking.

Tandem Exponential Network Decomposition [DF93] approximates the throughput of tandemnetwork with BAS blocking by a network decomposition method, illustrated in Figure 8. Thenetwork is partitioned into M one-node subnetworks T(i), 1≤i≤M. Subnetwork T(i) represents the

Page 25: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/25

Figure 7. Approximate methods for open QNB.

(a)

(b)Figure 8. Network decomposition in M one-node subnetworks: (a) the original tandem network, (b)

the isolated subnetwork T(i), 1≤i≤M.

isolated node i and is analyzed as an M/M/1/Bi network with arrival rate µu(i) and service rateµd(i) to derive marginal probability πi(n), "n, 1≤i≤M.

Subnetworks T(1) and T(M) correspond to the first and last node of the tandem network onehas µu(1)=l (external arrival rate) and µd(M)=µM. The remaining 2(M-1) unknowns have to bedetermined. Let pb(i) denote the probability that at arrival time system T(i) is full and ps(i) theprobability that at the end of a service system T(i) is empty. The method approximates theunknowns as follows:

µu(i)=[(1/µi-1)+ps(i-1)/µu(i-1)]-1 2≤i≤M (24)µd(i)=[(1/µi)+pb(i+1)/µd(i+1)]-1 1≤i≤M-1 (25)X1=X2=…=XM 2≤i≤M (26)

obtained respectively equations (24) and (25) by the analysis of the arrival and service processesat system T(i) and equations (26) by the throughput conservation law. Each formula (24)-(25)defines a set of M-1 equations and we can define three different systems of 2(M-1) to determine

… …i M1 i+1

- Tandem ExponentialNetwork Decomposition

- Tandem Phase-TypeNetwork Decomposition

RS-RD

NetworktopologyTandem General

Blockingtype

BAS

- Maximum EntropyAlgorithm

Acyclic

- Acyclic NetworkDecomposition

µu(i) µd(i)

Page 26: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/26

the unknowns µu(i) and µd(i), 1≤i≤M. The systems are equivalent. The iterative algorithm worksas follows:

Initialization: µu(1)=l, µd(i)=µi "i.1. repeat

a. forward cycle: for 1≤i≤M-1 compute ps(i) and service rate µu(i+1) by formula (24);b. backward cycle: for i=M,…,2 compute pb(i) and service rate µd(i-1) by formula (25).

until max{|Xi-Xj|, 1≤i,j≤M}<e.2. Compute Li, πi(n), 0≤n≤Bi, 1≤i≤M and X1.

The algorithm requires O(kM(B+)2) operations where k is the iterations number at step 1. Onecan prove the algorithm convergence, and numerical results show that it is fast. The accuracy isquite good for throughput with a maximum relative error within 4.1%. For the mean queue lengththe results are less accurate. The algorithm produces results with lower accuracy for parametersunbalancing, and in particular for unbalanced queue capacities

Tandem Phase-Type Network Decomposition [PA86] method is based on networkdecomposition into M one-node subnetworks, but each subsystem is modeled by an M/PHn/1/Bqueue. The i-th subsystem corresponds to node i, has arrival rate li, PH service distribution withM-i+1 exponential phase to take into account blocking due to the downstream nodes (i+1,…,M)and its finite capacity is Bi+1. It can be represented by the pair (ai,Ti), where ai=[1,0,0,…0] is an(M-i+1)-vector, Ti is a square matrix defined as Ti=[µi, µi+1,…,µM,]TA, where A[ars] (i≤r,s≤M)is an upper triangular square matrix whose elements represent the probabilities among theexponential phases. The method approximates such probabilities as follows:

aij=ji+1wi+1(j) 1≤i≤M, i+1≤j≤M (27)ji=πi(Bi+1)/[liwiTi-11] 2≤i≤M-1 (28)wi(j)=πi(0)aiRiBigij)/πi(Bi) 2≤i≤M-1, i+1≤j≤M (29)

where wi=[wi(j)] (i+1≤j≤M) is row (M-i+1)-vector, 1=[1…1]Tand gij column (M-i+1)-vectorsand gij has all zero components except the j-th that is equal to one. The method uses thesolution of the fixed point problem

li=li/[1-πi(Bi+1)] (30)

Last subsystem is modeled by an M/M/BM+1 queue with service rate µM. The i-th systemM/PHn/1/B is solved with a matrix-geometric technique that compute a square matrix Ri.

This algorithm applied to tandem networks where the first node has unlimited capacity(B1=•) works as follows:

1. Analysis of subsystem Ma. determine lM as the fixed point solution of equation (30)b. compute queue length distribution πM by the M/M/1/BM+1 analysisc. compute jM-1=µMπM(BM+1)/lM

2. Analysis of subsystem i, i=M-1,…, 2

Page 27: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/27

a. determine li as the fixed point solution of equation (30)b. compute queue length distribution πi by the M/PHM-i+1/1/Bi+1 analysisc. compute wi(j), ji and ai-1j, "j, by formulas (29) (28) and (27)

3. Analysis of subsystem 1compute queue length distribution π1 by M/PHM/1/B1+1 analysis with arrival rate l.

The algorithm for tandem networks where all nodes have finite capacity (B1<•) has an additionaliterative cycle to estimate the effective arrival rates li for each node i. Convergence has not beenproved and cases of non-convergence could depend on numerical errors due to the matrixdimension that grows with the number of nodes. The algorithm requires O(k1S2≤i,Mki(M-i+1)3Bi2) operations for ki iterations to compute li "I, depending on the fixed point problems atstep 2 (2≤i≤M) and on the external iteration cycle for i=1. Numerical results have shown apositive correlation between ki, "i. The accuracy of the algorithm is good for the throughput andfair for the average queue length, and it is quite good when all the nodes have finite capacity(B1<•). The accuracy is affected by the parameter unbalancing (service rates and queuecapacities), but does not depend on the number of nodes.

5.2 Acyclic and general topology analysis

Approximate algorithms for acyclic and arbitrary topology networks are Acyclic NetworkDecomposition [LBDF95] and Maximum Entropy Algorithm [KX89]. They apply to more generaltopology networks, evaluate the queue length distribution and are respectively based on networkdecomposition and the maximum entropy principle. The former method applies to acyclic networkswith exponential service time distribution and BAS blocking, while the latter analyses the moregeneral classes of networks with arbitrary topology and generalized exponential service timedistribution and RS-RD blocking.

Acyclic Network Decomposition [LBDF95] method extends to acyclic topology networks theTandem Exponential Network Decomposition for tandem networks. It is based on a networkdecomposition into M single node subsystems T(i), "i, but defines a new set of equations todetermine the subsystems parameters. Let li be the external arrival rate at node i and let Ui={j:pij>0} and Di={j: pij>0} OiU {0} denote respectively the set of the indices of the predecessor anddestination nodes of node i, "i, including node 0 for exogenous arrivals and departures. Eachsubsystem T(i) receives arrivals from |Ui| exponential sources with rates µuj(i), for jŒUi. T(i) isanalysed as an M/M/1/Bi network with arrival rate S jŒUi µuj(i) and service rate µd(i) to derivemarginal probabilities πi(n), "n, 1≤i≤M. Let pbj(n:i) be the probability that at arrival time at T(i)from the j-th source there are n other nodes blocked by node i, 0≤n≤Ui|-1, jŒUi, and ps(i) theprobability that at the end of a service system T(i) is empty. These probabilities appear in the newformulas defined for the unknown rates µuj(i) and µd(i), 1≤i≤M. For a detailed description see[LBDF95, BDO01]. The method works as follows:

Initialization:µu1(1)=li : "i, such that Ui = ∅µd(i)=µi "i, "i, such that Di = ∅pbj(n:i)=0, jŒUi, 0≤n≤|Ui|, "i

1. repeat

Page 28: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/28

a. forward cycle: for i=1,…, M compute ps(i)=p(1:i)/[1-p(0:i)] and µuj(i) "jŒUib. backward cycle: for i=M,…, 1 compute µd(i) and pbj(n:i) "n,"j.

until convergence of µd(i)

The algorithm time computational complexity is bounded by O(kM[(U+B+)2+U3+2U+1])operations for k iterations and U=maxi|Ui|. Note that for tandem networks U=1 and the algorithmrequires O(kM(B+)2) like the Tandem Exponential Network Decomposition algorithm. Theaccuracy is good with a maximum relative error within 5%. The accuracy is better for acyclictopology and especially merge topology, while the worst results have been observed for tandemnetworks. Therefore the approximation accuracy is better if each subsystem has more than onepredecessor subsystem. Moreover, service rate unbalancing that worsens the results, while queuecapacity unbalancing does not influence the accuracy. This is in contrast with the observed resultsfor the Tandem Exponential Network Decomposition for tandem network, whose accuracy isaffected by the queue unbalancing, and of which this method is a generalization.

Maximum Entropy Algorithm [KX89, KA03] method approximates the queue length distributionof a network with RS-RD blocking and generalized exponential service time by using theprinciple of maximum entropy. The method has been recently extended to open QNB withpriorities [KA03]. An open QNB is decomposed into M subsystems, each analyzed as GE/GE/1/Bnodes with appropriate parameters by considering blocking. The approximate node i queue lengthdistribution πi maximizes the entropy function H(πi)=-Snπi(n)log(πi(n)) subject to:

(I) (normalization) S0≤n≤Biπi(n)=1(II) (utilization) S0≤n≤Bihi(n)πi(n)=ri(III) (Li is the mean queue length) Sai≤n≤Binπi(n)=Li(IV) (Fi is probability that node i is full) Sai≤n≤Bifi(n)πi(n)=FI

where hi(n)=min{1, max(0,n)} and fi(n)=max{0, n-Bi+1}. This yields to the following productform expression for the joint queue length distribution:

π(n)=(1/Z) x ihi (ni )yi

n i zifi (n i )

i=1

M’

where Z is a normalizing constant, xi=e-bi1, yi=e-bi2, zi=e-bi3, and bij are the 3M Lagrangemultipliers corresponding to constraints (II)-(IV). The marginal queue length distribution for nodei reduces to

πi(n)=(1/Z') x ihi(n )yi

nzifi (n) (31)

where Z' is a normalizing constant. The i-th system is analyzed as a GE/GE/1/B queue witharrival rate li and service rate µ'i. Let cdi and csi denote the coefficient of variation of theinterarrival and interdeparture time from node i. The algorithm, whose details are given in[KX89], works as follows:

Initialization (including cdi "i)

Page 29: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/29

1. repeat for each subsystem i, 1≤i≤Ma. compute the effective arrival rate l'i by the traffic equationsb. compute the probability that at service completion time at i node j is full, "jc. compute queue length probability πi by formula (31)d. compute new values for cdi

until convergence of cdi.

The probability computation at step 1b requires the solution of non-linear system that can leadto numerical instability and problems of convergence. We have rarely observed this problem fortandem and merge topology and unbalanced parameters. There is no proof of convergence anduniqueness of the solution. The time computational complexity is of O(W3), where W is thecardinality of the set of probabilities computed at step 1b. The algorithm's accuracy is fair. Itdecreases with the presence of cycles in the networks; merge and split topologies yield a goodaccuracy. The approximation error grows with the coefficient of variation. Indeed they areiteratively approximated to consider the influence of blocking and modified only if they are notone. Note that the balance flow equations are not satisfied by the approximate throughput,because this constraint is not included in the maximum entropy problem.

Figure 9 summarizes some observations on the performance comparison of the approximatemethods for closed and open networks. For each method the figure reports some notes on theaccuracy and efficiency and the set of evaluated performance indices. X indicates that the methodevaluates the network throughput, while X(N) indicates that it evaluates the network throughput asa function of the network population N. The list local parameters (queue length distribution πi,mean queue length Li, throughput Xi, and mean response time Ti) indicates the evaluation for eachnode i, 1≤i≤M.

MethodPerformance

Indices Accuracy Efficiency

Throughput Approximation X(N) Very good Poor for QNB with M>5 nodesNetwork Decomposition X Good GoodVariable Queue Capacity

DecompositionX(N) Good for QNB with M≤4

nodes, inaccurate otherwiseFair

Matching State Space Xi Fair GoodApproximate MVA Li , Xi, Ti Fair for Xi, poor for other

performance indicesVery good

ClosedQNB

Maximum Entropy Algorithm πi, Li , Xi, Ti Fair for all indices FairTandem Exponential

Network Decompositionπi, Li , Xi, Ti Very good for all

performance indicesVery good

TandemPhase-Type Network

Decomposition

πi, Li , Xi, Ti Very good for allperformance indices

Slow when applied to networkswhere all the nodes have finitecapacity and fair otherwise

Acyclic Network Decomposition πi, Li , Xi, Ti Very good for allperformance indices

Very good

OpenQNB

Maximum Entropy Algorithm πi, Li , Xi, Ti Good for all performanceindices

Fair

Figure 9. Performance comparison of approximate methods for QNB.

Page 30: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/30

6. Application examples of heterogeneous networks with blocking

QNB can be applied for performance analysis of various types of systems, including computerand communication networks. For example the cyclic network shown in Fig.1 can model packetswitching networks with fixed routing, where a physical path is set up for each user session. Acyclic network can model a sliding window end-to-end flow control. In the sliding windowprotocol, the number of packets that can be outstanding without an acknowledgement between anysource-destination pair is constrained to be no more than some positive integer W, called thewindow size. Let us assume that, under high load, the source has a backlog of packets ready to besent, i.e., to enter the network as soon as the window size allows.

When a packet is delivered to the destination, a new packet immediately enters the network.Hence, the system can be modeled as a closed network with N=W customers in it.

This model with finite buffer capacity queues allows representing the limited buffer size of thenodes that compose the session routing path. Hence, by the QNB model analysis we can deriveperformance indices such as for example the end-to-end delay (that is the network response time),the network throughput (X), the throughput, the average queue length and the utilization of eachnode in the path (Xi, Li. Ui). This cyclic network model can be analyzed under the assumption ofPoisson arrivals and exponential the service time distribution with exact or approximate methods.In particular for BAS blocking exact analysis is based on the Markov chain solution as described inSection 3.1, while for BBS and RS blocking product form solution F2 holds under the non-emptycondition, as shown in Fig. 2.

Note that if different nodes in the network work under different blocking protocols, i.e. if theQNB is heterogeneous, a product form solution can still hold if the blocking types are BBS-SO,RS-RD and RS-FD, as shown in Fig. 4. Finally, if exact analysis cannot be applied, we canevaluate the network throughput by one of the approximation algorithm among ThroughputApproximation, Network Decomposition, and Variable Queue Capacity Decomposition methods,as shown in Fig. 5 and discussed in Section 4.2.

A useful property of QNB that can be used to analyze heterogeneous models is the equivalencebetween blocking types. Several equivalence properties have been proved by defining exacttransformation functions between state spaces of the associated Markov processes. Suchequivalence relations between performance indices allow extending solution methods. Theseresults relate networks with different blocking types under various condition depending on thenetwork topology [BDO01,BD94]. Moreover note that heterogeneous networks where servicecenters work under different and equivalent blocking mechanisms are also equivalent tohomogeneous networks with one of the considered blocking types. This property can be used toselect the most appropriate solution method.

Consider a heterogeneous model of a computer and communication system shown in Figure 10.It is a simple model (possibly obtain by aggregation) of distributed systems where two computersystems (nodes Ci, Di, i=1,2) are interconnected by a communication network (nodes Ni, 1≤i≤4).In order to model job contention for Disk Subsystem finite capacity we can consider BAS blockingfor nodes D1 and D2, for CPU’s subsystems we consider RS-RD for nodes C1 and C2, computernetwork access is modeled by RS-RD blocking for nodes N1 and N3, and communication linksrepresented by nodes N2 and N4 have BBS blocking. Customers of the QNB represent job or tasksin computer systems and packets or messages in the communication subnetwork. Then underexponential assumptions it can be proved that this heterogeneous network is reducible to anhomogeneous network with RS-RD blocking type with the same parameters

Page 31: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/31

Computer System Computer System

Communication subnetwork

Figure 10. A computer and communication system model.

except for node 1 and 5 whose capacity are increased by one. Then the heterogeneous QNB can beanalyzed by applying the solution algorithms for the QNB with RS-RD blocking.

For example, note that if we assume the blocking model of subsystems D1 and D2 to be RS-RDblocking, exponential service times with load independent service rates, and then the model is anexample of heterogeneous product form F2 as shown in Fig. 4 and we can apply convolutionalgorithm to derive performance indices.

7. Conclusions

We have presented queueing networks with finite capacity queues and blocking for modeling andanalyzing systems with finite resources, population constraints and various blocking mechanisms.Heterogeneous networks having different blocking protocols can be represented by heterogeneousQNB where the service centers may have different blocking types. We have presented the exactanalysis of QNB based on Markov chain solution and on product form algorithms, and the mainapproximate methods to evaluate average performance indices and the queue length distribution.Most of them apply to models with a single class of customers, special topology, or requireexponential service time distribution. Almost all the approximate algorithms apply to QNB with thesame blocking type.

Since many computer and communication systems lead to QNB models with different types ofcustomers, general topology and service time distribution there is need of further research forsolution algorithm of more complex models. In particular it would be interesting to proposeaccurate and general approximate solution algorithms for heterogeneous multiclass queueingnetworks with blocking.

References

[A87] Akyildiz, I.F. "Exact Product Form Solutions for Queueing Networks with Blocking"IEEE Trans. on Computers, Vol. 1 (1987) 121-126.

[A88a] Akyildiz, I.F. "General Closed Queueing Networks with Blocking" in Performance'87,

N3N4

C2 D2C1 D1

N1 N2

Page 32: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/32

Courtois and Latouche (Eds), 282-303, Elsevier Science Publishers (North Holland),Amsterdam, 1988.

[A88b] Akyildiz, I.F. "On the Exact and Approximate Throughput Analysis of ClosedQueueing Networks with Blocking" IEEE Trans. on Software Eng., Vol. 14 (1988), 62-71.

[AK89] Akyildiz, I.F., and S. Kundu "Deadlock Free Buffer Allocation in Closed QueueingNetworks" Queueing Systems Journal, 4 (1989) 47-56.

[AP89] Akyildiz, I.F., and H.G. Perros, Special Issue on Queueing Networks with FiniteCapacity Queues, Performance Evaluation, vol. 10, n. 3 (1989).

[AV89] Akyildiz, I.F., and H. Von Brand "Exact solutions for open, closed and mixed queueingnetworks with rejection blocking" J. Theor. Computer Science, 64 (1989) 203-219.

[AV90] Akyildiz, I.F., and N. Van Dijk "Exact Solution for Networks of Parallel Queues withFinite Buffers" in Performance ’90 (P.J.B. King, I. Mitrani and R.J. Pooley Eds.)North-Holland, 1990, 35-49.

[AP87] Altiok, T. and H.G. Perros, Approximate analysis of arbitrary configurations ofqueueing networks with blocking, Ann. Oper. Res. 9 (1987) 481-509.

[BDO01] S.Balsamo, V. De Nitto Personè, R. Onvural "Analysis of Queueing Networks withBlocking" Kluwer Academic Publishers, 2001.

[B00] S.Balsamo "Closed Queueing Networks with Finite Capacity Queues: Approximateanalysis" Proc. ESM'2000, SCS, European Simulation Multiconference 2000, Ghent,23-26 May 2000.

[BD94] S.Balsamo, V.De Nitto "A survey of Product-form Queueing Networks with Blockingand their Equivalences" Annals of Operations Research, vol. 48, Jan 1994.

[BCD93] S.Balsamo, M.C. Clo' L.Donatiello "Cycle Time Distribution of Cyclic QueueingNetwork with Blocking" Performance Evaluation, North Holland, vol.14, n.3, 1993.

[BC98] Balsamo, S., C. Clò "A Convolution Algorithm for Product Form Queueing Networkswith Blocking" Annals of Operations Research, Vol. 79 (1998) 97-117.

[BD89] Balsamo, S., and L. Donatiello "On the Cycle Time Distribution in a Two-stageQueueing Network with Blocking" IEEE Transactions on Software Engineering, Vol.13 (1989) 1206-1216.

[BCMP75] Baskett, F., K.M. Chandy, R.R. Muntz, and G. Palacios "Open, closed, and mixednetworks of queues with different classes of customers" J. of ACM, 22 (1975) 248-260.

[Bo98] Boucherie, R. "Norton's Equivalent for queueing networks comprised ofquasireversible components linked by state-dependent routing" PerformanceEvaluation, Vol. 32 (1998) 83-99.

[BV97] Boucherie, R., and N. Van Dijk "On the arrival theorem for product form queueingnetworks with blocking" Performance Evaluation, 29 (1997) 155-176.

[BK81] Boxma, O., and A.G. Konheim "Approximate analysis of exponential queueingsystems with blocking" Acta Informatica, 15 (1981) 19-66.

[BJ88] Brandwajn, A., and Y.L. Jow "An approximation method for tandem queueing systemswith blocking" Operations Research, Vol. 1 (1988) 73-83.

Page 33: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/33

[CP79] Caseau, P., and G. Pujolle "Throughput capacity of a sequence of transfer lines withblocking due to finite waiting room" IEEE Trans. on Softw. Eng. 5 (1979) 631-642.

[C93] Cheng, D.W. "Analysis of a tandem queue with state dependent general blocking: aGSMP perspective" Performance Evaluation, Vol. 17 (1993) 169-173.

[Cl98] Clò, C. "MVA for Product-Form Cyclic Queueing Networks with RS Blocking"Annals of Operations Research, Vol. 79 (1998).

[DF93] Dallery, Y., and Y. Frein "On decomposition methods for tandem queueing networkswith blocking" Operations Research, Vol. 14 (1993) 386-399.

[DLT94] Dallery, Y., Z. Liu, and D.F. Towsley "Equivalence, reversibility, symmetry andconcavity properties in fork/join queueing networks with blocking" J. of the ACM,Vol. 41 (1994) 903-942.

[DT91] Dallery, Y., and D.F. Towsley "Symmetry property of the throughput in closed tandemqueueing networks with finite buffers" Op. Res. Letters, Vol. 10 (1991) 541-547.

[FD89] Frein, Y., and Y. Dallery "Analysis of Cyclic Queueing Networks with Finite Buffersand Blocking Before Service", Performance Evaluation, Vol. 10 (1989) 197-210.

[GaN86] Gavish, B., and I. Neuman "Capacity and Flow Assignments in Large ComputerNetworks" in Proc. IEEE-Infocom'86, 1986, 275-284.

[G87] Gershwin, S. B. "An efficient decomposition method for the approximate evaluation oftandem queues with finite storage space and blocking" Oper. Res., Vol. 35 (1987) 291-305.

[GN67] Gordon, W.J., and G.F. Newell "Cyclic queueing systems with restricted queues" Oper.Res., Vol. 15 (1967) 286-302.

[GuM89] Gün, L., and A.M. Makowski "An approximation method for general tandem queueingsystems subject to blocking" Proc. First Int. Workshop on Queueing Networks withBlocking, (H.G. Perros and T. Altiok Eds.) North Holland, 1989,147-171.

[HB66] Hillier, F.S., and W. Boling "The Effect of Some Design Factors on the Efficiency ofProduction Lines with Variable Operation Times" J. Ind. Eng., Vol. 7 (1966) 651-658.

[HB67] Hillier, F.S., and W. Boling "Finite queues in series with exponential or Erlang servicetimes - a numerical approach" Oper. Res., Vol. 15 (1967) 286-303.

[HS89] Hillier, F.S., and K.C. So "The assignment of extra servers to stations in tandemqueueing systems with small or no buffers" Performance Evaluation, Vol. 10 (1989)213-231.

[HV81] Hordijk, A., and N. Van Dijk "Networks of queues with blocking", in: Performance '81(K.J. Kylstra Ed.) North Holland (1981) 51-65.

[J63] Jackson, J.R. "Jobshop-like Queueing Systems" Mgmt. Sci., Vol. 10 (1963) 131-142.[JS89] Jafari, M. A. and J.G. Shanthikumar "Determination of Optimal Buffer Storage

Capacities and Optimal Allocation in Multistage Automatic Transfer Lines" IIE Trans.,Vol. 21 (1989) 130-135.

[JP90] Jun, K.P., and H.G. Perros "An approximate analysis of open tandem queueingnetworks with blocking and general service times" Europ. Journal of OperationsResearch, Vol. 46 (1990) 123-135.

Page 34: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/34

[Ka92] Kant, K. Introduction to Computer System Performance Evaluation. McGraw-Hill,1992.

[Ke79] Kelly, K.P. Reversibility and Stochastic Networks. John Wiley and Sons Ltd.,Chichester, England, 1979.

[Kl76] Kleinrock, L. Queueing Systems-Vol II, John Wiley and Sons, New York, 1976.[KR78] Konhein, A.G., and M. Reiser "A queueing model with finite waiting room and

blocking" SIAM J. of Comput, Vol. 7 (1978) 210-229.[K83] Kouvatsos, D.D. "Maximum Entropy Methods for General Queueing Networks" in

Proc. Modeling Tech. and Tools for Perf. Analysis, (Potier Ed.), North Holland, 1983,589-608.

[KA95] Kouvatsos, D., and I.U. Awan "Arbitrary closed queueing networks with blocking andmultiple job classes" Proc. Third International Workshop on Queueing Networks withFinite Capacity, Bradford, UK, 6-7 July, 1995.

[KA03] Kouvatsos, D., and I.U. Awan "Entropy maximization and open queueing networkswith priorities and blocking" Performance Evaluation, Vol. 51 (2003) 191-227.

[KD93] Kouvatsos, D., and S.G. Denazis "Entropy maximized queueing networks withblocking and multiple job classes" Performance Evaluation, Vol. 17 (1993) 189-205.

[KX89] Kouvatsos, D.D., and N.P. Xenios "Maximum Entropy Analysis of General QueueingNetworks with Blocking", in First International Workshop on Queueing Networks withBlocking, (Perros and Altiok Eds), Elsevier Science Publishers North Holland, 1989.

[KuA89] Kundu, S., and I. Akyildiz "Deadlock free buffer allocation in closed queueingnetworks" Queueing Systems Journal, Vol. 4 (1989) 47-56.

[La77] Lam, S.S. "Queueing networks with capacity constraints" IBM J. Res. Develop., Vol.21 (1977) 370-378.

[L83] Lavenberg, S.S. Computer Performance Modeling Handbook. Prentice Hall, 1983.[LBDF95] Lee, H.S., A. Bouhchouch, Y. Dallery and Y. Frein "Performance Evaluation of open

queueing networks with arbitrary configurations and finite buffers" Proc. ThirdInternational Workshop on Queueing Networks with Finite Capacity, Bradford, UK, 6-7 July, 1995.

[LB93] Liu, X.G., and J.A. Buzacott "A decomposition related throughput property of tandemqueueing networks with blocking" Queueing Systems, Vol. 13 (1993) 361-383.

[MF97] Mishra, S., and S.C. Fang "A maximum entropy optimization approach to tandemqueues with generalized blocking" Performance Evaluation, Vol. 30 (1997) 217-241.

[MM90] Mitra, D., and I. Mitrani " Analysis of a Kanban discipline for cell coordination inproduction lines I" Management Science, Vol. 36 (1990) 1548-1566.

[N86] Neuts, M.F. "Two queues in series with a finite intermediate waiting room" J. Appl.Prob., 5 (1986) 123-142.

[O89] Onvural, R.O. "Some Product Form Solutions of Multi-Class Queueing Networks withBlocking' Performance Evaluation, Special Issue on Queueing Networks withBlocking, (Akyildiz and Perros Eds), 1989.

[O90] Onvural, R.O. "Survey of Closed Queueing Networks with Blocking" ACM

Page 35: Performance Analysis of Queueing Networks with Blockingbalsamo/pub/tut03.pdfThe customers arriving at this node when the queue is full are lost. This blocking is also called kanban

T6/35

Computing Surveys, Vol. 22, 2 (1990) 83-121.[O93] Onvural, R.O. Special Issue on Queueing Networks with Finite Capacity, Performance

Evaluation, Vol. 17, 3 (1993).[OP86] Onvural, R.O., and H.G. Perros "On Equivalencies of Blocking Mechanisms in

Queueing Networks with Blocking" Oper. Res. Letters, Vol. 5 (1986) 293-298.[OP88] Onvural, R.O., and H.G. Perros "Equivalencies Between Open and Closed Queueing

Networks with Finite Buffers" Performance Evaluation, 1988.[OP89a] Onvural, R.O., and H.G. Perros "Some equivalencies on closed exponential queueing

networks with blocking" Performance Evaluation, Vol.9 (1989) 111-118.[OP89b] Onvural, R.O., and H.G. Perros "Throughput Analysis in Cyclic Queueing Networks

with Blocking" IEEE Trans. Software Engineering, Vol. 15 (1989) 800-808.[P89] Perros, H.G. "Open Queueing Networks with Blocking" in Stochastic Analysis of

Computer and Communications Systems, (Takagi Ed.), Elsevier Science Publishers,North Holland, 1989.

[P94] Perros, H.G. Queueing networks with blocking. Oxford University Press, 1994.[PA86] Perros, H.G., and T. Altiok "Approximate analysis of open networks of queues with

blocking: tandem configurations" IEEE Trans. on Software Eng., Vol. 12 (1986) 450-461.

[PNL89] Perros, H.G., A. Nilsson, and Y.C. Liu "Approximate Analysis of Product Form TypeQueueing Networks with Blocking and Deadlock" Performance Evaluation (1989).

[PS89] Perros, H.G., and P.M. Snyder "A computationally efficient approximation algorithmfor analyzing queueing networks with blocking" Performance Evaluation, Vol. 9(1988/89) 217-224.

[R79] Reiser, M. "A Queueing Network Analysis of Computer Communications Networkswith Window Flow Control" IEEE Trans. on Comm., Vol. 27 (1979) 1199-1209.

[RL80] Raiser, M. and S.S. Lavenberg. Mean Value Analysis of closed multi-chain queueingnetworks, Journal of ACM, 27 (1989) 217-224.

[S99] Sereno, M. "Mean Value Analysis of product form solution queueing networks withrepetitive service blocking" Performance Evaluation, Vol. 36-37 (1999) 19-33.

[SD86] Suri, R. and G.W. Diehl, A variable buffer size model and its use in analytical closedqueueing networks with blocking, Management Sci. Vol.32, 2 (1986) 206-225.

[T01] Trivedi, K. “Probability ans Statistics with Reliability, Queueing, and ComputerScience Applications” John Wiley & Sons, 2001.

[V93] Van Dijk, N. "Queueing networks and product form" John Wiley (1993).[YB85] Yao, D.D., and J.A. Buzacott "Modeling a Class of State Dependent Routing in

Flexible Manufacturing Systems" Annals of Operations Research, Vol. 3 (1985) 153-167.


Recommended