Skip to main content

Compositional Safe Approximation of Response Time Distribution of Complex Workflows

  • Conference paper
  • First Online:
Quantitative Evaluation of Systems (QEST 2021)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12846))

Included in the following conference series:

Abstract

We propose a compositional technique for efficient evaluation of the cumulative distribution function of the response time of complex workflows, consisting of activities with generally distributed stochastic durations composed through sequence, choice/merge, split/join, and repetition blocks, with unbalanced split and join constructs that break the structure of well-formed nesting. Workflows are specified using a formalism defined in terms of stochastic Petri nets, that permits decomposition of the model into a hierarchy of sub-workflows with positively correlated response times, which guarantees a stochastically ordered approximation of the end-to-end response time when intermediate results are approximated by stochastically ordered distributions and when dependencies are simplified by replicating activities appearing in multiple sub-workflows. This opens the way to an efficient hierarchical solution that manages complex models by recursive application of Markov regenerative analysis and numerical composition of monovariate distributions.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Van der Aalst, W.M.: The application of Petri nets to workflow management. J. Circ. Syst. Comput. 8(01), 21–66 (1998)

    Article  Google Scholar 

  2. Arnold, F., Hermanns, H., Pulungan, R., Stoelinga, M.: Time-dependent analysis of attacks. In: Abadi, M., Kremer, S. (eds.) POST 2014. LNCS, vol. 8414, pp. 285–305. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54792-8_16

    Chapter  Google Scholar 

  3. Baccelli, F., Makowski, A.M.: Multidimensional stochastic ordering and associated random variables. Oper. Res. 37(3), 478–487 (1989)

    Article  MathSciNet  Google Scholar 

  4. Berthomieu, B., Diaz, M.: Modeling and verification of time dependent systems using time Petri nets. IEEE Trans. Softw. Eng. 17(3), 259–273 (1991)

    Article  MathSciNet  Google Scholar 

  5. Biagi, M., Carnevali, L., Paolieri, M., Papini, T., Vicario, E.: Exploiting non-deterministic analysis in the integration of transient solution techniques for Markov regenerative processes. In: Bertrand, N., Bortolussi, L. (eds.) QEST 2017. LNCS, vol. 10503, pp. 20–35. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66335-7_2

    Chapter  MATH  Google Scholar 

  6. Bobbio, A., Telek, M.: Markov regenerative SPN with non-overlapping activity cycles. In: Proceedings of International Computer Performance and Dependability Symposium, pp. 124–133 (1995)

    Google Scholar 

  7. Bruneo, D., Distefano, S., Longo, F., Scarpa, M.: QoS assessment of WS-BPEL processes through non-Markovian stochastic Petri nets. In: Proceedings of IPDPS, pp. 1–12. IEEE (2010)

    Google Scholar 

  8. Canfora, G., Di Penta, M., Esposito, R., Villani, M.L.: QoS-aware replanning of composite web services. In: Proceedings of IEEE International Conference on Web Services, pp. 121–129. IEEE (2005)

    Google Scholar 

  9. Carnevali, L., Grassi, L., Vicario, E.: State-density functions over DBM domains in the analysis of non-Markovian models. IEEE Trans. Soft. Eng. 35(2), 178–194 (2009)

    Article  Google Scholar 

  10. Carnevali, L., Reali, R., Vicario, E.: Compositional evaluation of stochastic workflows for response time analysis of composite web services. In: Proceedings of the ACM/SPEC International Conference on Performance Engineering, pp. 177–188 (2021)

    Google Scholar 

  11. Ciardo, G., German, R., Lindemann, C.: A characterization of the stochastic process underlying a stochastic Petri net. IEEE Trans. Soft. Eng. 20(7), 506–515 (1994)

    Article  Google Scholar 

  12. Curbera, F., et al.: Business process execution language for web services (2002)

    Google Scholar 

  13. Dill, D.L.: Timing assumptions and verification of finite-state concurrent systems. In: Sifakis, J. (ed.) CAV 1989. LNCS, vol. 407, pp. 197–212. Springer, Heidelberg (1990). https://doi.org/10.1007/3-540-52148-8_17

    Chapter  Google Scholar 

  14. Gias, A.U., van Hoorn, A., Zhu, L., Casale, G., Düllmann, T.F., Wurster, M.: Performance engineering for microservices and serverless applications: the radon approach. In: Companion of the ACM/SPEC International Conference on Performance Engineering, pp. 46–49 (2020)

    Google Scholar 

  15. Horváth, A., Paolieri, M., Ridi, L., Vicario, E.: Transient analysis of non-Markovian models using stochastic state classes. Perf. Eval. 69(7–8), 315–335 (2012)

    Article  Google Scholar 

  16. Jensen, E.D., Locke, C.D., Tokuda, H.: A time-driven scheduling model for real-time operating systems. In: Rtss, vol. 85, pp. 112–122 (1985)

    Google Scholar 

  17. Johnson, R., Pearson, D., Pingali, K.: The program structure tree: computing control regions in linear time. In: ACM Conference on Programming Language Design and Implementation (PLDI), pp. 171–185. ACM (1994)

    Google Scholar 

  18. de Kok, T.G., Fransoo, J.C.: Planning supply chain operations: definition and comparison of planning concepts. Handb. Oper. Res. Manage. Sci. 11, 597–675 (2003)

    Google Scholar 

  19. Korenčiak, L., Krčál, J., Řehák, V.: Dealing with zero density using piecewise phase-type approximation. In: Horváth, A., Wolter, K. (eds.) EPEW 2014. LNCS, vol. 8721, pp. 119–134. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-10885-8_9

    Chapter  Google Scholar 

  20. Kulkarni, V.: Modeling and Analysis of Stochastic Systems. Chapman & Hall (1995)

    Google Scholar 

  21. Lin, J.: Divergence measures based on the Shannon entropy. IEEE Trans. Inf. Theory 37(1), 145–151 (1991)

    Article  MathSciNet  Google Scholar 

  22. Liu, Y., Zheng, Z., Zhang, J.: Markov model of web services for their performance based on phase-type expansion. In: Proceedings of DASC-PICOM-CBDCOM-CYBERSCITECH, pp. 699–704. IEEE (2019)

    Google Scholar 

  23. Nielsen, F.: On a generalization of the Jensen-Shannon divergence and the JS-symmetrization of distances relying on abstract means. arXiv preprint arXiv:1904.04017 (2019)

  24. Paolieri, M., Biagi, M., Carnevali, L., Vicario, E.: The ORIS tool: quantitative evaluation of non-Markovian systems. IEEE Trans. Soft. Eng. 47, 1211–1225 (2021)

    Article  Google Scholar 

  25. Paolieri, M., Horváth, A., Vicario, E.: Probabilistic model checking of regenerative concurrent systems. IEEE Trans. Softw. Eng. 42(2), 153–169 (2016)

    Article  Google Scholar 

  26. Pesu, T., Kettunen, J., Knottenbelt, W.J., Wolter, K.: Three-way optimisation of response time, subtask dispersion and energy consumption in split-merge systems. In: Proceedings of VALUETOOLS 2017, pp. 244–251. ACM (2017)

    Google Scholar 

  27. Rahman, J., Lama, P.: Predicting the end-to-end tail latency of containerized microservices in the cloud. In: 2019 IEEE International Conference on Cloud Engineering (IC2E), pp. 200–210. IEEE (2019)

    Google Scholar 

  28. Rogge-Solti, A., Weske, M.: Prediction of business process durations using non-Markovian stochastic Petri nets. Inf. Syst. 54, 1–14 (2015)

    Article  Google Scholar 

  29. Russell, N., Ter Hofstede, A.H., Van Der Aalst, W.M., Mulyar, N.: Workflow control-flow patterns: a revised view. BPM Center Report BPM-06-22, pp. 06–22. BPMcenter.org (2006)

    Google Scholar 

  30. Sassoli, L., Vicario, E.: Close form derivation of state-density functions over DBM domains in the analysis of non-Markovian models. In: Proceedings of International Conference on Quantitative Evaluation of Systems. pp. 59–68. IEEE (2007)

    Google Scholar 

  31. SIRIO Library (2020). https://github.com/oris-tool/sirio

  32. Trivedi, K.S., Sahner, R.: Sharpe at the age of twenty two. ACM SIGMETRICS Perform. Eval. Rev. 36(4), 52–57 (2009)

    Article  Google Scholar 

  33. Van Eyk, E., Iosup, A., Abad, C.L., Grohmann, J., Eismann, S.: A SPEC RG cloud group’s vision on the performance challenges of FaaS cloud architectures. In: Companion of the 2018 ACM/SPEC International Conference on Performance Engineering, pp. 21–24 (2018)

    Google Scholar 

  34. Vanhatalo, J., Völzer, H., Koehler, J.: The refined process structure tree. Data Knowl. Eng. 68(9), 793–818 (2009)

    Article  Google Scholar 

  35. Vicario, E.: Static analysis and dynamic steering of time-dependent systems. IEEE Trans. Softw. Eng. 27(8), 728–748 (2001)

    Article  Google Scholar 

  36. Zhang, Y., Zheng, Z., Lyu, M.R.: WSPred: a time-aware personalized QoS prediction framework for Web services. In: IEEE International Symposium on Software Reliability Engineering, pp. 210–219. IEEE (2011)

    Google Scholar 

  37. Zheng, Z., Trivedi, K.S., Qiu, K., Xia, R.: Semi-Markov models of composite web services for their performance, reliability and bottlenecks. IEEE Trans. Serv. Comput. 10(3), 448–460 (2015)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Riccardo Reali .

