Abstract
We overview LN, a novel solver introduced in the LINE software package to analyze layered queueing network (LQN) models. The novelty of the LN solver lies in its capability to analyze LQNs with a user-defined combination of solution paradigms, including discrete-event and stochastic simulation, continuous-time Markov chain analysis (CTMC), normalizing constant evaluation (NC), matrix analytic methods (MAM), mean-field approximations (FLUID), and mean-value analysis (MVA). Being parametric in the solver used for each LQN layer, LN as a whole enables the efficient computation of advanced performance metrics such as marginal and joint state probabilities, response and passage time distributions, and transient measures, leveraging individual strengths of the supported solution paradigms. We discuss in particular recent developments added to NC, the default layer solver of LN, which significantly improve the solution of queueing network models obtained using loose layering of the LQN.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
References
Amparore, E.G., Balbo, G., Beccuti, M., Donatelli, S., Franceschinis, G.: 30 Years of GreatSPN. In: Fiondella, L., Puliafito, A. (eds.) Principles of Performance and Reliability Modeling and Evaluation. SSRE, pp. 227–254. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-30599-8_9
Bertoli, M., Casale, G., Serazzi, G.: The JMT simulator for performance evaluation of non-product-form queueing networks. In: Proceedings of ANSS, pp. 3–10. IEEE (2007)
Bini, D., Meini, B., Steffé, S., Pérez, J.F., Van Houdt, B.: SMCSolver and Q-MAM: tools for matrix-analytic methods. ACM SIGMETRICS Perform. Eval. Rev. 39(4), 46–46 (2012)
Blanchard, P., Higham, D.J., Higham, N.J.: Accurately computing the log-sum-exp and softmax functions. IMA J. Numer. Anal. 41(4), 2311–2330 (2021)
Bolch, G., Greiner, S., de Meer, H., Trivedi, K.S.: Queueing Networks and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications. John Wiley & Sons, Hoboken (2006)
Casale, G.: CoMoM: efficient class-oriented evaluation of multiclass performance models. IEEE Trans. Softw. Eng. 35(2), 162–177 (2009)
Casale, G.: Exact analysis of performance models by the method of moments. Perform. Eval. 68(6), 487–506 (2011)
Casale, G.: Accelerating performance inference over closed systems by asymptotic methods. In: Proceedings of ACM SIGMETRICS, pp. 8:1–8:25. ACM (2017)
Casale, G.: Integrated performance evaluation of extended queueing network models with LINE. In: Proceedings of WSC, pp. 2377–2388. IEEE (2020)
Casale, G., Gast, N.: Performance analysis methods for list-based caches with non-uniform access. IEEE/ACM Trans. Netw. 29(2), 651–664 (2021)
Casale, G., Harrison, P.G., Ong, W.H.: Facilitating load-dependent queueing analysis through factorization. Perform. Eval. 152, 102241 (2021)
Casale, G., Muntz, R.R., Serazzi, G.: Geometric bounds: a noniterative analysis technique for closed queueing networks. IEEE Trans. Comput. 57(6), 780–794 (2008)
Casale, G., Tribastone, M., Harrison, P.G.: Blending randomness in closed queueing network models. Perform. Eval. 82, 15–38 (2014)
Denning, P.J., Buzen, J.P.: The operational analysis of queueing network models. ACM Comput. Surv. 10(3), 225–261 (1978)
Franks, G., Al-Omari, T., Woodside, M., Das, O., Derisavi, S.: Enhanced modeling and solution of layered queueing networks. IEEE Trans. Softw. Eng. 35(2), 148–161 (2009)
Franks, R.G.: Performance Analysis of Distributed Server Systems. Ph.D. thesis, Carleton University (2000)
Gao, Y., Casale, G.: JCSP: Joint caching and service placement for edge computing systems. In: Proceedings of IEEE/ACM IWQoS. IEEE (2022)
Gunther, N.J.: Analyzing Computer System Performance with Perl::PDQ. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22583-3
Horváth, G., Telek, M.: BuTools 2: a rich toolbox for Markovian performance evaluation. In: Proceedings of VALUETOOLS, pp. 137–142. ICST (2017)
Johansson, F., Mezzarobba, M.: Fast and rigorous arbitrary-precision computation of Gauss-Legendre quadrature nodes and weights. SIAM J. Sci. Comput. 40(6), C726–C747 (2018)
Lam, S.S.: Dynamic scaling and growth behavior of queueing network normalization constants. J. ACM 29(2), 492–513 (1982)
Lazowska, E.D., Zahorjan, J., Graham, G.S., Sevcik, K.C.: Quantitative System Performance: Computer System Analysis Using Queueing Network Models. Prentice Hall, Hoboken (1984)
Marzolla, M.: The octave queueing package. In: Norman, G., Sanders, W. (eds.) QEST 2014. LNCS, vol. 8657, pp. 174–177. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-10696-0_14
McKenna, J., Mitra, D.: Asymptotic expansions and integral representations of moments of queue lengths in closed Markovian networks. J. ACM 31(2), 346–360 (1984)
Meyer, C.D.: Stochastic complementation, uncoupling Markov chains, and the theory of nearly reducible systems. SIAM Rev. 31(2), 240–272 (1989)
Mitra, D., McKenna, J.: Asymptotic expansions for closed Markovian networks with state-dependent service rates. J. ACM 33(3), 568–592 (1986)
Niu, Z., Casale, G.: A mixture density network approach to predicting response times in layered systems. In: Proceedings of MASCOTS, pp. 1–8. IEEE (2021)
Pérez, J.F., Casale, G.: LINE: evaluating software applications in unreliable environments. IEEE Trans. Reliab. 66(3), 837–853 (2017)
Rolia, J.A., Sevcik, K.C.: The method of layers. IEEE Trans. Softw. Eng. 21(8), 689–700 (1995)
Ruuskanen, J., Berner, T., Årzén, K.E., Cervin, A.: Improving the mean-field fluid model of processor sharing queueing networks for dynamic performance models in cloud computing. Perform. Eval. 151, 102231 (2021)
Seidmann, A., Schweitzer, P.J., Shalev-Oren, S.: Computerized closed queueing network models of flexible manufacturing systems: a comparative evaluation. Large Scale Syst. 12, 91–107 (1987)
Smith, C.U., Lladó, C.M., Puigjaner, R.: Performance model interchange format (PMIF 2): a comprehensive approach to queueing network model interoperability. Perform. Eval. 67(7), 548–568 (2010)
Tribastone, M.: A fluid model for layered queueing networks. IEEE Trans. Softw. Eng. 39(6), 744–756 (2013)
Waizmann, T., Tribastone, M.: DiffLQN: differential equation analysis of layered queuing networks. In: Companion of ICPE, pp. 63–68. ACM (2016)
Woodside, M.: Tutorial introduction to layered modeling of software performance (2013). http://www.sce.carleton.ca/rads/lqns/lqn-documentation/tutorialh.pdf Accessed 08 May 2022
Zahorjan, J.: An exact solution method for the general class of closed separable queueing networks, vol. 8, pp. 107–112, New York, NY, USA (1979)
Zahorjan, J., Eager, D.L., Sweillam, H.M.: Accuracy, speed, and convergence of approximate mean value analysis. Perform. Eval. 8(4), 255–270 (1988)
Zhu, L., Casale, G., Perez, I.: Fluid approximation of closed queueing networks with discriminatory processor sharing. Perform. Eval. 139, 102094 (2020)
Acknowledgments
LINE has been partially funded by the European Commission grants FP7-318484 (MODAClouds), H2020-644869 (DICE), H2020-825040 (RADON), and by the EPSRC grant EP/M009211/1 (OptiMAM).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
A Proof of Theorem 1
For a homogeneous model, the CoMoM recurrence relation may be written as
where
Let \(\boldsymbol{0}_{I,J}\) indicate a block of zeros of size \(I\times J\). Defining \(\tilde{D}=(D_1,\ldots ,D_R)^T\), we have
The inverse of the block upper triagonal matrix A is now computed as
with \(\boldsymbol{S}=-\boldsymbol{A}_{1,1}^{-1}\boldsymbol{A}_{1,2}\). Observe first that
where \(e^T=\tilde{D}^T\mathop {\textrm{diag}}(\tilde{D})^{-1}=(1,\ldots ,1)\). Thus
Note that \(\boldsymbol{A}_{2,2}\) is the only block that depends on \(N_R\). We can therefore write
where
B Gaussian Quadratures
A Gauss-Laguerre quadrature of order K evaluates exponentially-weighted integrals by means of the approximation
where \(x_k\) denotes the k-th root of the Laguerre polynomial
and with weights \(w_k = {x_k} \left( {\left( k + 1\right) ^2 \left[ L_{k+1}\left( x_k\right) \right] ^2}\right) ^{-1}\).
Gauss-Legendre methods are similar but applicable to finite ranges [a, b]. Setting \(a=0\) and large b they can also help evaluating the normalizing constant. Their main benefit is that nodes and weights do not incur the same floating-point range exceptions as observed instead for Gauss-Laguerre quadratures of large order. We point to [20] for further details on Gauss-Legendre methods.
C Proof of Theorem 2
For a homogeneous model with m identical single-server stations, the McKenna-Mitra integral takes the form
where \(h(u)=\prod _{r=1}^R \left( Z_r + D_r u\right) ^{N_r}\). We note that the multidimensional integral may be interpreted as computing \(E[h(U_1+\ldots +U_m)]\) for the i.i.d. exponential random variables \(U_i\sim Exp(1)\). The result then readily follows after noting that \(U_1+\ldots +U_m\) is Erlang-m distributed with density \(f(u)=\frac{1}{(m-1)!}u^{m-1}e^{-u}\).
D Proof of Theorem 3
Let the entries of \(\varPi (N)\) be indicated with \(\widetilde{\pi }_N(n)\), \(n=|N|,\ldots ,0\). A probabilistic population constraint holds for homogeneous models with \(m=1\) [6, Thm. 6]
for all \(n=1,\ldots ,|N|\) and where \(\widetilde{\pi }_{N-1_R}(n-1)=0\) if \(n=0\). With a load-dependent queueing station (\(m=1\)), the derivation in [6] generalizes with similar passages to the following form
where \(\mu (n)\) is the load-dependent scaling at the queueing station. Organizing (5) in matrix form, we get (3)
As assumed, consider now an homogeneous layer, where there are m identical load-independent single-server stations. The proof follows by noting that, if \(m>1\), the m queueing stations can be exactly replaced by a flow-equivalent server station with identical \(D_1\),..., \(D_R\) and [26]
The final expression for \(\boldsymbol{T}_{R}\) follows after plugging the above expression for \(\mu (n)\).
E Software Architecture Design
Figure 6 illustrates the key architectural elements of LINE, including the NetworkStruct data structure, and the Network, NetworkSolver, LayeredNetwork, EnsembleSolver and LayeredNetworkSolver classes.
The Network object summarizes the model characteristics and acts as its persistence layer. The object is generated by the user either through a domain-specific language offered by LINE [9] or via model-to-model transformations from other formats (e.g., JMT’s XML [2], PMIF [32]). Besides the model specification, a Network object can cache the model state space, its initial state, and retain information needed for the traffic equations in state-dependent models.
Each Network object is able to synthesize via the getStruct method a NetworkStruct data structure. The latter includes key model parameters, such as representations of service and arrival processes, job populations, and number of servers, among others. In addition, the data structure includes the routing table, the associated chains, and the average number of visits that each class pays to each node. NetworkStruct also offers indexing functions, that allow for example to differentiate between stations, where jobs can reside, and nodes, which are elements of the network traversed with zero service time (e.g., a fork).
The NetworkSolver object encodes a solver type, of which the aforementioned six LINE solvers are specific instances. The main role of this class is to ensure consistent computation of performance results, adopting identical conventions for reporting per-class and per-chain results to the end-user. Operational relationships are also applied by this object to derive certain performance metrics from the ones returned by the solvers, e.g. arrival rates from throughputs [14].
Each NetworkSolver object is equipped with a getAvgTable method that returns mean performance metrics for the model in a tabular format. The method invokes via the runAnalyzer method one of the solution methods offered by that solver, which operates solely on the NetworkStruct data structure. Model transformations that alter the model topology are conducted within runAnalyzer. An example is tagging a job class, which is used in response time distribution analysis.
The EnsembleSolver specifies the life-cycle for an iterative solution method that works on an ensemble of Network objects. This class allows to bind a NetworkSolver to each particular Network in the ensemble, applying consistently actions before, in-between, and after each iteration, and verifying convergence. It also harmonizes the presentation of ensemble-level results to the end-user. Besides LN, the Env solver is another example of EnsembleSolver, wherein iteration is used to analyze random environments [13].
The LN solver is a special instance of EnsembleSolver, operating on an ensemble consisting of the LQN layers. The LayeredNetwork class encompasses the objects that form an LQN, such as the Entry, Task, Host, and Activity classes.
The LayeredNetwork class offers a getEnsemble method that generates, and stores within the LayeredNetwork object, the ensemble of Network models, each mapping to a distinct LQN layer. Similarly to Network, this class also exposes a getStruct method that builds a static data structure of the LQN parameters.
The LN solver, implemented in the SolverLN class, is specified parametrically in terms of any of the LINE solvers, or a custom combination thereof. For example, the end-user may require to use LINE ’s simulators on layers that include non-Markovian service distributions (e.g., Pareto) and MVA otherwise.
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
Cite this paper
Casale, G., Gao, Y., Niu, Z., Zhu, L. (2022). LN: A Meta-solver for Layered Queueing Network Analysis. In: Ábrahám, E., Paolieri, M. (eds) Quantitative Evaluation of Systems. QEST 2022. Lecture Notes in Computer Science, vol 13479. Springer, Cham. https://doi.org/10.1007/978-3-031-16336-4_12
Download citation
DOI: https://doi.org/10.1007/978-3-031-16336-4_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-16335-7
Online ISBN: 978-3-031-16336-4
eBook Packages: Computer ScienceComputer Science (R0)