Performance Engineering with Product-form Models: Efficient Solutions and Applications

Simonetta Balsamo Andrea Marin Dipartimento di Informatica Dipartimento di Informatica Università Ca’ Foscari Venezia Università Ca’ Foscari Venezia via Torino, 155 via Torino, 155 Venice, Italy Venice, Italy [email protected] [email protected]

ABSTRACT 1. INTRODUCTION Performance engineering plays a pivotal role in the success- Performance engineering plays a pivotal role in the soft- ful design of software system and the software development ware development process and the successful design of soft- process. Stochastic modelling has been widely applied to ware architectures [42], communication protocols, or hard- predict and evaluate or estimate system performance. We ware architectures all along the development process. Mod- consider the specification of models in terms of compositions elling is an important and useful approach for performance of simpler components and their efficient solution. Various evaluation and system validation and it can provide predic- formalisms or classes of stochastic models have been ap- tion and comparison of design alternatives. System perfor- plied for system performance engineering and evaluation. mance engineering deals with the representation and analy- These formalisms includes queueing networks, Stochastic sis of the system dynamic based on models to provide feed- Petri Nets, and Stochastic Process Algebras. Their dy- back in the system development process. In this context, namic behaviour can be usually represented by an under- stochastic modelling has been widely applied to evaluate or lying stochastic (Markov) process. For each formalism some estimate the performance of both software [8] and hardware classes of product-form models have been identified, start- architectures of computer systems. These often consist of a ing from the first remarkable results for BCMP queueing possibly large number of interacting components that have networks. For some product-form models various efficient probabilistic behaviours. A successful quantitative analysis algorithms have been defined. We discuss the problem of of such systems depends on several factors: the ability to identifying and characterize classes of product-form mod- derive an adequate model from the system specifications, els. We compare the properties of the various modeling the characterisation of the workload, and the availability of formalisms, their solution and the combination of product- methods for deriving the desired performance indices and form (sub)models into a heterogeneous model. We illustrate their interpretation at the system level. We deal with the the application of product-form stochastic models for sys- specification of models in terms of compositions of simpler tem performance engineering with some examples of tools components and their efficient solution. Specifically, we fo- for the solution of heterogeneous models formed by synchro- cus on the class of stochastic models with product-form solu- nized sub-models, and some practical applications. tions. These are characterised by separable equilibrium state distributions that can be efficiently computed by consider- ing each model component in isolation. System performance Categories and Subject Descriptors engineering based on stochastic models requires the choice C.4 [PERFORMANCE OF SYSTEMS]: Modeling tech- of an appropriate formalism in order to model develop, an- niques alyze and evaluate significant system models. Various for- malisms or classes of stochastic models have been applied for system performance engineering and evaluation. Their General Terms dynamic behaviour can be usually represented by an under- Performance lying stochastic process. These formalisms include queueing networks, Stochastic Petri Nets, Stochastic Process Alge- Keywords bras, stochastic (Markov) processes. For each formalism some classes of product-form models have been identified, , Product-form solutions. starting from the first remarkable results for BCMP queue- ing networks [12]. Some product-form models can be solved by various efficient algorithms that have been proposed in literature. However, for some classes of models, additional Permission to make digital or hard copies of all or part of this work for conditions and constraints have to be satisfied in order to ap- personal or classroom use is granted without fee provided that copies are ply such algorithms. Specific features and properties have not made or distributed for profit or commercial advantage and that copies been studied and identified for various classes of stochastic bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific models, depending on the specific formalism. More recent permission and/or a fee. research focused on model properties that can be expressed ICPE’11, March 14–16, 2011, Karlsruhe, Germany. in terms of the underlying Markov process. Copyright 2011 ACM 978-1-4503-0519-8/11/03 ...$10.00.

437 Product-form has been widely investigated in queueing els. Since product-form appeared also for other formalisms network domain. Queueing network models (QN) have been (MPA, (G)SPN, SA), it appeared clear that more general extensively applied to represent and analyze various types characterisations were needed in ordered to have a unified of resource sharing systems, such as production, communi- approach to product-form modelling. In this section, we cation and computer systems, and they have proved to be a briefly describe both the results that have been formulated powerful and versatile tool for system performance evalua- for queueing networks and those that appeared later in lit- tion and prediction. QNs provide an abstract/black-box no- erature, and then, when possible, we compare them. tation, thus allowing easier feedback and model comprehen- sion, especially in a component-based software development 2.1 Characterisation of product-form QNs process. A QN is a collection of service centers representing Before proceeding with the definition of product-form prop- the system components that provide service to a collection of erties in QNs we need to introduce some notation and nomen- customers that represent the users. The customers’ compe- clature. tition for the resource service corresponds to queueing into the service centers. The analysis of the QN consists of eval- 2.1.1 Nomenclature and notation about QNs uating a set of performance measures, such as resource uti- In this paper we refer to a queueing station (or simply to lization and throughput and customer response time. This station) to identify the service room and the queue.Cus- class of performance models provide a good balance between tomers are characterised by a class and a chain. While a relative high accuracy in the performance results and the a class is a temporary characterisation, i.e., probabilistic efficiency in model analysis and evaluation, mainly thanks class switching may occur, a chain is permanent. Chains to product-form solutions. Product-form QNs have a simple form a partition of the classes, and each chain may be ei- closed form expression of the stationary state distribution ther open or closed. In the former case Poisson distributed that allowed the performance community to define efficient arrivals from the outside and departures are allowed, while algorithms to evaluate average performance measures [34, in the latter one the chain population is constant. Cus- 16]. Other performance modelling formalisms such as the tomers are distinguishable only through their classes. We Stochastic Petri Nets (SPN) and Stochastic Process Algebra assume independence among the service times and the ar- (SPA) have been proposed allowing the definition of more rival processes. A QN consists of N stations whose state expressive models and more complex cooperation and syn- is denoted by mi,1≤ i ≤ N, and the joint state is de- chronization among system components. Some classes of noted by m =(n1,...,mN ). For some QNs, the states of product-form models of SPN [38], Markovian SPA (MPA) the stations are fully described by the numbers of customers [30] and Stochastic Automata Network (SAN) [40] have been that are present for each class (take for instance the pro- proposed in literature. These formalisms also allow one to cessor sharing queueing discipline with exponential service specify cooperation of sub-models at the level of stochas- time [12]), i.e., the arrival order is not relevant. In these tic Markov processes. In this tutorial we discuss the char- cases, we identify the global state with the same population acterisation of classes of product-form models for various of m for all the stations and classes with the exception of formalisms, their solution and the combination of product- class r of station i which has one more customer than m form (sub)models into a heterogeneous model. Identifying with m + eir. A station is called work-conserving if there is product-form models is not an easy task. In Section 2 we dis- no artificial creation or loss of work in the system [32]. In cuss the relevant problems in the characterisation of classes what follows we refer to QNs assuming state-independent of product-form models. In Section 2.1 we deal with various probabilistic routing and the usual independence hypothesis types of product-form QN models, and we discuss their prop- among the service and arrival times. erties, such as local and station balance, M ⇒ M property, reversibility and quasi-reversibility. Section 2.2 presents the 2.1.2 Properties related to product-form in QNs characterization of product-form models expressed in other Product-form in QNs has been characterised at different formalisms such as SPN and SPA and the cooperation at levels of abstraction: Markov process level. We discuss their properties by review- ing the important result of the Reversed Compound Agent • CTMC level: this is the case for local balance, re- Theorem (RCAT) [25], and one of its extensions (GRCAT). versibility, quasi-reversibility, Markov implies Markov Section 3 introduces heterogeneous modelling where various property. In this context we consider the migration types of sub-models expressed by different formalisms can of a customer from a queue to another as the only be combined. Section 4 addresses the solution algorithms possible interactions among the queues. However, it for product-form stochastic models. Section 5 presents an is possible for a queue to have an internal transition, example of a tool for the solution of heterogeneous models i.e., a state transition which does not correspond to a that consist of synchronised sub-models, and Section 6 some job completion or a customer arrival. practical applications of product-form performance models. Conclusions are presents in Section 7. • Queueing discipline level: this is the case for the sta- tion balance property. In this context the conditions 2. CHARACTERISATION OF A CLASS OF for the product-form are formulated in terms of prop- erties of the queuing discipline of each station in the PRODUCT-FORM MODELS network. From the modeller point of view, these con- Characterising the stochastic processes underlying product- ditions are probably the most interesting because they form models has been one of the main topics addressed in give easily-understandable restrictions on the type of product-form theory. For queueing networks, several au- queues one may use in order to obtain a product-form thors tried to achieve this goal from different abstraction lev- model. On the other hand, as we will discuss later