Editor information

Editors and Affiliations

6 Appendix

6 Appendix

We recall syntax and semantics of STPNs (Sect. 6.1) and numerical analysis of well-structured workflows (Sect. 6.2), and we report theorem proofs (Sect. 6.3) and a graphical representation of analysis heuristics (Sect. 6.4).

1.1 6.1 Formal Syntax and Semantics of STPNs

Syntax. An STPN is a tuple \(\langle P,T,A^-,A^+,EFT,LFT,F,W,Z\rangle \) where: P and T are disjoint sets of places and transitions, respectively; \(A^-\subseteq P\times T\) and \(A^+\subseteq T\times P\) are pre-condition and post-condition relations, respectively; EFT and LFT associate each transition \(t \in T\) with an earliest firing time \(EFT(t) \in \mathbb {Q}_{\geqslant 0}\) and a latest firing time \(LFT(t) \in \mathbb {Q}_{\geqslant 0}\cup \{\infty \}\) such that \(EFT(t) \leqslant LFT(t)\); F, W, and Z associate each transition \(t \in T\) with a Cumulative Distribution Function (CDF) \(F_t\) for its duration \(\tau (t) \in [EFT(t), LFT(t)]\) (i.e., \(F_t(x) = P\{\tau (t) \leqslant x\}\), with \(F_{t}(x) = 0\) for \(x<EFT(t)\) and \(F_{t}(x) = 1\) for \(x>LFT(t)\)), a weight \(W(t)\in \mathbb {R}_{> 0}\), and a priority \(Z(t)\in \mathbb {N}\), respectively.

