=Paper= {{Paper |id=None |storemode=property |title=Stochastic Performance Analysis of Distributed Activities |pdfUrl=https://ceur-ws.org/Vol-1074/paper4.pdf |volume=Vol-1074 |dblpUrl=https://dblp.org/rec/conf/models/IsrarB13a }} ==Stochastic Performance Analysis of Distributed Activities== https://ceur-ws.org/Vol-1074/paper4.pdf
                  Stochastic Performance Analysis of Distributed Activities

                                             Toqeer Israr, Gregor v. Bochmann

                                 Department of Electrical Engineering and Computer Science
                                                   University of Ottawa,
                                  800 King Edward Ave. Ottawa Ontario K1N 6N5 Canada
                                    {tisra051, bochmann}@eecs.uottawa.ca



                        Abstract. This paper analyzes stochastic performance of a distributed global
                        activity, composed of sub-activities sequenced serially, probabilistically, or
                        concurrently. We provide general formulas with which we calculate the per-
                        formance of a composite activity based on the performance of the constituent
                        sub-activities and the control structure. To do this, we model each sub-activity
                        as a Partially Ordered Specification (POS), where each sub-activity is character-
                        ized by independent input events, dependent output events and the stochastic
                        minimum delays between these events. This technique allows two or more sub-
                        activities to be combined hierarchically. Proofs of correctness for these formu-
                        las are given and a simple example is discussed throughout the paper.

                        Keywords: software performance, stochastic, modeling, partial order, collabo-
                        rations, UML Activity Diagrams, distributed services, web services


                 1      Introduction

                      Many workflows consist of distributed systems, with multiple communicating
                 components running on different processors or in different processes. For example, a
                 login workflow may start with a request from a Web Client that invokes a process in a
                 Retailer Server, which in turn makes calls to some “third party” Servers – components
                 involved would be the Client, Retailer Server and the “third party” Servers.
                      A number of models have been employed during the system design and devel-
                 opment process of such systems. These modeling paradigms include UML Activity
                 Diagram [5], UML Activities [5], Use Case Maps, the Process Definition Language,
                 Business Process Modeling Language, Business Process Execution Language, Web
                 Services Choreography Description Language, and Petri Nets. Most, if not all, of the
                 mentioned notations can potentially be decomposed in sub-activities and further sub-
                 sub-activities. These notations assume a single system component to be allocated to a
                 basic activity in the decomposition. However, this does not hold true anymore as
                 even the most basic activity may involve several components. Clearly, there is a need
                 to model when a component starts and ends its execution in a given workflow.
                      With the interaction of multiple components in a given workflow (activity), it is
                 imperative sometimes to be able to calculate the performance of the components i.e.
                 the delay from the beginning to the end of a component’s participation.




Proceedings of NiM-ALP 2013                                    24
                       To satisfy these needs to model activities, Bochmann et al. in [1] and [2] have
                 proposed a new modeling paradigm based on UML Activities and their orderings
                 whilst we represented this model in [3] as a partially ordered set of inputs and outputs,
                 called Partially Ordered Specification.
                    While the aforementioned paradigms model the activities and analyze the correct-
                 ness of the required communication protocols in [1] and [2], we analyzed the per-
                 formance of such activities in [3]. Using partial orders, we introduced a Partially
                 Ordered Specification (POS) to model the temporal relationships among the sub-
                 activities within a given activity. Inspired by Performance Evaluation and Review
                 Technique (PERT), with POS, we calculate the fixed completion time for each com-
                 ponent (actor) of a global activity based on fixed performance characteristics of the
                 sub-activities.
                    In this paper, we extend this work by assuming that delays are distributions, and
                 analyze the performance of a global scenario based on the stochastic performance
                 properties of the constituent sub-activities.
                    We start off by reviewing the composition rules for stochastic distributions in Sec-
                 tion 2. In Section 3, we discuss the modeling paradigm based on activities as well as
                 Partial Order Systems. We also describe the rules of strong and weak sequencing as
                 well as provide performance analysis for fixed delays from [3]. In Section 4, we pro-
                 pose formulas and provide proofs for calculating the performance of composite activi-
                 ties with distributions.


                 2      Composition of Distributions

                     Graph-based models are common modeling paradigms to represent system behav-
                 iours as UML Activities. An Activity is comprised of actions (nodes) and sequencing
                 operators (edges) such as sequence, alternative, concurrency, and loops to define the
                 relationship between these actions, as illustrated in Fig 1. These activities may have
                 constant or distribution time delays.
                    We analyzed in [3] the performance of a global activity, based on fixed time delays
                 of constituent sub-activities. However, when activity delays are statistically varying
                 and characterized by a time distribution, the analysis of a graph model can be quiet
                 challenging. If an event-precedence graph with random activity times is in se-
                 ries/parallel/alternative in nature, the distribution function of the completion of the
                 graph can be calculated by combining the distribution functions of the individual
                 activities using multiplication and convolution [6]. However, the following initial
                 assumptions are made:
                      Parallel activities do not need to have identical distributions.
                      Infinite resources are available for the activities and hence there are no re-
                         source contention issues.
                    We assume the duration of an activity, Ai, has an associated delay distribution
                 (probability density function) of fi(x). The cumulative distributive function (CDF) for
                 the delay of activity Ai is then defined by: Fi(t) =        i(x) dx
                    The function Fi(t), associated with each activity Ai, represents the probability that
                 that activity Ai finishes by time t. While each sub-activity is assigned a cumulative




Proceedings of NiM-ALP 2013                                 25
                 distribution function (CDF) for the completion time of the activity it models, these
                 sub-activities may be composed to form a composite activity with a resultant CDF for
                 the completion time of the entire set of considered activities.
                    We consider activities composed with the following 3 operators: series, alternative
                 and concurrency. We assume all activities start with a single activity, called an initial
                 activity. Activities are in series when a single activity succeeds the initial activity
                 such as shown in Figure 1a. Alternate activities may exist when a single activity may
                 execute amongst multiple activities such as shown in Figure 1b. Concurrent activi-
                 ties exist when multiple activities may execute simultaneously succeeding the initial
                 activity.
                    Various compositions of these sub-activities A1...An, each activity Ai with inde-
                 pendent CDF Fi(t) can be abstracted by a global activity G with a CDF, FG(t).
                                                          A1 F1(t)                                A1 F1(t)
                                                    p1
                       F1(t)   A1
                                                     p2
                                            S0            A2 F2(t)                   A0           A2 F2(t)

                       F2(t)   A2                   pn    ...                                     ...

                                                          An F (t)                                An F (t)
                                                              n                                       n

                         a)    series            b) alternative                           c)   concurrency
                                                  Fig. 1. Various Operators


                 2.1      Series
                 If any two sub-activities, Aj and Ak, with CDF of Fj(t) and Fk(t) are combined in series
                 such as shown in Figure 1a, the CDF of the combined activities is [6]:
                                                 FSUM(t) = Fj(t) ⊗ Fk(t)                                     (1)
                 where ⊗ represents convolution, defined as:
                                             Fj(t) ⊗ Fk(t) =         Fk( t – x ) dFj(x)                      (2)


                 2.2      Alternatives
                    If there is a probability pi for the execution of activity Ai, such as in Figure 1b, the
                 model represents a scenario with multiple possible paths. Then the distribution for
                 the global activity G is [6]:
                                                  FG(t) = ∑     i(t) Fi(t)                            (3)


                 2.3       Concurrency
                    If the sub-activities in the global activity G execute concurrently, such as in Figure
                 1c, then the following two cases can be considered.
                    Suppose there is a parallel search for an item in a distributed database, where the
                 earliest concurrent search to finish, will terminate the overall search. We would be