438 on, station balance is a stricter condition than others product-form of a station in terms of high level model prop- formulated at the CTMC level. erty. A station yields the station balance if the rate with which a customer at any queue position receives service is The following is a review about the characterisations of proportional to the probability that a customer of the same product-form QNs: class will arrive at that position. Local balance. This is one of the first properties that has been investigated in product-form theory [14]. Let m be an ergodic state of a QN, and let m = m + eir if r belongs to 2.1.3 Comparison among the product-form proper- an open chain, or m = m + eir − ejs if r and s belong to a ties closed chain. Let π(m) by the state probability distribution We now present a comparison among the aforementioned of m. Then the local balance property holds if for all ergodic product-form properties. In this section we frequently re- states m1: fer to the BCMP theorem that is briefly reviewed in Ap- pendix A. It is important to point out that this comparison π μ a π , (m) ir(m)= ir(m ) (m ) holds in the domain of QNs for work-conserving stations. First of all, it is easy to see that QN reversibility implies where air denotes the rate with which the model goes from state m to m due to a class r customer arrival at station quasi-reversibility but the opposite is not true, hence the latter property is more general. Indeed, if Jackson’s QN con- i and μir(m) is the service rate for Class r cuastomers are station i. It is worthwhile noting that the local balance is a sists of reversible exponential queues (M/M/c queue when isolated), BCMP stations are not, in general, reversible. property defined on the global state and hence, in general, M ⇒ M neither easy to check nor modular. When a QN satisfies this Quasi-reversibility and the property are equivalent property then it has a product-form solution. as proved in [39, 33]. For disciplines that do not The M ⇒ M property. The Markov implies Markov distinguish customers on the basis of their classes we have M ⇒ M that product-form and local balance are equivalent [32]. The property ( ) has been introduced by Muntz very M ⇒ M soon in the developing of product-form theory [39]. A work- local balance implies the property for each station conserving station satisfies this property if, when considered (it suffices to consider a QN consisting of a single station and in isolation, under class-independent Poisson arrival pro- apply the definition) whereas the opposite is not true when cesses it exhibits Poisson independent departure processes. the queueing discipline considers the customer classes. The +r station balance property is stricter than quasi-reversibility Formally, let Γ (m) be the set of states in which that sta- M ⇒ M tion has one more customer of class r with respect to m, (and hence ). For instance FCFS BCMP station is quasi-reversible but does not yield station balance. How- let λr be the rate of the r-th Poisson arrival process, and q(m+r → m) be the transition rate from state m+r to m. ever, the remaining BCMP queueing disciplines satisfy the Then the M ⇒ M property holds if and only if for all the station balance property. Indeed, the stations that satisfy ergodic states m and classes r [39]: this property are the only ones that give product-form so- lution under non-exponential service time distribution [15].  +r +r π(m )q(m → m) We recall that this comparison that is classical in literature λr = (1) π(m) is valid under the set of assumptions given at the beginning m+r∈Γ+r of the paragraph. A network of stations that yield the M ⇒ M property has product-form solution. 2.1.4 Other QNs with product-form Reversibility and quasi-reversibility. Reversibility and quasi- Other classes of QNs than BCMP have been identified in reversibility applied to stochastic networks are deeply stud- literature. Some extensions to the set of the BCMP queue- ied in [33]. We can see QNs as special cases of stochastic ing stations have been proved with the M ⇒ M property networks. A station is reversible if its underlying CTMC is (see, e.g., [1, 35, 20]). More interesting, from a theoretical reversible (e.g. M/M/1 systems are reversible). A network point of view, is the class of models known as G-networks of reversible stations satisfies the detailed balance property introduced in [21]. In these models the conservation law and has product-form solution. Let m(t) denote the state does not hold, i.e., the incoming flow of customers is not of a station at time t. A station is quasi-reversible if at any preserved as outgoing flow. Indeed, customers may be ei- epoch t0, m(t0) is independent of: a) the arrival times of ther standard customers or signals. When a signal arrives class r customers subsequent to t0 and b) the departure time at a queue it may originate a non-standard behaviour, and of class r prior to t0,withr a generic class of the network. the most common are: A QN whose stations are quasi-reversible has product-form Trigger: at the arrival at a non-empty queue, this sig- solution. nal removes a customer and put it in another queue chosen It is worthwhile noting that the M ⇒ M property, the probabilistically (even none is a valid choice). If the queue reversibility and quasi-reversibility require conditions that is empty the signal vanishes. The product-form is proved in can be tested for each station of the QN in isolation. This [22]. means that the joint process of the QN is not needed and Catastrophe: at the arrival epoch it empties the destina- hence these properties are modular with respect to the local tion queue instantaneously. The product-form is proved in balance. [17, 31]. Station balance. This property has been introduced in Resets: at the arrival epoch the population of the queue [15] and is important because it states the condition for the is reset to a given value. The product-form is proved in [23]. 1Note that local balance may be formulated even for sta- The quasi-reversibility property may be extended in order tions with Coxian service time distribution, and scheduling to include the G-networks as proposed in [18]. Differently disciplines in which the arrival order is important. from work-conserving QNs, G-networks do not yield the one-