As usual in stochastic Petri nets, a transition t is called immediate (IMM) if \(EFT(t)=LFT(t)=0\) and timed otherwise; a timed transition t is called exponential (EXP) if \(F_{t}(x) = 1-\exp (-\lambda x)\) for some rate \(\lambda \in {\mathbb R}_{>0}\), or general (GEN) otherwise. For each GEN transition t, we assume that \(F_{t}\) can be expressed as the integral function of a probability density function (PDF) \(f_{t}\), i.e., \(F_{t}(x) = \int _0^x f_{t}(y) \, dy\). Similarly, an IMM transition \(t\in T\) is associated with a generalized PDF represented by the Dirac impulse function \(f_{t}(y)=\delta (y-\overline{y})\) with \(\overline{y}=EFT(t)=LFT(t)\). A place \(p \in P\) is called an input or output place for a transition \(t \in T\) if \((p,t) \in A^-\) or \((t,p) \in A^+\), respectively.

Semantics. The state of an STPN is a pair \(s=\langle m, \tau \rangle \), where \(m: P \rightarrow \mathbb {N}\) is a marking assigning a number of tokens to each place and \(\tau : T \rightarrow \mathbb {R}_{\geqslant 0}\) associates each transition with a time-to-fire. A transition is enabled by a marking if each of its input places contains at least one token. The next transition t to fire in a state s is selected from the set E of enabled transitions having time-to-fire equal to zero and maximum priority with probability \(W(t) / \sum _{t_i \in E}W(t_i)\). When t fires, s is replaced with \(s' = \langle m', \tau ' \rangle \), where: \(m'\) is derived from m by removing a token from each input place of t, yielding an intermediate marking \(m_{\mathrm {tmp}}\), and adding a token to each output place of t; \(\tau '\) is derived from \(\tau \) by: i) reducing the time-to-fire of each persistent transition (i.e., enabled by m, \(m_\mathrm {tmp}\) and \(m'\)) by the time elapsed in s; ii) sampling the time-to-fire of each newly-enabled transition \(t_n\) (i.e., enabled by \(m'\) but not by \(m_\mathrm {tmp}\)) according to \(F_{t_n}\); and, iii) removing the time-to-fire of each disabled transition (i.e., enabled by m but not by \(m'\)).

