Using computer simulation to predict the performance of multithreaded programs

Predicting the performance of a computer program facilitates its efficient design, deployment, and problem detection. However, predicting performance of multithreaded programs is complicated by complex locking behavior and concurrent usage of computational resources. Existing performance models either require running the program in many different configurations or impose restrictions on the types of programs that can be modeled. This paper presents our approach towards building performance models that do not require vast amounts of training data. Our models are built using a combination of queuing networks and probabilistic call graphs. All necessary information is collected using static and dynamic analyses of a single run of the program. In our experiments these models were able to accurately predict performance of different types of multithreaded programs and detected those configurations that result in the programs' high performance.

[1]  Stephen Gilmore,et al.  Software performance modelling using PEPA nets , 2004, WOSP '04.

[2]  Liam Murphy,et al.  Performance modeling and prediction of enterprise JavaBeans with layered queuing network templates , 2005, SAVCBS '05.

[3]  Daniel A. Menascé,et al.  Resource Allocation for Autonomic Data Centers using Analytic Performance Models , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[4]  Piet Hut,et al.  A hierarchical O(N log N) force-calculation algorithm , 1986, Nature.

[5]  Wenying Feng,et al.  A birth–death model for Web cache systems: Numerical solutions and simulation , 2008 .

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

[7]  Peter Nobel,et al.  Practical performance models for complex, popular applications , 2010, SIGMETRICS '10.

[8]  Amy W. Apon,et al.  Hierarchical performance measurement and modeling of the linux file system , 2011, ICPE '11.

[9]  Sally A. McKee,et al.  Predicting parallel application performance via machine learning approaches , 2007, Concurr. Comput. Pract. Exp..

[10]  Matthias Hauswirth,et al.  Low-overhead memory leak detection using adaptive statistical profiling , 2004, ASPLOS XI.

[11]  Sally A. McKee,et al.  Methods of inference and learning for performance modeling of parallel applications , 2007, PPoPP.

[12]  Robert D. van der Mei,et al.  Web Server Performance Modeling , 2001, Telecommun. Syst..

[13]  C. Murray Woodside,et al.  Performance modeling from software components , 2004, WOSP '04.

[14]  Sally A. McKee,et al.  Predicting parallel application performance via machine learning approaches: Research Articles , 2007 .

[15]  Gregory R. Ganger,et al.  Towards Self-Predicting Systems: What If You Could Ask "What-If"? , 2005, 16th International Workshop on Database and Expert Systems Applications (DEXA'05).

[16]  Archana Ganapathi,et al.  Statistics-driven workload modeling for the Cloud , 2010, 2010 IEEE 26th International Conference on Data Engineering Workshops (ICDEW 2010).

[17]  Anastasia Ailamaki,et al.  Continuous resource monitoring for self-predicting DBMS , 2005, 13th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.

[18]  Archana Ganapathi,et al.  Predicting Multiple Metrics for Queries: Better Decisions Enabled by Machine Learning , 2009, 2009 IEEE 25th International Conference on Data Engineering.

[19]  C. Murray Woodside,et al.  Automatic generation of layered queuing software performance models from commonly available traces , 2005, WOSP '05.

[20]  Ling Huang,et al.  Mantis: Predicting System Performance through Program Analysis and Modeling , 2010, ArXiv.

[21]  Daniel Rueckert,et al.  Performance prediction for a code with data‐dependent runtimes , 2008, Concurr. Comput. Pract. Exp..

[22]  Gilbert Hamann,et al.  A framework for measurement based performance modeling , 2008, WOSP '08.

[23]  Graham R. Nudd,et al.  Pace—A Toolset for the Performance Prediction of Parallel and Distributed Systems , 2000, Int. J. High Perform. Comput. Appl..

[24]  Gregory R. Ganger,et al.  Ironmodel: robust performance models in the wild , 2008, SIGMETRICS '08.