439 step behaviour property and, in general, require the solution y of a non-linear system of traffic equations. S1 a b S2 Product-forms in QNs may arise even for models with fi- nite capacity and blocking as summarised in [5] although the aforementioned properties do not necessary hold. As an in- stance one may consider a saturated station (state mF )and easily observe that M ⇒ M property does not hold because Figure 1: Cooperation between S1 label a,andS2 la- +r Γ (mF )=∅ for each class r. However, we observe that bel b. The arrow goes from the active to the passive this class of product-form models does not enjoy the high transitions. compositionality properties that quasi-reversible models do. In fact, the proof of the separable solution relies on special to use a library of models whose labels have a local scope. properties of the joint state space. In this way, the library items can be created independently 2.2 (G)RCAT characterisation and instantiated several times in the same model. Note that if a in Si is active in a cooperation, then all the transitions Product-form has been widely investigated in queueing + labelled by a must have a rate in R , while if the label is network domain. However, more expressive models appeared passive the transitions have an unspecified rate with will be in literature such as the Stochastic Petri Nets (SPNs) [38], denoted by the PEPA symbol .WesaythatamodelSi is several Markovian Process Algebra (MPA) (see, e.g., [30] closed if all the transitions have a real rate or is open other- for the definition of the Performance Evaluation Process Al- wise. Closed models have a well-defined underlying CTMC gebra (PEPA)) and Stochastic Automata Network (SAN) and may be studied in isolation. [40]. These formalisms allow one to specify models in terms In what follows, S1{a ← λ} is the sub-model S1 in which of cooperation of sub-models that may be in general more all the transitions labelled by a take rate λ. complicated than the cooperation of queueing networks. In this section we review an important result, the Reversed 2.2.2 (G)RCAT Compound Agent Theorem (RCAT) [25], and one of its ex- In this section we state a very general characterisation of tensions (GRCAT) [37] and show how the class of product- product-form models. With respect to the original version form models it is able to study is very general and, specif- published in [25] we use the formulation that allows multi- ically, includes the results based on the quasi-reversibility ple pairwise cooperations [27]. Given a model Si we denote (and hence M ⇒ M) on queueing networks. In this section, by Ai (Pi) the set of its labels which participate as active we first briefly explain the type of cooperation among mod- (passive) in some cooperations. However before giving the els -as we will show it should be quite similar to a class of theorem, we want to help the intuition about what we are cooperations defined in PEPA and in SAN network theory-. doing. Let S be the model defined in terms of the pair- Then we state the main theoretical result, i.e., (G)RCAT. wise cooperations of S1,...,SN .ModelsSi are in general 2.2.1 Cooperation at CTMC level open, since some passive labels may be present in their defi- nitions. Finding a product-form solution for S may be seen People who are familiar with PEPA synchronisation will as the problem of finding a proper closure to S1,...,SN , surely note the analogies with what we are going to describe i.e., a correct specification for each of their passive labels, in this paragraph. Note that we just deal with pairwise inter- such that for each ergodic state of S, s =(s1,...,sN ), its actions, i.e., a transition in a model may cause a transition steady-state probability π(s) is proportional to product of S S just for another model. Consider sub-models i and j and the steady-state probabilities of the closed models consid- suppose that we desire to express the fact that a transition ered in isolation πi(si): labelled with a in Si can occur only if Sj performs a tran- N sition labelled with b, and vice-versa. Specifically, if Si and  π s ∝ πi si Sj are in states si, sj such that they are able to perform a ( ) ( ) transition labelled with a and b, respectively, that take the i=1 s s sub-models to state i and j , then they can move simul- Theorem 1 (RCAT). Let S be the closed model de- s s taneously to state i and j . The rate at which this joint fined as the cooperation of S1, ..., SN on active labels A = N N transition occurs is decided by the active sub-model that can ∪i=1Ai and passive P = ∪i=1Pi. Assume that the following S S S be i or j . We express such a cooperation between i and structural conditions are satisfied for all Si: Sj ,withSi active, as follows: 1. if a ∈Ai then each state of Si has exactly one incoming y a Si × Sj , transition labelled by (a+,b−) 2. if a ∈Pi then each state of Si has exactly one outgoing which means that transitions labelled by a is Si are active transition labelled by a with respect to the cooperation with transitions labelled by b of Sj and originate a models where the joint transitions are Furthermore, assume that there exists a set of positive rates R {K ,a ∈A} labelled with y. Figure 1 shows a graphical representation of = j j such that we can close the models as such a cooperation. The fact that the resulting model is still follows: y Markovian should be obvious because the synchronisation c ∀bt ∈Pi,Si × Sk,Si = {bt ← Kj } inherits the properties derived for that of PEPA. Note that (b−,a+) the major difference is that we can synchronise different la- t j bels and assign a different name to the resulting transitions. and Kj is the reversed rate of all the transitions labelled by c This happens because we would like a modeller to be able aj in Sk. Then for each ergodic state s =(s1,...,sN ) of S