1.2 6.2 Numerical Analysis of Well-Structured Workflows

We derive the numerical form of the response time CDF of a block by combining bottom-up the numerical forms of the response time CDFs of the blocks that it contains, provided that the block has a well-formed structure, i.e., it is not a DAG block and it does not contain DAG blocks, and that it does not contain REPEAT blocks. Specifically, given n blocks \(b_1, \ldots , b_n\) with response time CDF \(\varPhi _1(t), \ldots , \varPhi _n(t)\) and PDF \(\phi _1(t), \ldots , \phi _n(t)\), respectively:

  • the response time CDF \(\varPhi _{\mathrm {seq}}(t)\) of a SEQ block made of \(b_1, \ldots , b_n\) is derived by performing subsequent convolutions of \(\phi _1(t),\ldots ,\phi _n(t)\) \(\forall \,t\in [0,t_{\mathrm {max}}]\):

    $$\begin{aligned} \begin{array}{l} \varPhi _{\mathrm {seq}}(t)=\varPhi ^{1,n}(t) \\ \\ \varPhi ^{1,i}(t)=\displaystyle \int _0^t \int _0^\tau \phi ^{1,i-1}(x) \, \phi _i(\tau -x) \, dx \, d\tau ~\forall \,i\in \{2,\ldots ,n\} \\ \\ \phi ^{1,i-1}(t)=\displaystyle \frac{d}{dt}\varPhi ^{1,i-1}(t)~~\forall \,i\in \{2,\ldots ,n-1\},~~\phi ^{1,1}(t)=\phi _1(t) \end{array} \end{aligned}$$
    (2)
  • the response time CDF \(\varPhi _{\mathrm {and}}(t)\) of an AND block made of \(b_1, \ldots , b_n\) is the CDF of the maximum among the response times of \(b_1,\ldots ,b_n\), which is derived as the product of \(\varPhi _1(t),\ldots ,\varPhi _n(t)\) \(\forall \,t\in [0,t_{\mathrm {max}}]\) due to the fact that the response times of \(b_1,\ldots ,b_n\) are independent random variables:

    $$\begin{aligned} \varPhi _{\mathrm {and}}(t)=\displaystyle \varPhi _1(t) \cdot \ldots \cdot \varPhi _n(t) \end{aligned}$$
    (3)
  • the response time CDF \(\varPhi _{\mathrm {xor}}(t)\) of an XOR block made of \(b_1, \ldots , b_n\) is derived as the weighted sum of \(\varPhi _1(t), \ldots , \varPhi _n(t)\) \(\forall \,t\in [0,t_{\mathrm {max}}]\):

    $$\begin{aligned} \varPhi _{\mathrm {xor}}(t)=\displaystyle p_1 \, \varPhi _1(t) + \ldots + p_n \, \varPhi _n(t) \end{aligned}$$
    (4)

1.3 6.3 Theorem Proofs