Proceedings of NiM-ALP 2013                                     26
                 interested in the time it would take for the earliest search to finish. A scenario with
                 the earliest or “minimum” CDF of a global activity G composed of parallel sub-
                 activities Ai, can be modeled by [6]:          minFG(t)= 1 – ∏       1 Fi(t))        (4)
                    Now suppose there are parallel sub-activities, Ai, composing the global activity G
                 again, but the completion of this global activity G requires all of the sub-activities to
                 complete. This can be accomplished by calculating the delay of the activity with the
                 maximum time delay by [6]:                     maxFG(t)= ∏      Fi(t)                (5)
                 Note: For the activity distributions in (4) and (5), the Fi(t) need not to be the same for
                 different i.


                 3      Modeling Distributed Activities
                 Based on [2], we introduced in [3] a Partially Ordered Specification (POS), which
                 allows modeling of a UML activity with a partial ordered set of input and output
                 events, as shown in Figure 2. This modeling paradigm shows the dependencies be-
                 tween various events and is used in analyzing performance of activities with various
                 operators.
                    For a given activity, we suggested
                 the input and the output of each in-                            R1           R2
                                                                  initiating                         input
                 volved role to be modeled by a starting          event         i1             i2    event
                 and an ending event [3]. These events,
                 belonging to various components, form           direct                             indirect
                 a partially ordered set, where a causal         dependency                         dependency
                 relationship may exists between some                        o1                  o2
                 of these events, shown by arcs “” in                         terminating events
                 the figure. The ending                        Figure 2 – Activity represent as a POS
                 events are not ordered relative to one another, but each ending event has a depend-
                 ency on its corresponding starting event (local sequencing). An initiating event, be-
                 longing to an initiating role (represented by dark circles “●”), is a specialized starting
                 event in this partially ordered set of events, for which there are no other events in that
                 set which precedes that event. Similar holds for the terminating events corresponding
                 to terminating roles.
                     Figure 2 illustrates an activity, with input events i1 and i2 and output events o1 and
                 o2. As i1 and o1 are input and output events of the same role R1, o1 must occur after i1
                 due to local sequencing. Furthermore, since i1 is the only initiating event, all events in
                 the activity, including, i2, must occur after i1. Due to the relationship i1  i2 and i2 
                 o2, there is an indirect dependency from i1 to o2, shown by the dashed arrow “-->.”
                 Terminating events o1 and o2 are not ordered and may occur in parallel.


                 3.1    General Formulas for Standard Sequencing Operators with Fixed Delays
                    We introduced Nominal Execution Time Delay (NETD) written as Δixom, between
                 input ix and output om, where NETD is the the delay between the time instance of the
                 occurrence of input event ix and the occurrence of a dependent output event om, pro-
                 vided all the other events on which om depends have occurred long time ago [3].




Proceedings of NiM-ALP 2013                                   27
                     Based on NETD, we derived the following general performance formula which can
                 then be applied to sequencing operators of sub-activities to yield the performance
                 metrics of a global activity:
                                                 tom = max x (tix + Δixom)                          (6)
                 where tom is the time of the output event om, tix is the time of the input event ix on
                 which om depends, and Δixom is the NETD from input event ix to the output event om.
                     We assumed shared resources are not involved in these activities. Furthermore, we
                 assumed that there is a dependency, and hence a delay, from each input to each output
                 of an activity.
                     An activity may be comprised of sub-activities sequenced with strong or weak se-
                 quencing, parallel operators, alternatives and interruptions. In this paper, we limit our
                 scope to strong and weak sequencing.
                     Strong sequencing, sometimes called global sequencing, between two activities A1
                 and A2 means that all sub-activities of A1 must be completed before any sub-activity
                 of A2 may start. In contrast, weak sequencing between A1 and A2 (only) means that
                 each system component locally applies sequencing to the local sub-activities of A1
                 and A2, that is, a component may start with sub-activities that belong to A2 as soon as
                 it has completed all its local sub-activities that are part of A1. Strong sequencing im-
                 plies weak sequencing, but not inversely. In particular, if a component is not involved
                 in A1, it may start with sub-activities of A2 even before A1 begins its execution.
                     A strong sequence is modeled in Figure 3.0 between two sub-activities, A and B,
                 and as discussed, all the initiating events in activity B may occur, only if all the ter-
                 minating events of the previous activity, activity A, have occurred. This is repre-
                 sented by a Final Action event - when all the terminating events have occurred, de-
                 noted by AOF (Final Output of sub-activity A). The time of all the initiating events
                 for the next activity, activity B, is the time of the Final Action event of the previous
                 activity, activity A.
                         Strong Sequence                         POS Equivalent
                                                                  AI1       AIk

                                A                                       A            ΔAIxAOy
                                                                                                 ΔAIxAOF
                                                                 AO1          AOk'

                                 s                                          AOF

                                                              BI1             BIh

                                B                                       B              ΔBIsBOm

                                                                 BO1         BOh'

                                                 Fig. 2. Strong Sequencing

                   We also proposed and proved for two sub-activities, sub-activity A with k inputs
                 and k’ outputs and sub-activity B with h inputs and h’ outputs, that are strongly se-
                 quenced, with known NETD for each sub-activity (ΔAIxAOy and ΔBIsBOm), that the
                 NETD for the composite activity (ΔAIxBOm) is given by the formula:




Proceedings of NiM-ALP 2013                                 28
                                  ΔAIxBOm = maxy=1..k’(ΔAIxAOy) + maxs=1..h(ΔBIsBOm)                  (7)

                       Weak Sequence                       POS Equivalent

                                                          AIc    AIc’       AIa AIa’

                              A                                         A                  FAIxAOy
                                                        AOc AIc’        AOa       AOa’

                              w                                                                      FAIxBOm

                                                         BIc BIc’           BIb BIb’

                              B                                         B                  FBIgBOm

                                                         BOc     BOc' BOb BOb’


                                                 Fig. 3. Weak Sequencing

                 Similarly for two activities A and B weakly sequenced which have roles c..c’ com-
                 mon to both A and B, it was shown that the NETD for the composition is:
                                       ΔAIxBOm = maxs=c..c’ (ΔAIxAOs + ΔBisBOm )                      (8)


                 4      General Formulas for Standard Sequencing Operators with
                        Delay Distributions
                    So far we somewhat summarized the modeling and performance analysis of com-
                 posite activities as described in [3]. The remainder of this paper is new material. In
                 the following, we analyze the performance of activities composed of strong and weak
                 sequences where the NETDs of activities are characterized by time distributions.


                 4.1    Strong Sequence
                 Proposition:
                 If two sub-activities, sub-activity A with k inputs and k’ outputs and sub-activity B
                 with h inputs and h’ outputs, are strongly sequenced and the NETD for each sub-
                 activity, ΔAixAOy and ΔBIsBOm, are known and characterized by cumulative distributive
                 functions (CDF) FAixAOy(t) and FBIsBOm(t), respectively, then the CDF, FAIxBOm(t), of
                 the NETD for the composite activity is:

                                   FAIxBOm(t) = ∏ ´ FAixAOy(t) ⊗ ∏            FBIsBOm(t)              (9)

                 Proof:
                    Figure 2 shows strong sequencing between two activities A and B and its resultant




Proceedings of NiM-ALP 2013                                 29
                 POS. We assume FAixAOy(t) and FBIsBOm(t) are known, either given or measured using
                 the testing methodology described in [3].
                    The delay from the Final Action event (AOF) relative to the input event x of A, is
                 the maximum of all the paths’ delays from event x to event AOF:
                                            ΔAIxAOF = maxy=1..k’(ΔAIxAOy)                            (10)
                 Since the maximum CDF is required of all the delays involved, we use (5) and obtain:

                                             FAIxAOF(t) = ∏        FAixAOy(t)                        (11)

                 The NETD for activity B for an input s to an output m is ΔBIsBOm. To calculate the
                 maximum delay to produce the output m, the maximum is taken over all the given
                 inputs of activity B:
                                             ΔBIjBOm = maxs=1..h(ΔBIsBOm)                            (12)
                 Using (5), this formulas leads to:

                                             FBIjBOm(t) = ∏        FBIsBOm(t)                        (13)
                 The delays for activity A and B are represented by (11) and (13), respectively. Since
                 activity A and activity B are in sequence, using (1), the total time delay FAIxBOM is the
                 convolution of FAIxAOF(t) and FBIjBOm(t):
                                         FAIxBOM(t)= FAIxAOF(t) ⊗ FBIjBOm(t)                         (14)
                                         =∏     FAixAOy(t) ⊗ ∏ FBIsBOm(t)                            (15)


                 4.2    Weak Sequence
                     Weak sequencing between two activities A and B is illustrated in Figure 3. It is as-
                 sumed that roles c…c’ are participating in both activities A and B, while roles a…a’
                 participate only in activity A and not in B and roles b…b’ participate only in activity
                 B and not in A.
                     To calculate the NETD between any two events, we assume all the remaining in-
                 put events have occurred long time ago and any executions precipitated by these input
                 events would have also completed long time ago as discussed in the testing methodol-
                 ogy of [3]. Roles a…a’ are involved only in activity A and no dependency exist from
                 activity B to the output of roles a…a’. Hence, the NETD for roles a…a’ is that of
                 activity A, FAIxAOy. Similar is true for activity B.
                     We are interested in the NETD between the output events of activity B relative to
                 the input events of activity A, given the NETDs are delay distributions.
                 Proposition:
                     If two activities, A and B, are weakly sequenced then the NETD between the out-
                 put events of activity B relative to the input events of activity A is:
                                        FAIxBOm(t) = ∏ ´ FAIxAOs(t) ⊗ FBisBOm(t))                    (16)
                 Proof:
                     The NETD of activity A and B is ΔAIxAOy and ΔBigBOm, respectively, which have
                 the CDFs FAIxAOy(t) and FBIgBOm(t), respectively.