440 we have: to give a solution that relies on the cooperation mechanism N defined in Section 2.2.1. This simplifies the task since some π(s) ∝ πi(si), kinds of cooperation that are allowed within the sub-model i=1 specification (e.g., the cooperation between two active tran- π Sc sitions as possible in PEPA, or the cooperation among more with i the steady-state probability distribution of i . than two sub-models as allowed by SPNs) are now allowed when specifying their composition. This is motivated by the The computations of the rates of R is the difficult part fact that we aim to obtain a product-form model, and hence when applying this theorem. However, since these values we base the semantics of sub-models composition on the must be the reversed rates of all the active synchronising pairwise active-passive cooperation which is considered in transitions of each closed sub-model, then a system of pos- (G)RCAT formulation. A formalism may be used to specify sibly non-linear equations can be formulated. This system a sub-model if it allows the modeller to assign labels to the of equations, called rate equation system, has been shown to state-transitions in the underlying stochastic process. This be equivalent to the traffic equation system when modelling is obvious for some formalisms (in general those that allow Jackson’s QNs. Structural Condition 1 of Theorem 1 can compositionality and have a strong semantics, such as SPNs, be relaxed in order to include the case of more active tran- PEPA models, and SAN) but may result difficult for others sitions with the same label incoming into the same state of such as QNs. The problem may be overcome by defining a model. This extension, called GRCAT, is studied in [37] SPN, PEPA or SAN models equivalent to queueing stations. whereitisprovedthatvalueKj must be the constant sum c This problem has been addressed in literature, showing that of the reversed rates incoming into every state of Sk.More c aj the solution is not obvious especially when multi-class sta- formally, let sk be a state of Sk,andletγk (sk)theset tions are considered (see, e.g., [4, 24, 9, 11]). of states sk from which sk is reachable though a transition a a q s −→j s labelled by j with rate ( k k). Then, we have that: 4. SOLUTION ALGORITHMS  aj a π s q s −→ s Stochastic models with product-form solutions are known s ∈Γ j (s ) k( k) ( k k) k j k Kj = , (2) to be computationally tractable. Several algorithms have πk(sk) been defined in QN domain and some are available for SPNs by applying the results on revered processes proved in [33]. [19, 41]. These algorithms compute the normalising con- stant and/or a set of mean performance indices of closed 2.2.3 Comparison with the other product-form char- product-form models. However, less attention has been tra- acterisations ditionally devoted to the definition of efficient algorithms for In this section, we address the problem of relating (G)RCAT the parametrisation of the components that form the whole with the characterisations of product-form QNs presented joint model. Indeed, for QNs this part corresponds to the so- in Section 2.1. If we consider the underlying processes of lution of the system of traffic equations which is known to be a QN in which we use active transitions to denote job- linear and usually with a relative small number of equations completion events, and passive transitions to denote cus- (the exact dimension depends on the QN structures, i.e., on tomer arrival events, then we can see that Equation (2) be- the number of classes and stations). Even for product-form SPNs of the type studied in [29, 19] the parametrisation comes Equation (1) by setting Kj = λj , i.e., the arrival rate of class j customers. However, Equation (2) is more gen- of each sub-model requires the solution of a linear set of eral, not only because it allows the analysis of non-working- traffic equations. However, the introduction of G-networks conserving queues (see [26] for RCAT applied to several G- [21] and, more recently, the applications of RCAT [25] have networks models), but also because we may analyse models shown that the parametrisation of the sub-models may re- with finite states spaces as shown in [36]. Another impor- quire the solution of a non-linear set of traffic equations. tant aspect to point out concerns the fact that the M ⇒ M For this reason we distinguish two types of algorithms: one property implicitly assumes that when studying the queue in for the solution of the product-form model (hence they may isolation under independent Poisson arrival processes, Equa- compute un-normalised steady-state probabilities) and one tion (1) must hold for any set of arrival rates, whereas Equa- for the computation of the normalising constant or directly tion (2) requires the check only for the rates assumed by the mean performance indices. the passive transition according to Theorem 1 specification. 4.1 Solution of the rate equation system This may lead to rate-dependent product-form conditions that, in general, QNs do not have. In the RCAT terminology, the equations leading to the R The direct consequence of GRCAT result is that all quasi- determination of the elements of set defined in Theorem 1 reversible queueing models can be composed, under very are called rate equations. If we apply RCAT to derive the general assumptions, with models satisfying RCAT condi- product-form solution of Jackson’s QNs then we observe that tions mainintaing the product-form solution. the rate equations correspond to the QN traffic equations [25], and a similar result holds for BCMP QNs [37], and G- networks [25, 26]. However, in general, RCAT allows hybrid 3. HETEROGENEOUS MODELLING modelling, and hence the rate equations have not a form For heterogeneous modelling we refer to the possibility which is known a priori. of specifying a model by means of sub-models expressed by To the best of our knowledge only two algorithms have different formalisms. The idea is not new as witnessed for been proposed for the solution of RCAT rate equations. The instance by [3, 13] for what concerns the composition of QNs first [2] is based on the symbolic generation of the rate equa- and SPNs. The problem of defining a semantics for the co- tions and leaves to other software the problem of the solu- operation of stochastic models is not easy, however we aim tion. Unfortunately, even small models may lead to rate

441 equation systems with high degree whose symbolic solution INAP terminates the iteration in two cases: is computationally unfeasible. However, given the system, • the maximum number of iterations M is reached; numerical techniques may be applied. In this paper we fo- cus on the second algorithm proposed in [36, 6] which relies • the distance between two consecutive steady-state dis- on purely numerical techniques. The advantages of this ap- tributions is less than a user-defined precision , for all proach will be illustrated later, but its very general field of the sub-models. application joint with the efficient computational complex- At the end, the solution is considered valid if the reversed ity makes it a good choice for the analysis of heterogeneous rates of all the active action types for each process are con- product-form models. This is based on an iterative schema stant within the precision  or, in other words, the difference which is able both to decide is an RCAT based product-form between the maximum and the minimum reversed rates cor- solution exists and the parametrisation of the sub-models. responding to every active action type must be less than When the joint-process state space is the Cartesian prod- . The proof of convergence has been given only for special uct of the state spaces of the sub-models then the algorithm cases. also returns the normalised steady-state distribution. The Although the algorithm may be extended in order to deal convergence to the correct solution of the iterative schema with models with infinite state spaces, we point out that for has been proved only for some classes of models, and hence simple cases the standard version is sufficient. This is the false-negative answers may occur. However, several practi- case for models whose underlying stochastic process (once cal applications have never exhibited such a undesired be- they are closed) is a birth-and-death process, e.g., exponen- haviour. tial queues and G-queues. In some cases, e.g., for closed QNs of exponential queues, 4.1.1 INAP RCAT rate equations may form a under-determined system In this part we present the Iterative Numerical Algorithm and hence infinite solutions are valid. INAP converges to one for Product-form (INAP) which has been defined in [36] and of the solutions, but unfortunately this may be the trivial then extended (INAP+) in order to improve the convergence one. For instance, if we consider a closed QN of exponential rate and to deal with models with infinite state spaces in [6]. queues (Gordon and Newell QN) INAP may converge to the Algorithm 1 illustrates the simplest formulation INAP, i.e., solution of the traffic equations in which the relative visit without the optimizations and without the dynamic trun- ratio to each queue is 0. In this case the modeller should cation mechanism that allows the solution of product-form choose a reference station and remove it from the QN. The models whose sub-models consist of infinite state spaces. customers exiting from the reference station will be replaced Note also that although the algorithm has been introduced with an external arrival with arbitrary rate λ>0. Other for RCAT models, it may be easily extended in order to in- strategies may be needed according to the considered model. clude GRCAT ones. We assume to have a set of N cooperat- ing sub-models S1,...,SN whose state spaces are denoted by 4.2 Computation of the normalising constant S1,...,SN , N>0. Cooperations are pairwise as specified and open problems in Section 2.2.1 and we assume that RCAT structural con- When (G)RCAT rate equations have a unique solution ditions are satisfied. The algorithm aims to find the correct and the state-space of the joint-model is the Cartesian prod- parametrisation of each sub-model, i.e., the rates to be as- uct of the state spaces of each sub-model, then INAP com- signed to the transitions that are passive in the cooperations. putes the normalised steady-state distribution of each sub- Once these rates are found, it checks if the reversed rates of model and of the joint-model. Although this case is fre- the active transitions in the closed sub-models are constant. quent for open systems, many other present more problems INAP starts with a random initialisation of the steady-state in the normalisation of the stationary probabilities of the probabilities of the closed sub-models and from these it com- joint-process. In these cases the computation of the normal- putes the reversed rates of all the active transitions for each ising constant may result a difficult task. For BCMP QNs sub-model. Suppose that we know the steady-state distri- c several algorithms have been defined, and the most com- bution πk of closed sub-model Sk and that there exists a a mon are those based on the convolution or on the so-called transition α −→ β,wherea ∈Ak occurs as an active label (although different ones have been de- in some cooperation. The reversed rate of this transition a veloped). We refer to [16, 34] for a review of some of these may be computed as [33]: qk(α −→ β)πk(α)/πk(β). Since algorithms. Here, we would like to point out that the all the the algorithm is iterative, in general, the reversed rates of algorithms on product-form QNs take advantage of the fact the active transitions in an inner step of the computation that deciding if a joint-state belongs to the ergodic part of may be not constant. This does not preclude the sub-model the underlying CTMC can be done in constant time. For in- to be in product-form when the algorithm converges but we stance, in a Gordon and Newell QN with K initial customers need to choose a single value for the closure of the sub-model and N stations any distribution of the customers in the sta- with the passive label which synchronises with a. Although tions is an ergodic state of the underlying CTMC. However, we have shown that different strategies may be adopted, we this property is not always satisfied. Probably, the most observed experimentally that the fastest convergence rate is important case is that of product-form SPNs, in which a obtained by taking the weighted mean of the reversed rates. Convolution [19] and a Mean Value Analysis [41] algorithms The weight of each transition reversed rate is the steady- are defined but a property on the reachability of the states state probability of the destination state. This leads to a must be checked, and hence the exponential complexity of very simple formula for the computation of the rate to be generating the whole state space must be always faced but used for the closure of the cooperating sub-model: is some cases in which that property is structurally satisfied.  a Obviously, this drawback highly limits the application of Ka = qk(α −→ β)πk(α). these algorithms because when using product-forms one would

