Service Demand Modeling and Prediction with Single-user Performance Tests

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, models that input singular service demands produce erroneous predictions. The alternative, which is to collect service demands at varying workloads, require time and resource intensive load tests to estimate multiple sample points -- this 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 performance 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]  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.

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

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

[4]  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.

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

[6]  Aniruddha S. Gokhale,et al.  A capacity planning process for performance assurance of component-based distributed systems , 2011, ICPE '11.

[7]  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.

[8]  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.

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

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

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

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

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

[14]  Manoj Nambiar,et al.  Performance Modeling of Multi-tiered Web Applications with Varying Service Demands , 2016 .

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

[16]  D C LittleJohn A Proof for the Queuing Formula , 1961 .

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

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

[19]  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.

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

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

[22]  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.

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

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

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

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

[27]  Charles L. Lawson,et al.  Solving least squares problems , 1976, Classics in applied mathematics.

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

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

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