Proceedings of NiM-ALP 2013                                   30
                     From the right side of Figure 3, it’s evident that the NETD of the composed activ-
                 ity is the maximum of the NETD of both activities A and B in series with the common
                 role s, i.e. s being the ending role of activity A and also the starting role of activity B.
                     Activity A, with input event x in series with activity B with output event m, is
                 represented by ΔAIxBOm with the CDF FAIxBOm(t). As two activities are in series, equa-
                 tion (1) can be used to calculate the NETD for a single s:

                                        FsingleAIxBOm(t) = FAIxAOs(t) ⊗ FBisBOm(t)                       (17)
                 And to take the maximum over the inputs s=c…c’, we obtain:

                                      FAIxBOm(t) = ∏ ´    FAIxAOs(t) ⊗ FBisBOm(t) )                      (18)


                 5      Conclusion
                     In this paper, we have considered the delay distributions of composite activities
                 sequenced with strong and weak sequencing. Similar to analysis done in [4] for fixed
                 delays, we plan to consider other composition operators such as parallel, alternatives,
                 loops, etc for delay distributions. We have implemented a tool that takes as input an
                 Activity Diagram including sub-activities with defined performance characteristics
                 and provides as output the NETDs of the global collaboration for fixed delays. We
                 plan on extending this tool to support delay distributions.
                     We believe that this approach to performance modeling of distributed systems is
                 useful in many fields of application, including distributed work flow management
                 systems, service composition for communication services, e-commerce applications,
                 and Web Services.


                 References
                  1. Bochmann, G.V. Deriving component designs from global requirements, in: Proceedings
                     on International Workshop on Model Based Architecting and Construction of Embedded
                     Systems (ACES), Toulouse, 2008, pp 55-69
                  2. Castejón, H.N, Bræk, R., and Bochmann, G. v., “Realizability of Activity-based Service
                     Specifications”. Journal of Software and Systems Modeling(to be published), 2011
                  3. Israr, Bochmann, Performance Modeling of Distributed Activity Services, Proceedings of
                     the 2nd ACM/SPEC International Conference on Performance Engineering, Karlsruhe,
                     Germany, 2011, pp 475-480
                  4. Israr, Bochmann, Performance Modeling of Distributed Collaboration Services with Inde-
                     pendent Inputs/Outputs, Proceedings of 5th International Workshop on Non-functional
                     Properties in Modeling: Analysis, Languages, Processes, Miami, USA, 2013
                  5. OMG, Unified Modeling Language (UML), Version 2.1.1, February 2007
                  6. R.A. Sahner and K.S. Trivedi, Performance and reliability analysis using directed acyclic
                     graphs. IEEE Trans. Software Eng., (1987), pp. 1105–1114.




Proceedings of NiM-ALP 2013                                   31