442 Algorithm 1: INAP simplified without optimizations. arc from the active to the passive. Although the practice is simple, we should point out an aspect. As a trivial illustra- Input: agents S1,...,SN ;precision;maximum number of iterations M tive example, consider Jackson’s QN of Figure 2-(A) whose Output: unnormalized stationary distribution π of the underlying processes are depicted in Figure 2-(B). The co- joint-process Q Q Randomly initialize πk for all k =1,...,N 1 λ2 2 n =0 repeat p λ for k =1,...,N do 1 μ1 μ2 (A) prev πk ← πk

for k =1,...,N do 1 − p foreach a ∈Ak do Let j : Sj ×(a+,b−) Sk (a, λ1)(a, λ2) A1 0 /* Λ is the set of the weighted 0 A2 a reversed rates of  */ a Λ ← qk(α −→ β)πk(α):α, β ∈Sk (b, .) (b, .) (b, .) /* set the rates of the passive

actions */ n n+1 (B) c Q1 (d1,μ1p) (d1,μ1p) (d1,μ1p) Sj ← Sj {b ← sum(Λ)} c Compute πk of Sk for all k =1,...,N d ,μ − p (d2,μ1(1 − p)) (d2,μ1(1 − p)) n ← n +1 ( 2 1(1 )) prev b1,. b1,. (b1,.) until n>M or ∀k =1,...,N. πk − πk <; ( ) ( ) /* Check if the reversed rates are constant */ for k =1,...,N do b ,. Q2 (b2,.) n ( 2 ) n+1 (b2,.) foreach a ∈Ak do /* Λ is the set of the reversed rates of d, μ d, μ a */ ( 2) (d, μ2) ( 2) a Λ ←{qk(α −→ β)πk(α)/πk(β):α, β ∈Sk} if Λ = ∅ and max(Λ) − min(Λ) >then Figure 2: Example of Jackson’s QN. (A) The model. fail: MARCAT product-form not identified (B) The underlying processes. {π } return k k=1,...,N operations are:

y1 y2 y3 A1 × Q1 A2 × Q2 Q1 × Q2 (a+,b−) (a+,b−) (d+,b−) like to take advantage of the separable solution and hence 1 1 2 avoid the generation of the joint-state-space. However, ob- serve that with respect to the solution of the CTMC un- Observe that although the model consists of two indepen- derlying the joint-process, the efficiency of the algorithms dent arrival processes and two exponential queues, the mod- presented in [19, 41] is higher since the solution of the linear eller should use three library models, since the processes un- Q Q system of GBEs is not required. derlying 1 and 2 are different (note that we assume that Therefore, we can say that, in general, the computation of once a model is imported one can specify the real number the normalising constant is not a trivial task, and we think corresponding to symbolic transition rates). This obviously that future research efforts should be devoted to this topic. looks unnatural because what the modeller should be able to do is depicted in Figure 3, where Q1 and Q2 are instances of the same module. Nevertheless, it is possible to show 5. A TOOL FOR HETEROGENEOUS MOD- ELLING A1 A2 The product-form analysis for heterogeneous models can a a be performed thought a tool that simplifies the model spec- Q1 Q2 ifications and efficiently decides if the product-form exists and, in this case, computes the steady-state distributions of p b d b d the model component in isolation. This is possible thanks to the combination of the idea of synchronisation for product- form models that underlies RCAT formulation with INAP. In this brief section we show how it is possible for a tool to Figure 3: Modular modelling of Jackson’s QN of work with a library of stochastic models whose transitions Figure 2. are labelled -independently of the formalism which is used to specify them-. Basically, the idea is that the labels used that the passage from the modular specification of Figure 3 in the model definitions work as input/output interfaces. (which includes probabilistic synchronisations and multiple Hence, the modeller specifies a synchronisation by connect- active labels synchronising with the same passive) to that of ing the label of one model with that of another by a directed Figure 2-(B) may be performed automatically [7].

443 6. PRACTICAL APPLICATION 7 ad In this section we apply the theoretical results and method- ologies that we have previously illustrated to an illustrative example. We first describe the system which will be anal- ysed, then we provide a product-form model and discuss the a3 d3 d1 a 2 d a 3 d underlying assumptions. Finally, we show how the station- ARRIVAL a1 c ary distribution, and hence the performance measures, may PROCESS 1 a1 d1 1 6 be derived by applying INAP algorithm joint with the re- a2 d2 ARRIVAL n sults about product-form models that have been studied in a2 PROCESS 2 d2 a 45d a d literature. a4 d4 6.1 System description We consider a software architecture in which two classes of customers compete for two distinct services, see Figure 4 d 8 a for an informal diagram describing the system. Customers (of both classes) arrive at the communication line from the outside. Once they are sent to the processing phase, they are Figure 5: Model of the system of Figure 4: block served and the results are sent back through the same com- structure. munication line. Then, the results are analysed and if the answer is considered acceptable then the computation ter- minates, otherwise the customer is sent back to the system. Arrival processes. As usual, in order to obtain a product- The processing of Class 1 and 2 customers are not indepen- form solution, we assume the arrival processes are indepen- dent and some (even catastrophic) interferences may occur. dent Poisson processes with rate λ1 and λ2 for Classes 1 and We now describe each component of the system in details. 2, respectively. Communication lines (BLOCK 1). The communication • Communication lines: The communication infrastruc- K lines are modelled by a Multiple Server with Concurrent ture consists of a independent lines which can work Classes of Customers (MSCCC) station [35] in the gener- in parallel. As a policy for the flux-control the sending alised version proposed in [20]. Customers belong to one processes must have a maximum window size of n

444 VALIDATION OF THE RESULTS

PH1 PH2 PH3 3-PHASES CLASS 1 PROCESSING

COMMUNICATION LINES interferences CLASS 2 3-PHASES PROCESSING

PH1 PH2 PH3

VALIDATION OF THE RESULTS

Figure 4: System analysed in Section 6.

(a, .) (a, .) (a, .) (a, .) Tr ......

Ta1 0 1 n Ta2 d, μ ( 2) (d, μ2) (d, μ2) d, μ ... ( 2)... c, . ( ) c, . P P (c, .) ( ) 1 2

Figure 6: Underlying process of a queue with catas- trophe.

Td1 Tc Td2 (a, .) (a, .) (a, .) (a, .) ...... P3

0 1 (n, .)

(d, μ2) (d, μ2) (d, μ2) d, μ ... ( 2)...... Figure 8: SPN describing BLOCK 6 of the model of (n, .) (n, .) (n, .) (n, .) Figure 5.

Figure 7: Underlying process of a queue with nega- tive customers. transitions labelled by d1andd2 that are active in the co- . operations. All the transitions has exponentially distributed service time. The rates of Td1 and Td2 aretheservicerates of phase 3 for class 1 and 2, μ61 and μ62, respectively. Tran- product-form solution. In [26] the author proved that the sition Tc models the conflicts that may occur during phase process depicted in Figure 6 satisfies RCAT conditions. 3 processing and its rate must be determined according to Class 2, phase 2 (BLOCK 5). This block is very similar to the probability of conflict. Let us consider that both places BLOCK 2. However, the interference with BLOCK 3 causes P1 and P2 contains a customer. The probability of con- the destruction of just one customer, the one being served. flict pc is equal to the probability that TC removes both We have another example of a non-quasi-reversible process these customers before that the fastest between TD1 and (see Figure 7) whose composition with others with the same TD2 completes its work. This latter time is an exponen- structure yields a product-form solution [21]. This model tial random variable with rate μ61 + μ62 and hence we have satisfies RCAT conditions as proved in [25]. pc = μc/(μ61 + μ62). Transition Tr models the repair of the Classes 1 and 2, phase 3 (BLOCK 6). We represent this requests after a conflict. This SPN belongs to the class of block by means of the SPN depicted by Figure 8. In this product-form models studied in [28] which is strictly related case, SPN transitions labelled by Ta1 and Ta2 are associated with that studied in [29, 19]. with the process transitions labelled by a1anda2thatare BLOCKS 3,4,7,8. The remaining blocks are considered passive in the cooperations (according to Figure 5), whereas as simple exponential queues whose arrivals transitions are SPN transitions Td1 and Td2 are associated with process passive in the cooperations whereas the active ones are ac-

445 tive. Note that this choice does not take into account the BLOCK Parameters differences among the scheduling disciplines of the stations. BLOCK 1 μ =0.5, K = 20, n =15 However, the average performance indices are not affected by BLOCK 2 μ2 =6 − this simplification by the well-know properties of the quasi- BLOCK 3 μ3 =3.2, p36 =0.85, p35 =0.15 − reversible queues. The service rates of stations associated BLOCK 4 μ4 =7,p42 =0.10, p45 =0.90 with blocks 3, 4, 7, 8 are μ3, μ4, μ7 and μ8, respectively. BLOCK 5 μ5 =6 Modelling the cooperations. In order to complete the model BLOCK 6 μ61 =4.1, μ62 =7,μC =1.5, μR =5 description we discuss the synchronisations. With the pur- BLOCK 7 μ7 = 12, p71 =0.20 pose of giving a shorter and more readable list of coopera- BLOCK 8 μ8 = 12, p81 =0.25 tions we use y71,p71 Table 1: Example of parametrisation of the model S7 × S1 depicted in Figure 5. (d+,a1−) to denote that BLOCK 7 synchronises with BLOCK 1 with μ μ x x probability p71. The other cooperations are: the rates of r and c. Therefore, we have: 611 = 36 and x612 = x56. y12 y23 y36,p36 More attention should be devoted to BLOCKs 3 and 5. S1 × S2 S2 × S3 S3 × S6 (d1+,a−) (d+,a−) (d+,a1−) In the former, the reversed rate of the transitions labelled d y− ,p− by is [26]: 35 35 y14 y45,p45  S3 × S5 S1 × S4 S4 × S5 + − + − + − − − 2 − (d ,n ) (d2 ,a ) (d ,a ) (x12 + μ2 + x42) − (x12 − μ2 − x42) +4x12x42 x23 . y− ,p− = 42 42 y56 y612 2 S4 × S2 S5 × S6 S6 × S1 (d+,c−) (d+,a2−) (d2+,a4−) Transitions labelled by d in the latter block have the follow- − y y y ing reversed rate [25]: x56 = μ5x45/(x35 + μ5). Solving the S ×611 S S ×17 S S ×18 S 6 1 1 7 1 8 system for all xi gives the correct parametrisation of each (d+,a−) (d3+,a−) (d4+,a−) 1 3 sub-model that can eventually be studied in isolation. The y81,p81 y01 y02 difficult points of this approach are basically two. The first S8 × S1 A1 × S1 A2 × S1 (d+,a2−) (a+,a1−) (a+,a2−) one concerns the ability of the modeller of knowing the re- sults from the literature that allows the definition of RCAT The last two synchronisations model the arrival of the cus- rate equations. The second one is that the system of equa- tomers from the outside where the arrival processes A1 and tions is non-linear and, although in this case a symbolic solu- A2 are identical to those showed in Figure 2. The obvious tion may be obtained (although its expression results quite restriction on the probabilities are assumed: 0 ≤ pi ≤ 1for difficult to manipulate), often this is not computationally − all i, p42 + p45 =1,p35− + p36 =1,p71 < 1andp81 < 1. Let efficient. use denote by xi the rate that (G)RCAT associates with the The alternative approach relies on the application of the passive transitions in the cooperation labelled by yi.Know- numerical algorithm INAP. In this case we do not need to ing these rates allow us to consider the BLOCKs in isolation. set up the rate equation systems and just need to draw a model very similar to that depicted by Figure 5 and enter 6.3 Analysis the numerical parametrisation. From a practical point of The previous part of the section has shown that each of the view, the modeller defines the system by choosing the ap- blocks which form the model of Figure 5 satisfies (G)RCAT propriate sub-models from a library and connects them by and hence they may be composed to obtain a product-form arcs. (G)RCAT conditions may be automatically checked model. The following steps of the model analysis are: 1) and the value for the passive transitions are computed. It the parametrisation of each BLOCK and 2) its analysis in is worthwhile noting that, for this computation, the quasi- isolation. reversible stations may be replaced by simple Jackson’s sta- tions thus simplifying the computation. Let us assume the Parametrisation of each BLOCK. numerical parametrisation given in Table 1. For this case, We propose two solutions of this problem. The first one the numerical solution is: is based on setting up RCAT rate equations and leaves their x17 =2.46575,x18 =5.3096,x36 =2.46575, solution to dedicated software. The second one uses INAP x45 =5.69466,x71 =0.49315,x81 =1.3274, as illustrated in Algorithm 1. In order to derive (G)RCAT x611 =2.46575,x612 =5.3096,x14 =6.3274, (3) − rate equations we must consult the list of cooperations and x23 =2.90088,x56 =5.3096,x35 =0.435132, − apply the results proved in literature. Since BLOCK 1 is x12 =3.49315,x42 =0.63274 a quasi-reversible station, then we straightforwardly have x12 = x71 + λ1, where the right hand-side is the total rate assigned to the arrival transitions labelled by a1. Similarly, Analysis of the blocks in isolation. we derive: x17 = x611, x18 = x612, x14 = λ2 + x81.The Since the blocks are now parametrised and the system is other quasi-reversible stations are BLOCKs 3, 4, 7, 8 whose open, the analysis may be carried on quite easily. In partic- − − analysis gives the equations: x36 = x23p36, x35 = x23p35, ular, we refer to [20] for the effective computation of the dis- − − x45 = x14p45, x42 = x14p42, x71 = x17p71, x81 = x18p81.For tribution of the number of customers and its expected value what concerns BLOCK 6, in [28] we prove that the reversed of BLOCK 1. For what concerns BLOCK 6 the derivation rates of the transitions labelled by d1(d2) is equal to the of the stationary distribution and the mean performance in- forward rate of those labelled by a1(a2) independently of dices is done in [10]. Let m1,m2 and m3 be the number of