Proof of Lemma 2. By construction, \(\hat{F}(x) \leqslant F(x)\) \(\forall \,x\in D \,\cap \, [d,\infty )\), and \(\hat{F}(x)=0\) \(\forall \,x<d\). Starting from the point with abscissa a, the PDF of F(x) may be either increasing or decreasing: If the PDF is increasing, then it will reach a maximum point that comprises an inflection point for the CDF F(x), where the concavity changes from upward to downward (see Fig. 5b). By construction, the tangent line to the inflection point intersects the x-axis in a point whose abscissa d is larger than a, otherwise the CDF should have downward concavity before the inflection point, which contradicts the hypothesis. Otherwise (i.e., if the PDF is decreasing), F(x) has downward concavity (see Fig. 5a), d is selected equal to a, and stochastic order is verified for \(\forall \,x\in D \,\cap \, [a,\infty )\). Therefore, \(\hat{X} \geqslant _{st} X\).    \(\square \)

Fig. 5.
figure 5

Stochastic upper bound CDF: concavity of approximated CDF.

Proof of Lemma 3. The duration of the sub-workflow associated with any node m (SEQ, AND, XOR, REPEAT, DAG) is a monotone nondecreasing function of the durations of the sub-workflows associated with its children; respectively, the sum (SEQ), max (AND), random mixture (XOR), series (REPEAT), max over all paths from the initial to the final node (DAG). By definition of stochastic order, if a child n is replaced with \(n'\) s.t. \(T(n) \leqslant _{st} T(n')\), then \(T(m) \leqslant _{st} T(m')\) for the new node \(m'\). By recursion, \(T(n_0) \leqslant _{st} T(n'_0)\) for the new root \(n'_0\).    \(\square \)

Proof of Lemma 4. Since DAG edges denote AND-join dependencies, the response time of a vertex v is \(T(v) = D(v) + \max (T(k_1), \dots , T(k_n))\) where D(v) is the duration of the block associated with v and \(T(k_1), \dots , T(k_n)\) are the response times of its predecessors. By visiting the vertices of G in topological order, we can evaluate the response time \(T(v_F)\) of the DAG as an expression combining nonnegative block durations \(D(v) \;\forall v\in V\) through monotone nondecreasing operators (i.e., summation and maximum). The intermediate values of this expression obtained during the visit are the response times \(T(\cdot )\) of the nodes of G, which, by construction, are positively correlated. In the evaluation of \(T(v_F')\) in \(G'\), the random variable T(k) of each node \(k \in K\) is replaced with the independent replica \(T(k') \sim T(k)\). Then, by Lemma 1, we obtain \(T(v_F') \geqslant _{st} T(v_F)\).    \(\square \)

1.4 6.4 Analysis Actions

Figure 6 illustrates the application of the sequence of actions 3 and 4 on the structure tree presented in Fig. 1b. In particular, in Fig. 6a, a red and a green box identify two sub-structures on which actions 3 and 4 are applied, respectively:

  • Action 3: is applied as follows: some action (depending on the considered analysis heuristic) is used to evaluate the response time of the sub-structure in the red box, which is then replaced with an activity block \(T_\text {new}\) associated with the evaluated response time CDF (see Fig. 6b).

  • Action 4 evaluates the sub-structure in the green box independently of the rest of the DAG: the blocks that are shared with the rest of the DAG (i.e., block R) are replicated (i.e., block \(R_\text {bis}\) is added), also adding two fictitious zero-duration nodes \(v_I\) and \(v_F\) (see Fig. 6c); then, this sub-structure is evaluated though some action (depending on the considered analysis heuristic); finally, the sub-structure is replaced with an activity block \(QRT_\text {new}\) associated with the evaluated response time CDF (see Fig. 6d).

Fig. 6.
figure 6

A graphical representation for actions 3 and 4. (a) The structure tree presented in Fig. 1b, where the red and the green boxes indicate the sub-structures subject to actions 3 and 4, respectively. (b) The structure tree after the application of action 3, which replaces the sub-structure in the red box with an activity block. (c) The structure tree after the replication of block R during action 4. (d) The structure tree after the execution of action 4, which replaces the sub-structure in the green box with an activity block. (Color figure online)

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Carnevali, L., Paolieri, M., Reali, R., Vicario, E. (2021). Compositional Safe Approximation of Response Time Distribution of Complex Workflows. In: Abate, A., Marin, A. (eds) Quantitative Evaluation of Systems. QEST 2021. Lecture Notes in Computer Science(), vol 12846. Springer, Cham. https://doi.org/10.1007/978-3-030-85172-9_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-85172-9_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-85171-2

  • Online ISBN: 978-3-030-85172-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics