Bayesian Service Demand Estimation Using Gibbs Sampling

Performance modelling of web applications involves the task of estimating service demands of requests at physical resources, such as CPUs. In this paper, we propose a service demand estimation algorithm based on a Markov Chain Monte Carlo (MCMC) technique, Gibbs sampling. Our methodology is widely applicable as it requires only queue length samples at each resource, which are simple to measure. Additionally, since we use a Bayesian approach, our method can use prior information on the distribution of parameters, a feature not always available with existing demand estimation approaches. The main challenge of Gibbs sampling is to efficiently evaluate the conditional expression required to sample from the posterior distribution of the demands. This expression is shown to be the equilibrium solution of a multiclass closed queueing network. We define a novel approximation to efficiently obtain the normalising constant to make the cost of its evaluation acceptable for MCMC applications. Experimental evaluation based on simulation data with different model sizes demonstrates the effectiveness of Gibbs sampling for service demand estimation.

[1]  Thomas Taimre,et al.  Estimation for queues from queue length data , 2007, Queueing Syst. Theory Appl..

[2]  Jerome A. Rolia,et al.  Correlating resource demand information with ARM data for application services , 1998, WOSP '98.

[3]  Jerome A. Rolia,et al.  MODE: Mix Driven On-line Resource Demand Estimation , 2011, 2011 7th International Conference on Network and Service Management.

[4]  Gunter Bolch,et al.  Queueing Networks and Markov Chains , 2005 .

[5]  Charles Knessl,et al.  Asymptotic Expansions for Large Closed Queueing Networks with Multiple Job Classes , 1992, IEEE Trans. Computers.

[6]  Paolo Cremonesi,et al.  Indirect Estimation of Service Demands in the Presence of Structural Changes , 2012, 2012 Ninth International Conference on Quantitative Evaluation of Systems.

[7]  Dana Petcu,et al.  MODAClouds: A model-driven approach for the design and execution of applications on multiple Clouds , 2012, 2012 4th International Workshop on Modeling in Software Engineering (MISE).

[8]  Qi Zhang,et al.  A Regression-Based Analytic Model for Dynamic Resource Provisioning of Multi-Tier Applications , 2007, Fourth International Conference on Autonomic Computing (ICAC'07).

[9]  Alan Fekete,et al.  Design-level performance prediction of component-based applications , 2005, IEEE Transactions on Software Engineering.

[10]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[11]  Jordi Cabot,et al.  Combining Model-Driven Engineering and Cloud Computing , 2010, ECMFA 2010.

[12]  Paolo Cremonesi,et al.  Service Time Estimation with a Refinement Enhanced Hybrid Clustering Algorithm , 2010, ASMTA.

[13]  Jerome A. Rolia,et al.  Parameter estimation for performance models of distributed application systems , 1995, CASCON.

[14]  W. K. Hastings,et al.  Monte Carlo Sampling Methods Using Markov Chains and Their Applications , 1970 .

[15]  Rocco Aversa,et al.  Proceedings of the Federated Conference on Computer Science and Information Systems pp. 973–980 ISBN 978-83-60810-22-4 An Analysis of mOSAIC ontology for Cloud Resources annotation , 2022 .

[16]  Steffen Becker,et al.  The Palladio component model for model-driven performance prediction , 2009, J. Syst. Softw..

[17]  Ramesh Govindan,et al.  Automatic request categorization in internet services , 2008, PERV.

[18]  Stephen Gilmore,et al.  Automatic extraction of PEPA performance models from UML activity diagrams annotated with the MARTE profile , 2008, WOSP '08.

[19]  Giuseppe Serazzi,et al.  Java Modelling Tools: an Open Source Suite for Queueing Network Modelling andWorkload Analysis , 2006, Third International Conference on the Quantitative Evaluation of Systems - (QEST'06).

[20]  Raffaela Mirandola,et al.  Deriving a queueing network based performance model from UML diagrams , 2000, WOSP '00.

[21]  Asser N. Tantawi,et al.  CPU demand for web serving: Measurement analysis and dynamic estimation , 2008, Perform. Evaluation.

[22]  Donald Geman,et al.  Stochastic Relaxation, Gibbs Distributions, and the Bayesian Restoration of Images , 1984, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[23]  Stephen Dawson,et al.  Estimating service resource consumption from response time measurements , 2009, VALUETOOLS.

[24]  Michael I. Jordan,et al.  Bayesian inference for queueing networks and modeling of internet services , 2010, 1001.3355.

[25]  Marin Litoiu,et al.  Performance Model Estimation and Tracking Using Optimal Filters , 2008, IEEE Transactions on Software Engineering.

[26]  Asser N. Tantawi,et al.  An analytical model for multi-tier internet services and its applications , 2005, SIGMETRICS '05.

[27]  J. Wade Davis,et al.  Statistical Pattern Recognition , 2003, Technometrics.

[28]  Roberto Turrin,et al.  Robust Workload Estimation in Queueing Network Performance Models , 2008, 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008).

[29]  Samuel Kounev,et al.  Evaluating approaches to resource demand estimation , 2015, Perform. Evaluation.

[30]  Marin Litoiu,et al.  Tracking time-varying parameters in software systems with extended Kalman filters , 2015, CASCON.

[31]  Fan Zhang,et al.  Parameter inference of queueing models for IT systems using end-to-end measurements , 2004, SIGMETRICS '04/Performance '04.

[32]  Marin Litoiu,et al.  Performance model driven QoS guarantees and optimization in clouds , 2009, 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing.

[33]  Jerome A. Rolia,et al.  The Method of Layers , 1995, IEEE Trans. Software Eng..

[34]  Stephen Dawson,et al.  DEC: Service Demand Estimation with Confidence , 2012, IEEE Transactions on Software Engineering.

[35]  Richard R. Muntz,et al.  Simple Relationships Among Moments of Queue Lengths in Product Form Queueing Networks , 1988, IEEE Trans. Computers.

[36]  C. Murray Woodside,et al.  A Calibration Framework for Capturing and Calibrating Software Performance Models , 2008, EPEW.