An Aggregation Technique For Large-Scale PEPA Models With Non-Uniform Populations
AAn Aggregation Technique For Large-Scale PEPA ModelsWith Non-Uniform Populations
Alireza Pourranjbar , Jane Hillston
LFCS, School of Informatics, University of Edinburgh [email protected] , [email protected]
ABSTRACT
Performance analysis based on modelling consists of two ma-jor steps: model construction and model analysis. Formalmodelling techniques significantly aid model constructionbut can exacerbate model analysis. In particular, here weconsider the analysis of large-scale systems which consist ofone or more entities replicated many times to form largepopulations. The replication of entities in such models cancause their state spaces to grow exponentially to the extentthat their exact stochastic analysis becomes computation-ally expensive or even infeasible.In this paper, we propose a new approximate aggregation algorithm for a class of large-scale PEPA models. For agiven model, the method quickly checks if it satisfies a syn-tactic condition, indicating that the model may be solvedapproximately with high accuracy. If so, an aggregatedCTMC is generated directly from the model description.This CTMC can be used for efficient derivation of an ap-proximate marginal probability distribution over some ofthe model’s populations. In the context of a large-scaleclient-server system, we demonstrate the usefulness of ourmethod.
Categories and Subject Descriptors
C.4 [
Performance of systems ]: Modeling techniques
General Terms
Theory, Performance
1. INTRODUCTION
Discrete state modelling is a very expressive style of mod-elling which has been used in a number of domains, includingperformance modelling, where it is supported by a numberof modelling formalisms such as queueing networks, stochas-tic Petri nets and stochastic process algebras. These for-malisms ease the task of model construction but can exac-erbate the underlying disadvantage of discrete state mod- elling, the problem of state space explosion. In this pa-per we present a new aggregation technique for a class ofMarkovian-based models expressed in the stochastic pro-cess algebra PEPA [2]. This formalism supports composi-tionality: first the behaviours of individual components aredefined and then these are composed to form the system’scomplete description. The aggregation approach we developtakes advantage of this feature.In this paper, we consider a class of large-scale
PEPA mod-els, i.e. models in which there exist one or more componentswhich are instantiated many times to form large populations.In such models, the interactions between individual compo-nents can be seen as interactions between the correspondingpopulations. In particular we focus on models in which com-ponent populations have significantly different sizes — somecomponents appear in large populations, but other compo-nents belong to populations which are relatively small. Themodels in this class reflect many resource-bound computerand communication networks, which typically consist of twotypes of entities, resources and resource users . In such sys-tems it is often the case that a rather large population of theusers are served by a smaller population of the resources.Having constructed the model of a large-scale system, the-oretically a wide variety of analysis techniques can be ap-plied for their performance evaluation. At one extreme, nu-merical analysis would construct the associated infinitesimalgenerator matrix and obtain the model’s probability distri-bution across its complete state space. Whilst it provides afull and faithful account of the system behaviour this routeoften proves to be infeasible due to the size of the statespace. At the other end of the spectrum, analysis based onfluid approximation or mean field techniques can be usedto derive the probability distribution’s first few momentsrather than the full distribution [1]. These moments canprovide the basis for performance estimation and the fluidflow analysis has specifically been shown to be useful formodels with uniformly large populations [10]. However, ap-plying the method to our sub-class of models can give rise tomisleading results [8], because the fluid flow moments can betoo abstract or crude to reflect the system’s full distribution(e.g. the distribution may be heavy-tailed or multi-modal).Here we present an approach which is particularly tailoredfor studying resource-bound systems in which large popula-tions of users interact with a limited population of resources.Our method is based on a state space aggregation and the a r X i v : . [ c s . PF ] S e p nformation it provides about the complete probability dis-tribution for resource populations is more detailed and fine-grained than the fluid flow moments. At the same time,it avoids the construction of the model’s potentially verylarge CTMC. We show that for a large-scale model in thissub-class, the aggregation is possible if the model satisfies asyntactic condition which can be readily checked, and fromthe aggregated CTMC certain performance measures can bereadily derived.Paper’s structure: in Section 2, we introduce the syntaxand state space representation used when dealing with large-scale PEPA models. In Section 3 we formally introducethe sub-class and illustrate an aggregation condition. InSections 4 and 5 we show the aggregation steps and the waya marginal probability distributions is derived. In Section 6,we describe the usefulness of the method in the context of anexample. Section 7 presents the related work. In Section 8we conclude and describe plans for extending the method.
2. PRELIMINARIES
In this section we give a brief introduction to the PEPA mod-elling language. The interested reader is referred to [2, 1] formore detail. In PEPA, models are constructed of compo-nents which undertake activities. Each activity ( α, r ) has aspecified activity type, α , and a rate, r , which is assumed togovern an exponentially distributed delay determining theduration of the activity. Sequential components are com-posed concurrently, but may be constrained to share partic-ular activities. In some cases the rate of an activity may beunspecified, or passive , denoted (cid:62) , indicating that a com-ponent is willing to participate in a shared activity with noconstraint on the rate. Here we use the grouped PEPA syntaxfor clear specification of large-scale PEPA models [1]. S = ( α, r ) .S | S + S | C s P = P (cid:3)(cid:1) L P | SD = D || D | P M = M (cid:3)(cid:1) L M | Y { D } Here S represents a sequential component (essentially, astate machine). These components are built up using pre-fix (.): designated first activity, and choice (+): preemptivealternative behaviours. C s is a constant used to name a com-ponent. P , a model component, is composed of sequentialcomponents ( S (cid:3)(cid:1) L S ) which are constrained to share activ-ities whose type is in the set L . When L is empty thesecomponents may proceed independently, denoted by P || Q .Syntactic sugar P [ n ] is used to denote the parallel composi-tion of n identical P processes, P [ n ] = P || P || . . . || P (cid:124) (cid:123)(cid:122) (cid:125) n times . D represents the parallel composition of instances of a sequen-tial component. These instances constitute a group and aunique label is assigned to each group, denoted by Y . M represents the composition of groups. We restrict ourselvesto grouped PEPA models in which all groups are strictly simple ; i.e. each group contains the instances of one sequen-tial component only. Here is an example of such a model. Model 1 . This model captures the dynamics of a client-server system. C think def = ( think , r t ) .C req C req def = ( req , r c ) .C think S idle def = ( req, r s ) .S log + ( brk, r b ) .S broken S log def = ( log , r l ) .S idle S broken def = ( fix , r f ) .S idle CS def = Servers { S idle [2] } (cid:3)(cid:1) { req } Clients { C think [2] } Description: C think and C req are the local states of theClient sequential component: clients alternate between think-ing and requesting. Similarly S idle , S log and S broken define thebehaviour of the Server sequential component. In state S idle a server offers the shared activity req , followed by logging instate S log . Alternatively the server might suffer a breakdown( brk ) and enter the state S broken until it is fixed.The last line of the model is called the system equation andcorresponds to M in the grammar. This specifies how thesequential components are instantiated in groups and thecooperation pattern between groups. Here, the model is ini-tialised with two instances of idle servers and two instancesof thinking clients. The servers form group Servers and thegroup of the clients is labelled
Clients . The cooperation setspecifies that instances in group
Servers synchronise on req activities with instances in group
Clients . Moreover, thereis no synchronisation between the instances of servers orclients within their respective groups.The grouped PEPA structured operational semantics can beused to build the models’ underlying transition relations [1].The relations can help when generating the model’s under-lying stochastic process, readily seen to be a CTMC.For a grouped PEPA model M , let G ( M ) denote its set ofgroup labels. This can be calculated recursively: G ( M ) = (cid:40) M ∪ M if M = M (cid:3)(cid:1) L M Y if M = Y { D } (1)Let N h M denote the number of groups in M . We define C M to be the set of sequential components defined in the model.The number of distinct sequential components in the modelis denoted by N c M . Given that all groups in M are simple, wecan construct the function sc ( H ) : G ( M ) → C M which relatesa group’s label to the sequential component whose instancesform that group . For example, sc ( Servers ) = S idle .For a C ∈ C M , let ds ( C ) denote the set of local states or lo-cal derivatives C visits. We assume that the number of localstates the sequential component C x experiences is denotedby N C x . As an example, ds ( S idle )= { S idle , S log , S broken } . Ac-cordingly, we define ds ∗ ( H ), the set of local states each in-stance in the group labelled H experiences. For H ∈G ( M ): ds ∗ ( H )= ds ( sc ( H )). N H i denoted the cardinality of ds ∗ ( H ).In the system equation of a model, the operator (cid:3)(cid:1) L is usedto compose the model’s groups and form cooperations. Theinstances of two groups which are composed are restrictedto synchronize on action types in the associated cooperationset. These groups, however, can be subjected to furthercompositions and synchronizations with other groups of themodel. Thus, in a model, the system equation introducesa hierarchy of cooperation among its different groups and We assume that a sequential component is represented byits initial state.ssigns to each group, the set of action types the instancesin that group must synchronize on. To clarify, consider theprocess ( G {·} (cid:3)(cid:1) L (cid:48) G {·} ) (cid:3)(cid:1) L ( G {·} (cid:3)(cid:1) L (cid:48)(cid:48) G {·} ). Here G and G cooperate on set L (cid:48) ; similarly, G and G cooperate on ac-tions in set L (cid:48)(cid:48) . Additionally, these group compositions arealso combined in cooperation on set L . The cooperation on L (cid:48) restricts the instances in groups G and G and does notaffect G or G ; but all instances are restricted by L . Thenotion of cooperation hierarchy in model M can be formallycaptured by a partial order relation < ∗ M . For group compo-sitions, G and G , G < ∗ M G , if and only if G is composedwhen constructing G . If G < ∗ M G , all cooperation sets ap-plied to G are also enforced on G . The following rulesconstruct < ∗ M using M ’s system equation.1 . H {·} < ∗ H {·} . X < ∗ A, if A def = X . H {·} < ∗ H {·} (cid:3)(cid:1) L H {·} , if H = H ∨ H = H For a group H ∈ G ( M ), I ( M , H ) denotes the set of actiontypes on which instances in H are required to synchronize. I ( M , H ) is defined recursively from the system equation,using the subsidiary function J ; I ( M , H ) = J ( M , H, ∅ ). J ( M, H, K ) = K, if M = H {·}J ( M , H, K ∪ L ) ∪ J ( M , H, K ∪ L ) , if M = M (cid:3)(cid:1) L M . J ( A, H, K ) , if M def = A. We also define sync ( M , H, α ), the set of groups in M whoseinstances synchronize on α activities with instances in H .Using < ∗ M , sync ( M , H, α ) can be found as follows: sync ( M, H, α )= ∅ , if M = H {·} sync ( M , H, α ) ∪{ H i ∈ G ( M ) | H i {·} < ∗ M M } , if M = M (cid:3)(cid:1) L M , α ∈ L, H < ∗ M M sync ( M , H, α ) ∪{ H i ∈ G ( M ) | H i {·} < ∗ M M } , if M = M (cid:3)(cid:1) L M , α ∈ L, H < ∗ M M sync ( M , H, α ) , if M = M (cid:3)(cid:1) L M , α (cid:54)∈ L, H < ∗ M M sync ( M , H, α ) , if M = M (cid:3)(cid:1) L M , α (cid:54)∈ L, H < ∗ M M State Space Representation.
In the context of large-scale PEPA models, we are often content to abstract fromthe behaviour of individuals and focus on the evolution ofpopulations [3]. Thus, in order to capture the current stateof a group H , we do not capture the state of each individualinstance but instead, for each local state C x,y in ds ∗ ( H ),with a counter ξ ( H, C x,y ) we record how many instances in H exhibit the behaviour associated with C x,y and form thevector ξ ( H ) = (cid:104) ξ ( H, C x,y ) | C x,y ∈ ds ∗ ( H ) (cid:105) to capture thedistribution of instances in H across the local states ds ∗ ( H ).Having formed ξ ( H ) for each group, we construct ξ = (cid:104) ξ ( H ) | H ∈ G ( M ) (cid:105) , the vector which captures the state of all groupsin the model. The model’s dimension , d M = (cid:80) H ∈G ( M ) N H , isdefined to be the number of state variables appearing in itsstate vector.Each counter ξ ( H, C x,y ) can be regarded as a random vari-able and therefore, the state vector is regarded as a vectorof random variables. The CTMC capturing the model’s evo-lution is based on the numerical state vector. At any given time, a joint probability distribution can be associated withthis CTMC.Let C u be a local state of a sequential process in C M . The apparent rate of an action type α in C u , denoted by r α ( C u ),is the total rate C u offers for α activities [2]. Note that C u might have the form: C u = ( α, r (cid:48) ) .C (cid:48) u +( α, r (cid:48)(cid:48) ) .C (cid:48)(cid:48) u + . . . withmultiple states reachable from C u via an α activity. r α ( C u ) = r, if C u = ( β, r ) .P , β = α , if C u = ( β, r ) .P , β (cid:54) = αr α ( P ) + r α ( Q ) , if C u = P + Q We define r α ( C u , C (cid:48) u ) to be the apparent rate of an actiontype α in C u leading specifically to derivative C (cid:48) u . r α ( C u , C (cid:48) u ) = r, if C u = ( β, r ) .P ∧ β = α ∧ P = C (cid:48) u , if C u = ( β, r ) .P ∧ ( β (cid:54) = α ∨ P (cid:54) = C (cid:48) u ) r α ( P )+ r α ( Q ) , if C u = P + Q Note that C u might be passive with respect to α . Moreover, C u might enable more than one passive α activity. In sucha case, each is given a weight ( ω ∈ N ), clarifying the relativeprobability assigned to these activities. These are handledappropriately in the apparent rate calculations, but we omitdetails here due to space limitations.Let us assume that in H i ∈ G ( M ) some instances are in state C u ∈ ds ∗ ( H i ), enabling α activities, where α (cid:54)∈ I ( M , H i ).Undertaking the α activity by any of these instances causes ξ ( H i , C u ) to decrease by one and the number of instances inone of the one-step α derivatives to increase by one. (cid:104) ξ ( H ) , . . . , ξ ( H i ) , . . . , ξ ( H N h M ) (cid:105) ( α,R α ( ξ ( H i ))) −−−−−−→(cid:104) ξ ( H ) , . . . , ξ (cid:48) ( H i ) , . . . , ξ ( H N h M ) (cid:105) Assume that the state change C u ( α,r α ) −→ C (cid:48) u occurs. Then: ξ ( H i )= (cid:104) ... , ξ ( H i , C u ) , .. , ξ ( H i , C (cid:48) u ) , .. , ξ ( H i , C N Hi ) (cid:105) ξ (cid:48) ( H i )= (cid:104) ... , ξ ( H i , C u ) − , .. , ξ ( H i , C (cid:48) u ) + 1 , .. , ξ ( H i , C N Hi ) (cid:105) For H ∈G ( M ) , C u , C (cid:48) u ∈ ds ∗ ( H ), r ∗ α ( H, C u , C (cid:48) u ) denotes theapparent rate of action type α in the context of H restrictedto activities which move from state C u to C (cid:48) u . r ∗ α ( H, C x,y , C (cid:48) x,y ) = ξ ( H, C x,y ) × r α ( C x,y , C (cid:48) x,y )According to the PEPA semantics, the rate of the tran-sition above is: R α ( ξ ( H i )) = ξ ( H, C x,y ) × r ∗ α ( H i , C u , C (cid:48) u ).We also define r ∗ α ( H ), the apparent rate of α in H offeredby all instances in H ; r ∗ α ( H )= (cid:80) C ∈ ds ( sc ( H )) ξ ( H, C ) × r α ( C ).When instances in two distinct groups cooperate (say, C u in-stances in H i cooperate with C v instances in H j on a shared α activity becoming C (cid:48) u and C (cid:48) v respectively) the update tothe numerical state vector will make changes analogous tothose outlined above, i.e. the subvectors corresponding tothe two groups. The rate of the shared activity will be: R α ( ξ ( H i ) , ξ ( H j )) = r ∗ α ( H i , C u , C (cid:48) u ) r ∗ α ( H i ) r ∗ α ( H j , C v , C (cid:48) v ) r ∗ α ( H j ) min( r ∗ α ( H i ) , r ∗ α ( H j ))
3. APPROXIMATE AGGREGATION3.1 Syntactic Condition e consider a sub-class of large-scale PEPA models in whichthe populations of different sequential components have sig-nificantly different sizes. Consider a model M in this sub-class and assume that according to their sizes, M ’s groupsare partitioned into two sets, large groups and small groups.Let G s ( M ) denote the set of small groups in M and G l ( M )denote its set of large groups: G ( M ) = G s ( M ) ∪ G l ( M ). Thisset partition will also partition M ’s state vector — the statevariables related to the groups in G s ( M ) and those related tothe groups in G l ( M ). Without loss of generality, the model’sstate vector can be written as (cid:104) ξ s , ξ l (cid:105) where ξ s correspondsto the model’s small groups, and ξ l to the large groups.As M is assumed to be a large-scale model, its completeCTMC is very large and its construction and analysis arecomputationally expensive. We show that if M satisfies thefollowing condition, then we can perform an approximate aggregation which results in an aggregated CTMC for M .We illustrate how this step enables us to efficiently estimatea marginal probability distribution over the model’s smallgroups with a high accuracy. The cost of finding such a dis-tribution using the aggregated CTMC is orders of magnitudesmaller than through the analysis of the original CTMC. Condition 1. Syntactic Aggregation Condition
Forany shared activity, synchronised between one or more largegroups and one or more small group, the rate of the sharedactivity, should be completely decided by the small groups: ∀ H l ∈ G l ( M ) ∀ α ∈ I A ( M, H )[ ( sync ( M, H l , α ) ∩ G s ( M ) ) (cid:54) = ∅ = ⇒∀ C x,y ∈ ds ∗ ( H l ) , ∃ ω ∈ N , r α ( C x,y ) = ω (cid:62) ]The condition expresses that in any synchronization on ashared activity of type α , if both small and large groupsare involved, then all instances in the involved large groupsneed to undertake α passively. Consider a variant of theclient-server model with the client components modified as: C think def = ( think , r t ) .C req C req def = ( req , (cid:62) ) .C think We assume
Clients constitutes a large group, and
Servers , asmall one. They synchronise on the req activity which theclients undertake passively. Thus the model now satisfiesCondition 1. We will see that this implies that in any stateof the system, the global apparent rate of req depends onlyon the configuration of the servers and is independent of theclients’ configuration.
The complete CTMC of a large-scale model with small groupswhich satisfies Condition 1 exhibits important structuralproperties which can be exploited in order to build an aggre-gated CTMC. In this section, we introduce these propertiesand illustrate them in the CTMC of the modified client-server model initialised with two servers and two clients.Given that the model’s groups are partitioned by size, we cancategorise each transition depending on whether it changesthe state of only one or more small groups, the state ofonly one or more large groups or simultaneously, the stateof both small and large groups. For H ∈ G ( M ), let us de-fine → A ∗ ( H ) to be the set of action types enabled by H and → A ∗ i ( H ) = → A ∗ ( H ) − I ( M , H ) represents the set of action types of individual activities undertaken by instances in H . First,assume that H ∈ G l ( M ) and define → A ∗ l ( H ) to be the set ofaction types instances in H undertaken individually or incooperation with other large groups. → A ∗ l ( H ) = { α | α ∈ → A ∗ i ( H ) ∨ ( sync ( M, H, α ) ∩ G s ( M )) = ∅ } Based on → A ∗ l ( H ), we define → A ∗ l ( M ) = (cid:83) H ∈G l ( M ) → A ∗ l ( H ),the set of action types related to the dynamics of the largegroups only. As the second case, assume that H ∈ G s ( M )and define → A ∗ s ( H ) analogously for small groups: → A ∗ s ( H ) = { α | α ∈ → A ∗ i ( H ) ∨ ( sync ( M, H, α ) ∩ G l ( M )) = ∅ } As above, we define → A ∗ s ( M ) = (cid:83) H ∈G s ( M ) → A ∗ s ( H ) whichrepresents the action types in which the large groups do notparticipate. Finally, for H ∈ G s ( M ), we define → A ∗ sl ( H ) torepresent the set of action types shared between instancesof H and instances of one or more large groups. → A ∗ sl ( M ) = { α | α ∈ I ( M , H ) ∧ ( sync ( M, H, α ) ∩ G l ( M )) (cid:54) = ∅} Similarly, for model M , → A ∗ sl ( M ) = (cid:83) H ∈G s ( M ) → A ∗ sl ( H ) isdefined to be the set of action types in which both smalland large groups participate. This categorisation of the ac-tion types will be used to characterise the structural prop-erties exhibited by the CTMC of the models satisfying Con-dition 1. For the modified client-server system, → A ∗ l ( CS )= { think } , → A ∗ sl ( CS )= { req } and → A ∗ s ( CS )= { log,break,fix } . Consider a model M satisfying Condition 1. In its under-lying CTMC, let us focus on transitions of type → A ∗ l ( M ).These transitions only change the state of one or more largegroups, leaving the configuration of the small groups un-changed. Based on this, the CTMC can be divided intosub-chains where the states within each sub-chain are con-nected by → A ∗ l ( M ) transitions and for which the configurationof instances in the small groups remains the same. From astate S , a sub-chain Y i , can be derived using these rules: S ∈ Y i ∧ S ( α, · ) −→ S (cid:48) ∧ α ∈ → A ∗ l ( M ) = ⇒ S (cid:48) ∈ Y i S ∈ Y i ∧ S (cid:48)(cid:48) ( α, · ) −→ S ∧ α ∈ → A ∗ l ( M ) = ⇒ S (cid:48)(cid:48) ∈ Y i The sub-chain Y i associated with a state S i consists of S i , thestates from which S i can be reached by → A ∗ l ( M ) transitions,and the states reachable from S by such transitions. Thesetransitions capture the dynamics of the large groups in Y i .Using the rules above, given G s ( M ) and G l ( M ), for M ’sunderlying CTMC, the partition Y M = { Y , Y , . . . } can beformed where each Y i is a sub-chain which can be uniquelyidentified by the configuration it captures for M ’s small groups(the vector ξ s ). Two states S and S in the original CTMCbelong to two different sub-chains if they do not exhibit thesame configuration for instances of groups in G s ( M ).In Fig. 1A, the CTMC of the modified model, the sub-chainsare visually identified. In each sub-chain, the clients change , , , , , , , , , , , , , r b , , , , , , , , , , , , , s req , r s , , , , , t log , l log , r l , , , , , , , , , l fix , r f brk , r b log , r l tnk , r t fix , r f fix , r f req , r s tnk , r t req , r s brk , r b brk , r b fix , f tnk , r t , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , r l log , r l tnk , t tnk , t req , r s tnk , r t tnk , t log , l tnk , r t tnk , t req , s log , r l brk , r b fix , r f log , r l brk , r b fix , f brk , r b fix , f brk , r b fix , r f brk , r b fix , r f , , , , (A) Complete CTMC. , , , , , , , r b , , , , , , , s req , r s log , r l fix , r f brk , b req , r s brk , r b fix , f log , r l log , l fix , r f (B) Aggregated CTMC.
Figure 1:
Complete and aggregated CTMC for the client-server system with two servers and two clients (shorthand tnk = think is used). Each state of the complete CTMC is a vector (cid:104) S i , S l , S b , C r , C t (cid:105) , where S i counts the number of idle servers, S l thenumber of logging servers, S b the number of broken servers, C r the number of requesting clients and C t the number of thinkingclients. Each state of the aggregated CTMC follows this state descriptor: (cid:104) S i , S l , S b (cid:105) . their state via think activities without affecting the servers.For a model with a larger client population, the same parti-tion, but with longer sub-chains, would be observable. Before showing the next structural property, we need to de-fine the notion of boundary states. Within the CTMC of M ,consider an arbitrary sub-chain Y i and α ∈ → A ∗ ( M ). First,let us assume that α ∈ → A ∗ l ( M ), i.e. small groups do not par-ticipate in α activities. In this case, in any state S ∈ Y i ,whether S enables α activities or not, depends only on theconfiguration of the large groups in S . As the second case,assume that α ∈ → A ∗ s ( M ). Here, the large groups do not par-ticipate in the α activities and therefore, in any state S ∈ Y i ,whether α is enabled depends only on the configuration S captures for the small groups. Moreover, since the configu-ration of the small groups is identical across all the states in Y i , the status of α is the same across Y i as a whole.The third case is when α ∈ → A ∗ sl ( M ). Here, α activities areshared between one or more small and one or more largegroups and the status of α in any state depends on the con-figurations of groups of both types. Here we can identifya subset of states in Y i , where shared α activities are notenabled because there are no instances in one or more rele-vant large groups to participate. Extending this to all actiontypes in → A ∗ sl ( M ), in each sub-chain Y i , we can find a subsetof states where one or more action types α remain disabled specifically due to the lack of cooperation from the instancesin the large groups. For Y i , let us refer to this subset as the boundary states of Y i , denoted bo ( Y i ). For instance, in theclient-server example, the boundary states are those wherethere are no clients ready to make a request. The formalcharacterisation of the boundary states follows: Definition 1. In M ’s state space, a state S with the vector ξ = (cid:104) ξ ( H ) , . . . , ξ ( H N H M ) (cid:105) , is a boundary state if and only if: ∃ H s ∈ G s ( M ) ∃ α ∈ ( → A ∗ ( H s ) ∩ → A ∗ sl ( M )) ∃ H l ∈ ( G l ( M ) ∩ sync ( M, H s , α )) : r ∗ α ( H l ) = 0We define bl ( Y i , α ), Y i ∈ Y M , α ∈ → A ∗ sl ( M ), to represent the setof states in Y i where α is blocked. bl ( Y i , α ) = (cid:8) S | S ∈ Y i ∧ α ∈ bl (cid:48) ( S ) (cid:9) bl (cid:48) ( S ) = (cid:26) α | ∃ H s ∈ G s ( M ) : (cid:20) α ∈ ( → A ∗ ( H s ) ∩ → A ∗ sl ( M )) ∧∃ H l ∈ ( G l ( M ) ∩ sync ( M, H s , α )) : r ∗ α ( H l ) = 0 (cid:21) (cid:27) In large-scale resource-bound systems, resources are unlikelyto remain idle waiting for the resource users to ask for theservice. Therefore, in such systems, the probability of beingin the boundary states can be assumed to be negligible.
Consider M , a model satisfying Condition 1. In the under-lying CTMC, consider a sub-chain Y i and state S i ∈ Y i . As-ume that there exists a cross-sub-chain transition S i ( α,R ) −→ S j where S j ∈ Y j , Y j (cid:54) = Y i (see Fig. 2A). Then for any α enablingstate S (cid:48) i ∈ Y i , we can observe a similar transition S (cid:48) i ( α,R (cid:48) ) −→ S (cid:48) j where S (cid:48) j ∈ Y j and R = R (cid:48) . This observation leads to thefollowing Lemma. Lemma 3.1.
Rate regularity for non-boundary states. ∀ α ∈ ( → A ∗ sl ( M ) ∪ → A ∗ s ( M )) , ∀ S i ∈ Y i , ∀ S j ∈ Y j (cid:18) S i ( α,R ) −→ S j = ⇒ ∀ S (cid:48) i ∈ ( Y i − bl ( Y i , α )) (cid:20) r ∗ α ( S (cid:48) i >
0) = ⇒ ∃ S (cid:48) j ∈ Y j S (cid:48) i ( α,R ) −→ S (cid:48) j (cid:21) (cid:19) In any sub-chain, all non-boundary states enable the sameset of activities. Hence, for α ∈ → A ∗ sl ( M ) ∪ → A ∗ s ( M ), we candefine r ( α, Y i , Y j ), the rate of any α transition from any S i ∈ Y i to another state S j ∈ Y j . r ( α, Y i , Y j ) = (cid:40) r if ∃ S i ∈ Y i ∃ S j ∈ Y j : S i ( α,r ) −→ S j Y i and Y j , transitions of morethan one type might connect their states (see Fig. 2A). Wedefine r ( Y i , Y j ) = (cid:80) α ∈ ( → A ∗ s ( M ) ∪ → A ∗ sl ( M )) r ( α, Y i , Y j ) to repre-sent the total rate at which non-boundary states in Y i tran-sition into a corresponding state in Y j .In Fig. 1A, the activities of type → A ∗ s ( CS ) ∪ → A ∗ sl ( CS ) = { req,log,break,fix } cause the system to leave the sub-chainit resides in and move into a new one. The rate of theseactivities depends only on the configuration of the servers.For the states within one sub-chain, the state of the serversdoes not change. Thus, the rate of any activity of type → A ∗ s ( CS ) ∪ → A ∗ sl ( CS ), if enabled, is the same.For a large-scale model M that satisfies Condition 1, we canconstruct its CTMC and use → A ∗ s ( M ), → A ∗ l ( M ), and → A ∗ sl ( M ) todetect the sub-chains formed and observe the rate regular-ities for transitions between sub-chains. These regularitiesand the assumption that the probability of experiencing theboundary states is negligible, enable us to build an aggre-gated CTMC for the model. In this CTMC, each sub-chainis represented by a single aggregate state. This aggregatestate abstracts away the dynamics of the large groups inthat sub-chain and only captures the un-changed configura-tion the sub-chain exhibits for the small groups. In otherwords, the aggregated CTMC captures only the evolutionof the small groups and information about the behaviour ofthe instances in the large groups is lost. Nevertheless, theaggregate CTMC provides the means to study the evolutionof the instances of the groups in G s ( M ) in a fined-grainedmanner without building the very large original CTMC.Fig. 1B shows the aggregated CTMC of the modified client-server model. It shows how the state variables related to theservers behave.
4. AGGREGATION ALGORITHM
The aggregated CTMC of a conforming model M is moreabstract than its original CTMC (capturing only the state and transitions of the instances in G s ( M )) and its structureis independent of the size of the large group populations.This independence justifies the development of an algorithmwhich builds the aggregated CTMC directly from the modelspecification. In a first reduction step, our algorithm trans-forms the system equation of the original model M into M R ,a reduced form which captures M ’s structure only with re-spect to the groups in G s ( M ). In the next step, using M R anda semantics developed for PEPA population models, the ag-gregated CTMC is generated. These steps are described inthis section. Note that the reduced system equation faith-fully captures the synchronization restrictions imposed onany of the small groups. Although the large groups are re-moved from the model, the reduction rules guarantee thebehaviour exhibited considering M R matches the one seenfor G s ( M ) in the original CTMC. These rules will be applied to the system equation of aninput model M in order to produce the reduced model M R . red ( G ) = red ( G ) (cid:3)(cid:1) L red ( G ) , if G = G (cid:3)(cid:1) L G H {·} , if G = H {·} , H ∈ G s ( M ) Nil, if G = H {·} , H ∈ G l ( M ) red ( X ) , if G def = X The process
Nil represents a sequential process which doesnot undertake any activity. Applying the rules results in asystem equation where all large groups are replaced by thisprocess. The following rules remove
Nil processes to findthe minimal reduced system equation:
Nil (cid:3)(cid:1) · Nil = Nil Nil (cid:3)(cid:1) · P = P P (cid:3)(cid:1) · Nil = P Having built the reduced form of M ’s system equation, weapply the count-oriented structured operational semantics presented below to derive the model’s underlying labelledtransition system (LTS) directly in numerical vector form. Promotion . Promotion of a sequential component’stransition to the group level: C u ( α,r α ) −→ C (cid:48) u ξ ( H ) ( α,ξ ( H,C u ) r α ( C u ,C (cid:48) u )) (cid:47) (cid:47) Θ( ξ ( H ) , C u , C (cid:48) u ) ξ ( H, C u ) > Cooperation . Cooperation between groups: ξ ( H i ) ( α,r ( ξ ( H i ))) (cid:47) (cid:47) ξ (cid:48) ( H i ) ξ ( H i ) (cid:3)(cid:1) L ξ ( H j ) α,r ( ξ ( H i ))) (cid:47) (cid:47) ξ (cid:48) ( H i ) (cid:3)(cid:1) L ξ ( H j ) α (cid:54)∈ L ξ ( H i ) ( α,r ( ξ ( H i ))) (cid:47) (cid:47) ξ (cid:48) ( H i ) ∧ ξ ( H j ) ( α,r ( ξ ( H j ))) (cid:47) (cid:47) ξ (cid:48) ( H j ) ξ ( H i ) (cid:3)(cid:1) L ξ ( H j ) ( α,R ) (cid:47) (cid:47) ξ (cid:48) ( H i ) (cid:3)(cid:1) L ξ (cid:48) ( H j ) α ∈ LR = r ( ξ ( H i )) r ∗ α ( H i ) r ( ξ ( H j )) r ∗ α ( H j ) min ( r ∗ α ( H i ) , r ∗ α ( H j )) i S ′ i S ′ j S j ( α, r )( α, r ) Y i Y j ( β, r )( β, r ) (A) The non-boundary states in a sub-chain presenting similar behaviours. S i S ′ i S ′ j S j r ( α, Y i , Y j ) Y i Y j r ( Y i , Y j ) r ( β, Y i , Y j ) (B) The rate for any one cross-sub-chain transition.
Figure 2:
Rate regularities for cross-sub-chain transitions.
Constant . Process constants: M ( α,r ) (cid:47) (cid:47) M (cid:48) A ( α,r ) (cid:47) (cid:47) M (cid:48) A def = M Due to the space limitation, the symmetric rule for the firstcooperation rule (evolution of the right hand process on indi-vidual activities) is omitted. The rules for constructing thetransition relation (cid:47) (cid:47) make use of the transition relation → built by the original PEPA semantics [2] (see the premiseof the first rule). However, note that → needs to be con-structed only at the level of the sequential processes; for eachsequential process in the model an automata is constructedwhich captures the states and transitions each instance ofthat sequential process experiences.The semantics formally reflects the update to the numericalvector representation of the states, as described in Section 2,recording the impact of the completion of an action on eachof the counts for the involved groups. The appropriate up-date is determined by the function Θ.Θ( ξ ( H ) , C u , C (cid:48) u )= (cid:104) Θ (cid:48) ( ξ ( H ) , C u , C (cid:48) u , ξ ( H, C (cid:48)(cid:48) u )) | C (cid:48)(cid:48) u ∈ ds ∗ ( H ) (cid:105) Θ (cid:48) ( ξ ( H ) , C u , C (cid:48) u , ξ ( H, C (cid:48)(cid:48) u )= ξ ( H, C (cid:48)(cid:48) ) − , if C (cid:48)(cid:48) = C u ξ ( H, C (cid:48)(cid:48) ) + 1 , if C (cid:48)(cid:48) = C (cid:48) u ξ ( H, C (cid:48)(cid:48) ) , otherwise In the aggregation algorithm the count-oriented semantics isapplied to the reduced form system equation of a model, cre-ating its aggregated LTS. For a model M , this LTS, whichis formally characterised below, constitutes the model’s ag-gregated CTMC. Aggregated Derivative Set . The aggregated derivativeset of a state S , denoted by D ∗ ( S ), is the smallest set ofstates satisfying the following conditions.1 . S ∈ D ∗ ( S ) . . If S ∈ D ∗ ( S ) and S α, · ) (cid:47) (cid:47) S , then S ∈ D ∗ ( S ) . Aggregated Labelled Transition System is defined asa tuple ( D ∗ ( S ) , Ω , (cid:47) (cid:47) ). S is the model’s initial aggre-gate state. Ω = ( A × F ) is the transition system’s alphabetwhere A is the set of action types defined in M and F is a function space defined over Z d M R + . d M R is the dimension ofthe reduced system equation, i.e. the number of state vari-ables appearing in its underlying state vector. Each functionin F corresponds to an action type: F α defines the rate ofobserving an activity of type α in the vector space Z d M R + .Fig. 1B shows the aggregated CTMC constructed for themodified Model 1 when initialised with two idle servers.
5. DERIVING MARGINAL DISTRIBUTIONS
Derivation through the aggregated CTMC . The nu-merical state vector of a PEPA model can be regarded asa vector of dependent random variables whose evolution iscaptured by the underlying CTMC. For this CTMC, theChapman-Kolmogorov (C-K) equations (a set of linear dif-ferential equations) can be derived for the evolution of thejoint probability distribution of the state random variablesover time. For any model, the number of C-K equations isequal to the size of the state space of the CTMC. Therefore,as explained earlier, calculating the full joint probability dis-tributions for large-scale PEPA models is usually infeasible.Recall that the state vector ξ of a large-scale PEPA model M satisfying the aggregation conditions can be expressed as ξ = (cid:104) ξ s , ξ l (cid:105) where ξ s captures the state of instances withingroups in G s ( M ) and ξ l , the state of the instances withingroups in G l ( M ). The aggregation algorithm constructs anaggregated CTMC in which only the evolution of ξ s is cap-tured. This CTMC can be used to derive marginal probabil-ity distributions over the random variables ξ ( H, C x,y ) , ∀ H i ∈G s ( M ) , ∀ C x,y ∈ ds ∗ ( H i ). These are calculated by a set of ordi-nary differential equations (ODE). In the following, assumethat X a denotes the stochastic process whose behaviour iscaptured by the aggregated CTMC. For each state of thisCTMC, one equation is constructed: d P ( X a = S ) d t = (cid:88) α : S j ( α,r ∗ α ( ξ )) (cid:47) (cid:47) S r ∗ α ( ξ ) P ( X a = S j ) − (cid:88) α : S ( α,r ∗ α ( S )) (cid:47) (cid:47) S j r ∗ α ( S ) P ( X a = S )The algorithm in Program. 1 constructs this system of ODEs. Derivation of the marginal distribution from the C-Kequations . For a PEPA model, its system of C-K equationscan be constructed by forming an equation for each state ofthe model, recording the flux in and the flux out of that or each aggregate state S in ds ∗ ( S ) form oneequation d P ( X a = S ) dt as Ein S ← in ( S ) = { S h | S h ( α, · ) (cid:47) (cid:47) S } out S ← out ( S ) = { S j | S ( α, · ) (cid:47) (cid:47) S j } for each state S h ∈ in S : S h ( α,r ∗ α ( ξ )) (cid:47) (cid:47) S //probability flux into S add + r ∗ α ( ξ ) × P ( X a = S h ) to E for each state S j ∈ out S : S ( α,r ∗ α ( ξ )) (cid:47) (cid:47) S j //probability flux out of S add − r ∗ α ( ξ ) × P ( X a = S ) to E Program 1:
Pseudo-code that generates the ODEsfor a model’s marginal probability distributions. state. This allows analysis at the level of individual states.In this section, we show a high level overview of how it ispossible to construct the equations for evaluating the prob-ability of being in each sub-chain using the model’s originalC-K equations.Let X be the random process captured by M ’s original CTMCand P (cid:104) X = S i (cid:105) ( t ) denote the probability that at time t , X isin state S i . In the model’s C-K equations, one equation isconstructed for each state X experiences: P (cid:104) X = S i (cid:105) ( t ) d t = (cid:88) S j ( α,r (cid:104) α,Sj,Si (cid:105) ) −−−−−−−−→ S i , S j ∈ Y M r (cid:104) α,S j ,S i (cid:105) P (cid:104) X = S j (cid:105) ( t ) − (cid:88) S i ( α,r (cid:104) α,Si,Sj (cid:105) ) −−−−−−−−→ S j , S j ∈ Y M r (cid:104) α,S i ,S j (cid:105) P (cid:104) X = S i (cid:105) ( t ) (2)The probability of being in a sub-chain Y i at time t is equalto the sum of the probabilities of being in any of the statesin Y i : P (cid:104) X ⊂ Y i (cid:105) ( t ) = (cid:80) S i ∈ Y i P (cid:104) X = S i (cid:105) ( t ). To study theseprobability evolutions, we form one equation for each sub-chain Y i . P (cid:104) X ⊂ Y i (cid:105) ( t ) denotes the probability that at time t the system is in any of the states in Y i . d P (cid:104) X ⊂ Y i (cid:105) ( t ) d t = d (cid:80) S i ∈ Y i P (cid:104) X = S i (cid:105) ( t ) d t = (cid:88) S i ∈ Y i d P (cid:104) X = S i (cid:105) ( t ) d t (3)In the context of Y i , the probability fluxes which correspondto action types in → A ∗ l ( M ) cancel each other and have noeffect on the probability fluxes in and out of the whole sub-chain. Substituting (2) into (5), using Lemma 3.1 and takingadvantage of the assumption that the probability of beingin boundary states is close to zero, we derive, ∀ Y i ∈ Y M : d P (cid:104) X ⊂ Y i (cid:105) ( t ) d t ≈ − (cid:88) Y j ∈ Y M r ( Y i , Y j ) P (cid:104) X ⊂ Y i (cid:105) ( t )+ (cid:88) Y k ∈ Y M r ( Y k , Y i ) P (cid:104) X ⊂ Y k (cid:105) ( t )which captures the probability evolutions at the level of sub-chains. The complete proof is described in [7].For a large-scale PEPA model which satisfies Condition 1, P h Cr = i ( t ) - first case P h Cr = i ( t ) - second case P h Cr = i ( t ) - third case Figure 3:
Probability of being in boundary states( P (cid:104) Cr =0 (cid:105) ( t )) for each case of the experiment. we have shown two approaches to deriving equations lead-ing to the corresponding marginal probability distributionsover sub-chains. The two routes lead to the same equationssince each sub-chain is represented as a single state in theaggregate CTMC and this CTMC is faithful in capturing theprobability flows into and out of the sub-chains. However,it should be noted that the cost of deriving the aggregateODEs and marginal distributions through the aggregatedCTMC is orders of magnitude smaller than deriving themfrom the C-K equations, since this avoids the constructionof the large system of C-K equations. In the next section,we consider an experiment where the accuracy of the ap-proximate aggregate ODEs is investigated.
6. ACCURACY OF THE AGGREGATION
For a model which satisfies Condition 1, the accuracy of themarginal probability distributions derived via the aggrega-tion, depends on the assumption that the probability massin the boundary states is close to zero. If, at all times, thesmall groups in the model are under heavy load and theircooperation capacity is saturated by the demand of the largegroups, one would expect to get highly accurate approximatemarginal probability distributions. Conversely, if the prob-ability of being in boundary states, is not negligible, thenthe approximation method may lead to erroneous marginaldistributions. In this section, we report on experiments toinvestigate the accuracy of the aggregation method in thecontext of the client-server model.We consider Model 1 and assume that the small group,
Servers , contains 5 servers and the large group,
Clients , 100clients. In the model’s original
CTMC, which captures thedynamics of both clients and servers, the boundary statesare those where the number of clients requesting service iszero (i.e. C r = 0). We constructed three versions of thismodel and across these, the following parameters were thesame: n s = 5, n c = 100, r s = 10, r l = 50, r b = 0 . r f = 0 . r c = (cid:62) . However, in the first version r t = 15, in thesecond r t = 0 . r t = 0 .
1. This changein r t causes a gradual increase in the probability of beingin boundary states (see Fig. 3). For each version, we cal-culated an approximate marginal probability distributionover the servers and compared it with a similar distribu-tion derived from the exact analysis of the model’s completeCTMC using the PRISM tool [5]. There are multiple waysfor comparing two probability distributions. For simplicity,we chose three different representative states from the dis-ributions and compared the distributions only with respectto those particular states. Our comparison could readily beextended to the complete distributions. In this section, Z denotes the stochastic process representing the client-servermodel’s original CTMC and Z a denotes the stochastic pro-cess associated with the model’s aggregated CTMC.The parameters chosen for the first version ( r t = 15) causethe servers to be under heavy contention at all times; i.e.probability of C r = 0 is close to zero. Figure (4A) shows acomparison between probabilities calculated for three repre-sentative states, (cid:104) , , (cid:105) , (cid:104) , , (cid:105) and (cid:104) , , (cid:105) , by the approx-imate and exact methods. As an example, P (cid:104) Z =(3 , , (cid:105) ( t ),denotes the probability that in the original CTMC, the sys-tem resides in a state where there are three idle, one loggingand three broken servers and P (cid:104) Z a =(3 , , (cid:105) ( t ), the probabilitythat the aggregated CTMC resides in an equivalent state.In the second case, r t = 0 .
2, thinking has a longer durationcompared to the first case. This slows the flow of clientsinto the state of requesting communication with the servers.Thus, the probability of observing C r = 0 becomes higheras the servers’ service capacity remains the same. The samemeasures were calculated for the second case and the resultsare reported in Fig. (4B). Here, the probability of being inthe boundary states is higher resulting in a less accurate themarginal distribution. In the third case r t = 0 .
1, the prob-ability of C r = 0 is relatively high (see Fig. 3). Hence, thedeviation of the approximate distribution from the exact oneis significantly larger than the previous cases. The outputsfor this case are shown in Fig (4C).The aggregated CTMC can be used for deriving further per-formance indicators, such as dependability measures. As-sume that the measure of interest is the number of workingservers, i.e. those which are not broken. Formally, let E K denote the probabilistic event that there are K servers run-ning. For instances, when K=5: P (cid:104) Z ⊂ E (cid:105) = P (cid:104) Z ⊂ (5 , , (cid:105) + P (cid:104) Z ⊂ (4 , , (cid:105) + . . . + P (cid:104) Z ⊂ (0 , , (cid:105) ≈ P (cid:104) Z a ⊂ E (cid:105) = P (cid:104) Z a =(5 , , (cid:105) + P (cid:104) Z a =(4 , , (cid:105) + . . . + P (cid:104) Z a =(0 , , (cid:105) Using the aggregation method, the steady state values of P (cid:104) Z ⊂ E K (cid:105) , K = 1 , ,
7. RELATED WORK
Many aggregation and decomposition techniques have beendeveloped to address the problem of analysing large-scalemodels. These methods usually exploit the structure of themodel’s CTMC and allow for a timely analysis which other-wise would have been impossible. Our aggregation methodcan be viewed as most closely related to two existing con-cepts: quasi-separability and lumpability .The method of quasi-separability was originally developedfor queueing networks [6] and later extended to Markovianprocess algebra models [9]. Given a process, the modellercategorises each component as being either an environment component or an internal one. If the model satisfies a quasi-separability condition , a number of sub-models are generatedwhere each sub-model captures the dynamics of a numberof internal components in combination with all environmentones. For internal components, their configuration is proba-bilistically independent of the other internal ones and there-fore, their behaviour can be studied in separation via onlytheir own sub-model. Using this method for a given model,for each sub-model one marginal distribution is derived.We investigated the quasi-separability condition in the con-text of PEPA population models. In particular, for a modelin which there is an interaction between small and largegroups, we established the conditions which determine whetherthe small groups evolve independently from the large onesand if their dynamics be studied in isolation.The second concept is lumpability (ordinary lumpability),which forms a partition over the model’s CTMC satisfyinga condition on rates. Using lumpability, the model’s ag-gregated CTMC has a single state for each partition. Thesize of the aggregated CTMC is smaller than the originalone and therefore, it provides the means for efficient per-formance analysis. Our method follows a similar approach.However, it is important to note that our conditions areless stringent than those for lumpability, and will aggregatea larger class of models. More specifically, the presence ofboundary states in the CTMC of a model may break thelumpability condition whereas our method can handle sucha CTMC.
8. CONCLUSION
In this paper we considered a sub-class of large-scale PEPAmodels. These models consist of groups with non-uniformpopulation sizes; one or more small groups cooperating withsome large ones. These models reflect the situation in manyof existing systems where a small population of resourcesare used by a significantly larger population of users. Weshowed that if the model satisfies two conditions, an ap-proximate aggregated CTMC can be constructed and usedto efficiently derive certain performance metrics. These arethe conditions. First, the rate of all cooperation betweenthe model’s small groups and large ones should be controlledsolely by the small groups. Second, as the model executes, P h Z ⊂ S i ( t ) P h Z a = i ( t ) P h Z ⊂ S i ( t ) P h Z a = i ( t ) P h Z ⊂ S i ( t ) P h Z a = i ( t ) (A) P (cid:104) Z ⊂ (5 , , (cid:105) , P (cid:104) Z ⊂ (3 , , (cid:105) , P (cid:104) Z ⊂ (0 , , (cid:105) first case. P h Z ⊂ S i ( t ) P h Z a = i ( t ) P h Z ⊂ S i ( t ) P h Z a = i ( t ) P h Z ⊂ S i ( t ) P h Z a = S i ( t ) (B) P (cid:104) Z ⊂ (5 , , (cid:105) , P (cid:104) Z ⊂ (3 , , (cid:105) , P (cid:104) Z ⊂ (0 , , (cid:105) second case. P h Z ⊂ S i ( t ) P h Z a = i ( t ) P h Z ⊂ S i ( t ) P h Z a = i ( t ) P h Z ⊂ S i ( t ) P h Z a = i ( t ) (C) P (cid:104) Z ⊂ (5 , , (cid:105) , P (cid:104) Z ⊂ (3 , , (cid:105) , P (cid:104) Z ⊂ (0 , , (cid:105) third case. Figure 4:
Comparison of exact and approximate probabilities of being in three representative states across the experiment cases.
First Case Second Case Third Caseexact approximate error (%) exact approximate error exact approximate error(%) P (cid:104) Z a =500 (cid:105) P (cid:104) Z a =311 (cid:105) P (cid:104) Z a =005 (cid:105) P (cid:104) Z a ⊂ E (cid:105) P (cid:104) Z a ⊂ E (cid:105) P (cid:104) Z a ⊂ E (cid:105) Table 1:
Comparion of the equilibrium probabilities calculated separately by the approximate and exact methods. it must be unlikely to experience its boundary states, i.e.the ones where the small groups are blocked while waitingfor the cooperation with the large groups. We proposedan algorithm which, for a conforming model, directly de-rives its aggregated CTMC without constructing the origi-nal CTMC. The aggregated CTMC captures, in a detailedmanner, the dynamics of the model’s small groups and canbe used to derive an approximate marginal probability dis-tribution over those groups. Calculating such a distributionusing the aggregated CTMC is orders of magnitude fasterthan deriving the same distribution from the analysis of theoriginal CTMC.
Future Work . For a conforming model, we showed howits aggregated CTMC can be used to study the behaviourof its small groups. However, the aggregated CTMC, as acompact representative of the model’s original CTMC, canbe exploited more widely. The original CTMC and the ag-gregated CTMC can be shown to share certain characteris-tics, yet investigating them in the original CTMC may beprohibitively expensive. Therefore, our aim is to investigatehow to establish important characteristics, such as near com-plete decomposability in the aggregated CTMC and thenexploit them in the original CTMC.
9. REFERENCES [1] R. A. Hayden and J. T. Bradley. A fluid analysisframework for a markovian process algebra.
Theor.Comput. Sci. , 411(22-24):2260–2297, May 2010.[2] J. Hillston.
A compositional approach to performancemodelling . CUP, New York, NY, USA, 1996.[3] J. Hillston. Fluid flow approximation of PEPA models.In , pages 33–42, 2005. [4] J. Hillston and V. Mertsiotakis. A simple time scaledecomposition technique for stochastic processalgebras.
The Computer Journal , 38(7):566–577, 1995.[5] M. Kwiatkowska, G. Norman, and D. Parker. Prism4.0: verification of probabilistic real-time systems. In , CAV’11, pages 585–591.Springer-Verlag, 2011.[6] I. Mitrani and P. Wright. Routing in the presence ofbreakdowns.
Performance Evaluation ,20(1–3):151–164, 1994. Performance ’93.[7] A. Pourranjbar and J. Hillston. An aggregationtechnique for large-scale pepa models withnon-uniform populations. Technical Report 0, LFCS,Address, August 2013.[8] A. Pourranjbar, J. Hillston, and L. Bortolussi. Don’tjust go with the flow: Cautionary tales of fluid flowapproximation. In
Computer PerformanceEngineering , LNCS 7587, pages 156–171. Springer,2013.[9] N. Thomas and S. Gilmore. Applyingquasi-separability to Markovian process algebra. In
PAPM , 1998.[10] M. Tribastone.
Scalable Analysis of Stochastic ProcessAlgebra Models . PhD thesis, School of Informatics,The University of Edinburgh, 2010.
APPENDIXA. RULES FOR THE RATES OF PASSIVEACTIVITIES hese rules are used when calculating the apparent rates ofpassive activities.1 . ( ω (cid:62) + ω (cid:62) ) = ( ω + ω ) (cid:62) ∀ ω , ω ∈ N . ω × ( ω (cid:62) ) = ( ω × ω ) (cid:62) . (cid:62) = 1 × (cid:62) . min( ω × (cid:62) , ω × (cid:62) ) = min ( ω , ω × (cid:62) B. CONVERSION OF THE C-K EQUATIONS
Consider Model M which satisfies Condition 1. Let X bethe random process captured by M ’s original CTMC and P (cid:104) X = S i (cid:105) ( t ) denote the probability that at time t , X is instate S i . In the model’s C-K equations, one equation isconstructed for each state X experiences: P (cid:104) X = S i (cid:105) ( t ) d t = (cid:88) S j ( α,r (cid:104) α,Sj,Si (cid:105) ) −−−−−−−−→ S i , S j ∈ Y M r (cid:104) α,S j ,S i (cid:105) P (cid:104) X = S j (cid:105) ( t ) − (cid:88) S i ( α,r (cid:104) α,Si,Sj (cid:105) ) −−−−−−−−→ S j , S j ∈ Y M r (cid:104) α,S i ,S j (cid:105) P (cid:104) X = S i (cid:105) ( t ) (4)The probability of being in a sub-chain Y i at time t is equalto the sum of the probabilities of being in any of the statesin Y i : P (cid:104) X ⊂ Y i (cid:105) ( t ) = (cid:80) S i ∈ Y i P (cid:104) X = S i (cid:105) ( t ). To study theseprobability evolutions, we form one equation for each sub-chain Y i . P (cid:104) X ⊂ Y i (cid:105) ( t ) denotes the probability that at time t the system is in any of the states in Y i . d P (cid:104) X ⊂ Y i (cid:105) ( t ) d t = d (cid:80) S i ∈ Y i P (cid:104) X = S i (cid:105) ( t ) d t = (cid:88) S i ∈ Y i d P (cid:104) X = S i (cid:105) ( t ) d t (5)Using Eq. (4) in (5) we derive: (cid:88) S i ∈ Y i d P (cid:104) X = S i (cid:105) ( t ) d t = (cid:88) S i ∈ Y i (cid:16) − (cid:88) S i ( α,r (cid:104) α,Si,Sj (cid:105) ) −−−−−−−−→ S j , S j ∈ Y j ,α ∈ ( → A ∗ sl ( M ) ∪ → A ∗ s ( M )) P (cid:104) X = S i (cid:105) ( t ) × r (cid:104) α,S i ,S j (cid:105) + (cid:88) S k ( α,r (cid:104) α,Sk,Si (cid:105) ) −−−−−−−−→ S i , S k ∈ Y k ,α ∈ ( → A ∗ sl ( M ) ∪ → A ∗ s ( M )) P (cid:104) X = S k (cid:105) ( t ) × r (cid:104) α,S k ,S i (cid:105) (cid:17) (6) Considering the first term of (6) and Lemma (3.1): (cid:88) S i ∈ Y i (cid:16) (cid:88) S i ( α,r (cid:104) α,Si,Sj (cid:105) ) −−−−−−−−→ S j , S j ∈ Y j ,α ∈ ( → A ∗ sl ( M ) ∪ → A ∗ s ( M )) P (cid:104) X = S i (cid:105) ( t ) × r (cid:104) α,S i ,S j (cid:105) (cid:1) (7)= (cid:88) S i ∈ Y i (cid:0) (cid:88) S i ( α,r (cid:104) α,Si,Sj (cid:105) ) −−−−−−−−→ S j , S j ∈ Y j ,α ∈ ( → A ∗ sl ( M ) ∪ → A ∗ s ( M )) P (cid:104) X = S i (cid:105) ( t ) × r (cid:104) α,Y i ,Y j (cid:105) (cid:17) = (cid:88) S i ∈ Y i P (cid:104) X = S i (cid:105) ( t ) (cid:16) (cid:88) S i ( α,r (cid:104) α,Si,Sj (cid:105) ) −−−−−−−−→ S j , S j ∈ Y j ,α ∈ ( → A ∗ sl ( M ) ∪ → A ∗ s ( M )) r (cid:104) α,Y i ,Y j (cid:105) (cid:17) ≈ (cid:88) S i ∈ Y i P (cid:104) X = S i (cid:105) ( t ) (cid:88) Y j ∈ D r (cid:104) Y i ,Y j (cid:105) = (cid:88) Y j ∈ Y M r (cid:104) Y i ,Y j (cid:105) (cid:88) S i ∈ Y i P (cid:104) X = S i (cid:105) ( t )= (cid:88) Y j ∈ Y M r (cid:104) Y i ,Y j (cid:105) P (cid:104) X ⊂ Y i (cid:105) ( t ) . The approximation step is based on the assumption that theprobability of being in boundary states in nearly zero andtherefore, the same probability fluxes as of the non-boundaryones can be associated to them.Similarly, for the second term of Eq. (6): (cid:88) S i ∈ Y i (cid:16) (cid:88) S k ( α,r (cid:104) α,Sk,Si (cid:105) ) −−−−−−−−→ S i , S k ∈ Y k ,α ∈ ( → A ∗ sl ( M ) ∪ → A ∗ s ( M )) P (cid:104) X = S k (cid:105) ( t ) × r (cid:104) α,S k ,S i (cid:105) (cid:17) (8)= (cid:88) S i ∈ Y i (cid:16) (cid:88) S k ( α,r (cid:104) α,Yk,Yi (cid:105) ) −−−−−−−−→ S i , S k ∈ Y k ,α ∈ ( → A ∗ sl ( M ) ∪ → A ∗ s ( M )) P (cid:104) X = S k (cid:105) ( t ) × r (cid:104) α,S k ,S i (cid:105) (cid:17) ≈ (cid:88) S i ∈ Y i (cid:88) S k ( .,. ) −→ S i , S k ∈ Y k P (cid:104) X = S k (cid:105) ( t ) × r (cid:104) Y k ,Y i (cid:105) = (cid:88) S i ∈ Y i (cid:88) Y k ∈ Y M (cid:88) S k ( · , · ) −→ S i , S k ∈ Y k (cid:16) P (cid:104) X = S k (cid:105) ( t ) × r (cid:104) Y k ,Y i (cid:105) (cid:17) = (cid:88) Y k ∈ Y M (cid:88) S k ( · , · ) −→ S i , S k ∈ Y k (cid:16) P (cid:104) X = S k (cid:105) ( t ) × r (cid:104) Y k ,Y i (cid:105) (cid:17) ≈ (cid:88) Y k ∈ Y M r (cid:104) Y k ,Y i (cid:105) × (cid:88) S k ∈ Y k P (cid:104) X = S k (cid:105) ( t )= (cid:88) Y k ∈ Y M r (cid:104) Y k ,Y i (cid:105) × P (cid:104) X ⊂ Y k (cid:105) ( t )he first approximation step here is done through assuminga negligible probability for being in boundary states. Sub-stituting Eq. 7 and 8 in Eq. 6, we derive: ∀ Y i ∈ Y M , d P (cid:104) X ⊂ Y i (cid:105) ( t ) d t = − (cid:88) Y j ∈ Y M P (cid:104) X ⊂ Y i (cid:105) ( t ) × r ( Y i , Y j )+ (cid:88) Y k ∈ Y M P (cid:104) X ⊂ Y k (cid:105) ( t ) × r ( Y k , Y ii