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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Van der Aalst, W.M.: The application of Petri nets to workflow management. J. Circ. Syst. Comput. 8(01), 21–66 (1998)
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
Baccelli, F., Makowski, A.M.: Multidimensional stochastic ordering and associated random variables. Oper. Res. 37(3), 478–487 (1989)
Berthomieu, B., Diaz, M.: Modeling and verification of time dependent systems using time Petri nets. IEEE Trans. Softw. Eng. 17(3), 259–273 (1991)
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
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)
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)
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)
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)
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)
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)
Curbera, F., et al.: Business process execution language for web services (2002)
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
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)
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)
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)
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)
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)
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
Kulkarni, V.: Modeling and Analysis of Stochastic Systems. Chapman & Hall (1995)
Lin, J.: Divergence measures based on the Shannon entropy. IEEE Trans. Inf. Theory 37(1), 145–151 (1991)
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)
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)
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)
Paolieri, M., Horváth, A., Vicario, E.: Probabilistic model checking of regenerative concurrent systems. IEEE Trans. Softw. Eng. 42(2), 153–169 (2016)
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)
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)
Rogge-Solti, A., Weske, M.: Prediction of business process durations using non-Markovian stochastic Petri nets. Inf. Syst. 54, 1–14 (2015)
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)
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)
SIRIO Library (2020). https://github.com/oris-tool/sirio
Trivedi, K.S., Sahner, R.: Sharpe at the age of twenty two. ACM SIGMETRICS Perform. Eval. Rev. 36(4), 52–57 (2009)
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)
Vanhatalo, J., Völzer, H., Koehler, J.: The refined process structure tree. Data Knowl. Eng. 68(9), 793–818 (2009)
Vicario, E.: Static analysis and dynamic steering of time-dependent systems. IEEE Trans. Softw. Eng. 27(8), 728–748 (2001)
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)
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)
Author information
Authors and Affiliations
Corresponding author
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 \)
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).
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
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
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)