Service demand modeling and performance prediction with single-user tests

Abstract Performance load tests of online transaction processing (OLTP) applications are expensive in terms of manpower, time and costs. Alternative performance modeling and prediction tools are required to generate accurate outputs with minimal input sample points. Service Demands (time needed to serve 1 request at queuing stations) are typically needed as inputs by most performance models. However, as service demands vary as a function of workload (load dependent service demands), models that input singular service demands produce erroneous predictions. The alternative, which is to collect service demands at varying workloads, requires time and resource intensive load tests to estimate multiple sample points—which defeats the purpose of performance modeling for industrial use. In this paper, we propose a service demand model as a function of concurrency that can be estimated with a single-user test. Further, we analyze multiple CPU performance metrics (cache hits/misses, branch prediction, context switches and so on) using Principal Component Analysis (PCA) to extract a regression function of service demand with increasing workloads. We use the service demand models as input to performance prediction algorithms such as Mean Value Analysis (MVA), to accurately predict throughput at varying workloads. This service demand prediction model uses CPU hardware counters, which is used in conjunction with a modified version of MVA with single-user service demand inputs. The predicted throughput values are within 9 % deviation with measurements procured for a variety of application/hardware configurations. Such a service demand model is a step towards reducing reliance on conventional load testing for performance assurance.

[1]  S. Majumdar,et al.  Mean value analysis for computer systems with variabilities in workload , 1996, Proceedings of IEEE International Computer Performance and Dependability Symposium.

[2]  Giuseppe Serazzi,et al.  JMT: performance engineering tools for system modeling , 2009, PERV.

[3]  J. Little A Proof for the Queuing Formula: L = λW , 1961 .

[4]  Giuliano Casale,et al.  Bayesian Service Demand Estimation with Gibbs Sampling , 2013 .

[5]  Manoj K. Nambiar,et al.  Performance Modeling of Multi-tiered Web Applications with Varying Service Demands , 2015, 2015 IEEE International Parallel and Distributed Processing Symposium Workshop.

[6]  Giuliano Casale,et al.  An Offline Demand Estimation Method for Multi-threaded Applications , 2013, 2013 IEEE 21st International Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems.

[7]  Kishor S. Trivedi Probability and Statistics with Reliability, Queuing, and Computer Science Applications , 1984 .

[8]  Terry Williams,et al.  Probability and Statistics with Reliability, Queueing and Computer Science Applications , 1983 .

[9]  Subhasri Duttagupta,et al.  Extrapolation tool for load testing results , 2011, 2011 International Symposium on Performance Evaluation of Computer & Telecommunication Systems.

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

[11]  Jing Xu,et al.  Layered Bottlenecks and Their Mitigation , 2006, Third International Conference on the Quantitative Evaluation of Systems - (QEST'06).

[12]  Roberto Sadao Yokoyama,et al.  Workload regression-based resource provisioning for small cloud providers , 2016, 2016 IEEE Symposium on Computers and Communication (ISCC).

[13]  Stephen S. Lavenberg,et al.  Mean-Value Analysis of Closed Multichain Queuing Networks , 1980, JACM.

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

[15]  Paolo Cremonesi,et al.  Indirect estimation of service demands in the presence of structural changes , 2014, Perform. Evaluation.

[16]  Mark S. Squillante,et al.  Workload service requirements analysis: a queueing network optimization approach , 2002, Proceedings. 10th IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunications Systems.

[17]  Daniel A. Menascé,et al.  Predicting the Effect of Memory Contention in Multi-Core Computers Using Analytic Performance Models , 2015, IEEE Transactions on Computers.

[18]  Daniel A. Menascé,et al.  Simple analytic modeling of software contention , 2002, PERV.

[19]  Giuliano Casale,et al.  Bayesian Service Demand Estimation Using Gibbs Sampling , 2013, 2013 IEEE 21st International Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems.

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

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

[22]  Lui Sha,et al.  Modeling 3-tiered Web applications , 2005, 13th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.

[23]  Samuel Kounev,et al.  Performance Modeling and Evaluation of Large-Scale J2EE Applications , 2003, Int. CMG Conference.

[24]  C. Lawson,et al.  Solving least squares problems , 1976, Classics in applied mathematics.

[25]  Ian Molyneaux The Art of Application Performance Testing - Help for Programmers and Quality Assurance , 2009 .

[26]  Giuliano Casale,et al.  Maximum Likelihood Estimation of Closed Queueing Network Demands from Queue Length Data , 2016, ICPE.

[27]  Aniruddha S. Gokhale,et al.  Impediments to Analytical Modeling of Multi-Tiered Web Applications , 2010, 2010 IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[28]  Daniel A. Menascé Computing Missing Service Demand Parameters for Performance Models , 2008, Int. CMG Conference.

[29]  Varsha Apte,et al.  PerfCenter: A Methodology and Tool for Performance Analysis of Application Hosting Centers , 2007, 2007 15th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.

[30]  Jonathon Shlens,et al.  A Tutorial on Principal Component Analysis , 2014, ArXiv.

[31]  Edward D. Lazowska,et al.  Quantitative system performance - computer system analysis using queueing network models , 1983, Int. CMG Conference.

[32]  Daniel A. Menascé,et al.  Load Testing of Web Sites , 2002, IEEE Internet Comput..