Automated analysis of multithreaded programs for performance modeling

Alexander Tarvo, Steven P. Reiss
2014 Proceedings of the 29th ACM/IEEE international conference on Automated software engineering - ASE '14  
The behavior of multithreaded programs is often difficult to understand and predict. Synchronization operations and limited computational resources combine to produce complex non-linear dependencies between a program's configuration parameters and its performance. Performance models are used to understand these dependencies. Such models are complex, and constructing them requires a solid understanding of the program's behavior. As a result, building models of complex applications manually is
more » ... remely timeconsuming and error-prone. In this paper we demonstrate that such models can be built automatically. This paper presents our approach for automatically modeling multithreaded programs. Our framework uses a combination of static and dynamic analyses of a single representative run of a system to build a model that can then be explored under a variety of configurations. We show how the models are constructed and show they accurately predict the performance of various multithreaded programs, including complex industrial applications.
doi:10.1145/2642937.2642979 dblp:conf/kbse/TarvoR14 fatcat:se2dcvds4jcadnpybz7f4qq54i