446 customers in P1, P2,andP3. Then the steady-state distri- [2] Argent-Katwala, A. Automated product-forms bution π6 is given by: with meercat. In SMCtools 06: workshop on Tools for    solving structured Markov chains (Pisa, Italy, 2006), x36 x56 μcx36x61 vol. 201, p. 10. π6(m1,m2,m3)= 1 − 1 − 1 − μ61 μ62 μ61μ62 [3] Balbo, G., Bruell, S. C., and Ghanta, S.    m1 m2 m3 x36 x56 μcx36x61 Combining queueing network and generalized · . stochastic Petri nets for the solution of complex μ61 μ62 μ61μ62 models of system behavior. IEEE Trans. on From this, after some trivial algebra we may derive the mean Computers 37 (1998), 1251–1268. number of customers of Class 1 at BLOCK 6 (N 61), in [4] Balbo, G., Bruell, S. C., and Sereno, M. On the steady-state as the sum of the mean number of customers relations between BCMP Queueing Networks and in P1 and P3: Product Form Solution Stochastic Petri Nets. Proc. of  x μ 10th Int. Workshop on Petri Nets and Performance N x 1 56 c . Models, 2003. (2003), 103–112. 61 = 36 μ − x + μ μ μ − x x μ 61 36 r 61 62 36 56 c [5] Balsamo, S., De Nitto Persone’, V., and Note that since there is not loss of customers, then we may Onvural, R. Analysis of Queueing Networks with apply Little’s result in order to derive the mean response Blocking. Kluwer Academic Publishers, 2001. time at this station. For instance, for Class 1 customers this [6] Balsamo, S., Dei Rossi, G., and Marin, A. A is given by: R61 = N61/x36. In our numerical example we numerical algorithm for the solution of product-form obtain N 61 =1.6674 and R61 =0.67620. models with infinite state spaces. In Proc. of EPEW Finally, an interesting performance measure is the through- 2010: Comp. Perf. Eng. (Bertinoro, Italy, 2010), put to the outside of BLOCK 7 (BLOCK 8) which gives us LNCS 6342/2010, pp. 191–206. the reduction on the incoming flow of Class 1 (Class 2) cus- [7] Balsamo, S., Dei Rossi, G., and Marin, A. Atool tomers due to the interference along the processing phases. for the numerical solution of cooperating Markov The throughput of the system for Class 1 customers is X1 = chains in product-form. In Proc. Of Int. Conf. x17(1 − p71), that in the numerical example is X7 =1.9726. HET-NETs (Zakopane, PL, January, 2010), pp. 311–324. [8] Balsamo, S., Marco, A. D., Inverardi, P., and 7. CONCLUSION Simeoni, M. Model-based performance prediction in In this paper we reviewed some recent results about product- software development: a survey. IEEE Transactions form models and showed how they may be applied in order on Software Engineering 30, 5 (May 2004), 295–310. to obtain a heterogeneous modelling technique. Specifically, [9] Balsamo, S., and Marin, A. On representing we focused our attention on RCAT [25] and its formulation multiclass M/M/k queues by generalized stochastic given in [37]. These results have been compared with previ- Petri nets. In Proc. of ECMS/ASMTA-2007 Conf. ous ones defined for queueing networks. Product-form mod- (Prague, Czech Republic, 4-6 June 2007), pp. 121–128. els play an important role for the performance evaluation [10] Balsamo, S., and Marin, A. Separable equilibrium community thanks to their efficiently tractable solutions. distributions for systems with unreliable wireless links. Nevertheless, we pointed out some practical problems: the In Wireless Days (WD), 2010 IFIP (Venice, Italy, first concerns the computation of the parameters that allow Oct. 2010), pp. 1 –5. the analysis of the sub-models in isolation and the second [11] Balsamo, S., and Marin, A. Representing LCFSPR concerns the computation of the normalising constant for BCMP service centers with Coxian service time closed or mixed models. We have reviewed INAP, i.e., a distribution. In Proc. of Valuetools ’07 Conf. (Nantes, general numerical algorithm that aims to solve the former France, October 23-25, 2007). problem, whereas the definition of a general algorithm for [12] Baskett, F., Chandy, K. M., Muntz, R. R., and the computation of the normalising constant, as far as we Palacios, F. G. know, is still an open problem. Finally, we presented an ex- Open, closed, and mixed networks of ample of a system with a corresponding open model (hence queues with different classes of customers. J. ACM 22, avoiding the problem of normalising the probabilities) that 2 (1975), 248–260. Bause, F. consists of several interacting parts defined by means of dif- [13] Queueing Petri nets: A formalism for the ferent formalisms. Some average performance indices have combined qualitative and quantitative analysis of been derived exploiting the separable steady-state distribu- systems. In Proc. of 5th Int. Workshop on Petri Nets tion. In our opinion, a pivotal importance for future research and Performance Models (Toulouse (France), 1993), efforts assume the problem of the normalisation of the prob- pp. 14–23. abilities in case of closed and mixed models, and the defini- [14] Chandy, K. M. The analysis and solutions for tion of general techniques to approximate non-product-form general queueing networks. In Proc. of 6th Annual models by means of product-form ones. Princeton Conf. on Inform. Sci. and Systems (Princeton, N.J., March, 1972), pp. 219–223. [15] Chandy, K. M., J. H. Howard, J., and Towsley, 8. REFERENCES D. F. Product form and local balance in queueing [1] Afshari, P. V., Bruell, S. C., and Kain, R. Y. networks. J. ACM 24, 2 (1977), 250–263. Modeling a new technique for accessing shared buses. [16] Chandy, K. M., and Sauer, C. H. Computational In Proc. of the Computer Network Performance Symp. algorithms for product form queueing networks. (New York, NY, USA, 1982), ACM Press, pp. 4–13. Commun. ACM 23, 10 (1980), 573–583.

447 [17] Chao, X. A queueing network model with [36] Marin, A., and Bulo,` S. R. A general algorithm to catastrophes and product form solution. Op. Res. compute the steady-state solution of product-form Letters 18, 2 (1995), 75–79. cooperating Markov chains. In Proc. of MASCOTS [18] Chao, X., Miyazawa, M., and Pinedo, M. 2009 (London, UK, September 2009), pp. 515–524. Queueing networks: customers, signals and product [37] Marin, A., and Vigliotti, M. G. A general result form solutions. Wiley, 1999. for deriving product-form solutions of markovian [19] Coleman, J. L., Henderson, W., and Taylor, models. In Proc. of First Joint WOSP/SIPEW Int. P. G. Product form equilibrium distributions and a Conf. on Perf. Eng. (San Jos`e, CA, USA, 2010), convolution algorithm for Stochastic Petri nets. ACM, pp. 165–176. Perform. Eval., Elsevier 26 (1996), 159–180. [38] Molloy, M. K. Performance analysis using stochastic [20] Crosby, S., and A.E., K. Product for solutions for petri nets. IEEE Trans. Comput. 31, 9 (1982), multiserver centres with concurrent classes of 913–917. customers. Perf. Eval. 11 (1990), 265–281. [39] Muntz, R. R. Poisson departure processes and [21] Gelenbe, E. Product form networks with negative queueing networks. Tech. Rep. IBM Research Report and positive customers. Journal of Applied Prob. 28,3 RC4145, Yorktown Heights, New York, 1972. (1991), 656–663. [40] Plateau, B. On the stochastic structure of [22] Gelenbe, E. G-networks with triggered customer parallelism and synchronization models for distributed movement. J. of Appl. Prob. (1993), 742–748. algorithms. SIGMETRICS Perform. Eval. Rev. 13,2 [23] Gelenbe, E., and Fourneau, J. M. G-networks (1985), 147–154. with resets. Perform. Eval., Elsevier 49, 1-4 (2002), [41] Sereno, M., and Balbo, G. Mean Value Analysis of 179–191. stochastic Petri nets. Perform. Eval. Elsevier 29 [24] Harrison, P. G. Reversed processes, product forms, (1997), 35–62. non-product forms and a new proof of the BCMP [42] Smith, C. U., and Williams, L. G. Five steps to theorem. In Int. Conf. on the Numerical Solution of establish software performance engineering. In CMG Markov Chains (NSMC 2003), Urbana IL, USA, Conf. (Reno, Nevada, USA, 2006), pp. 507–516. September 2-5 2003 (September 2003), pp. 289–304. [25] Harrison, P. G. Turning back time in Markovian APPENDIX process algebra. Theoretical Computer Science 290,3 (January 2003), 1947–1986. A. THE BCMP THEOREM [26] Harrison, P. G. Compositional reversed Markov BCMP QNs consist of stations with 4 types of disciplines: processes, with applications to G-networks. Perform. First Come First Served (FCFS), Last Come First Served Eval., Elsevier 57, 3 (2004), 379–408. with Preemptive Resume (LCFSPR), Processor Sharing (PS) [27] Harrison, P. G., and Lee, T. T. Separable and Infinite Server (IS) (see [12] for a formal description). equilibrium state probabilities via time reversal in The QN may have open and closed chains, and the routing Markovian process algebra. Theoretical Computer is state-independent. Class switching is allowed, and pir,js Science 346, 1 (2005), 161–182. denotes the probability that a customer enters station j with [28] Harrison, P. G., and Marin, A. A compositional class s after a job completion at station i class r. pir,0 de- construction of product-form Petri-nets using Ercat. notes the probability that a customer leaves the system after Tech. rep., Department of Computing, Imperial a job completion at station i,classr belonging to an open College, 2009. chain. Note that while FCFS stations must have exponential [29] Henderson, W., Lucic, D., and Taylor, P. G. A service time distribution whose rate does not dependent on net level performance analysis of Stochastic Petri Nets. the class of the customer in service, the remaining 3 types J.Austral.Math.Soc.Ser.B31(1989), 176–187. can have Coxian distributed service time whose parameters depend on the customer classes. Since the QN is in product- [30] Hillston, J. A Compositional Approach to form, we can study each of the N station in isolation under Performance Modelling. PhD thesis, Department of e Computer Science, University of Edinburgh, 1994. independent Poisson arrival processes whose rate is ir for station i and class r. eir is the solution of a linear system [31] J.M. Fournau, L. Kloul, F. Q. G-networks with of equations called traffic equation system which is defined jumps back to zero. In Proc. of MASCOTS ’95 (c) for each QN chain. Let R the set of classes belonging to (Duram, NC, USA), pp. 28–32. chain c, then the corresponding traffic equation system is: [32] Kant, K. Introduction to Computer System Performance Evaluation. McGraw-Hill, 1992. N  e λ e p ,i,...,N r ∈R(c) [33] Kelly, F. Reversibility and stochastic networks. ir = 1r + js js,ir =1 Wiley, New York, 1979. j=1 s∈R(c) [34] Lavenberg, S. S. Computer Performance Modeling (4) λ i Handbook. Academic Press, New York, 1983. where ir denotes the external arrival rate at queue with class r belonging to an open chain. Note that for closed [35] Le Boudec, J. Y. A BCMP extension to multiserver chains System (4) is under-determined, and all the non- stations with concurrent classes of customers. In trivial solutions differ for a multiplying factor. In this cases, SIGMETRICS ’86/PERFORMANCE ’86: Proc. of any non-trivial solution can be chosen but then a normaliz- the 1986 ACM SIGMETRICS Int. Conf. on Computer ing constant must be computed. performance modelling, measurement and evaluation (New York, NY, 1986), ACM Press, pp. 78–91.

448