Brown University

Automated Performance Modeling of Multithreaded Programs

Description

Abstract:
The performance of multithreaded programs is often difficult to understand and predict. Multiple threads use various locking operations, resulting in the parallel execution of some computations and the sequential execution of others. Threads use hardware resources such as a CPU or a hard drive simultaneously, which may lead to their saturation. The result is a complex non-linear dependency between the configuration of a multithreaded program and its performance. To better understand this dependency a performance prediction model is used. Such a model predicts the performance of a system for different configurations. Configurations reflect variations in the workload, program options such as the number of threads, and characteristics of the hardware. Performance models are complex and require a solid understanding of the pogram's behavior. As a result, building models of large applications manually is extremely time-consuming and error-prone. In this work we present an approach for building performance models of multithreaded programs automatically. We employ hierarchical discrete-event models. The higher-level model simulates the data flow through the program using the queueing network. The mid-level model simulates program's threads using probabilistic call graphs. The low-level model simulates program-wide locks and underlying hardware. We extract information necessary for constructing the model using a combination of static and dynamic analyses of the program under study. This includes information about the structure of the program, the semantics of interaction between the program's threads, and resource demands of individual program's components. The discovered information is translated into the discrete-event model of the program. In our experiments we successfully generated performance models of a suite of large multithreaded programs. The resulting models predicted performance of these programs across a range of configurations with a reasonable degree of accuracy.
Notes:
Thesis (Ph.D. -- Brown University (2015)

Access Conditions

Rights
In Copyright
Restrictions on Use
Collection is open for research.

Citation

Tarvo, Alexander, "Automated Performance Modeling of Multithreaded Programs" (2015). Computer Science Theses and Dissertations. Brown Digital Repository. Brown University Library. https://doi.org/10.7301/Z0FB519W

Relations

Collection: