Automatic performance prediction of multithreaded programs: a simulation approach

被引:1
|
作者
Tarvo, Alexander [1 ]
Reiss, Steven P. [2 ]
机构
[1] Google Inc, Kirkland, WA 98033 USA
[2] Brown Univ, Providence, RI 02912 USA
基金
美国国家科学基金会;
关键词
Program analysis; Performance; Modeling; Simulation;
D O I
10.1007/s10515-017-0214-5
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The performance of multithreaded programs is often difficult to understand and predict. Multiple threads engage in synchronization operations and use hardware simultaneously. This results in a complex non-linear dependency between the configuration of a 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, different program options such as the number of threads, and characteristics of the hardware. Performance models are complex and require a solid understanding of the program's behavior. As a result, building models of large applications manually is extremely time-consuming and error-prone. In this paper we present an approach for building performance models of multithreaded programs automatically. We employ hierarchical discrete-event models. Different tiers of the model simulate different factors that affect performance of the program, while interaction between the model tiers simulates mutual influence of these factors on performance. Our framework uses a combination of static and dynamic analyses of a single representative run of a system to collect information required for building the performance model. 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. In our experiments we demonstrate that models accurately predict the performance of various multithreaded programs, including complex industrial applications.
引用
收藏
页码:101 / 155
页数:55
相关论文
共 50 条
  • [1] Automatic performance prediction of multithreaded programs: a simulation approach
    Alexander Tarvo
    Steven P. Reiss
    [J]. Automated Software Engineering, 2018, 25 : 101 - 155
  • [2] Automatic Performance Modeling of Multithreaded Programs
    Tarvo, Alexander
    [J]. 36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE COMPANION 2014), 2014, : 721 - 723
  • [3] VPPB - A visualization and performance prediction tool for multithreaded Solaris programs
    Broberg, M
    Lundberg, L
    Grahn, H
    [J]. FIRST MERGED INTERNATIONAL PARALLEL PROCESSING SYMPOSIUM & SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING, 1998, : 770 - 776
  • [4] Visualization and performance prediction of multithreaded Solaris programs by tracing kernel threads
    Broberg, M
    Lundberg, L
    Grahn, H
    [J]. IPPS/SPDP 1999: 13TH INTERNATIONAL PARALLEL PROCESSING SYMPOSIUM & 10TH SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING, PROCEEDINGS, 1999, : 407 - 413
  • [5] Redeeming IPC as a performance metric for multithreaded programs
    Lepak, KM
    Cain, HW
    Lipasti, MH
    [J]. 12TH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS, 2003, : 232 - 243
  • [6] Automatic Detection of Shared Objects in Multithreaded Java']Java Programs
    Tolubaeva, Munara
    Can, Aysu Betin
    [J]. 2008 INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE FOR MODELLING CONTROL & AUTOMATION, VOLS 1 AND 2, 2008, : 522 - 526
  • [7] PERFORMANCE PREDICTION AND EXPERT ADVISER FOR AUTOMATIC PARALLELIZATION OF FORTRAN PROGRAMS
    BLASKO, R
    [J]. COMPUTERS AND ARTIFICIAL INTELLIGENCE, 1995, 14 (04): : 371 - 393
  • [8] Characterizing and Optimizing the Performance of Multithreaded Programs Under Interference
    Zhao, Yong
    Rao, Jia
    Yi, Qing
    [J]. 2016 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURE AND COMPILATION TECHNIQUES (PACT), 2016, : 287 - 297
  • [9] Delegation Locking Libraries for Improved Performance of Multithreaded Programs
    Klaftenegger, David
    Sagonas, Konstantinos
    Winblad, Kjell
    [J]. EURO-PAR 2014 PARALLEL PROCESSING, 2014, 8632 : 572 - 583
  • [10] Automatic Discovery of Transition Symmetry in Multithreaded Programs Using Dynamic Analysis
    Yang, Yu
    Chen, Xiaofang
    Gopalakrishnan, Ganesh
    Wang, Chao
    [J]. MODEL CHECKING SOFTWARE, 2009, 5578 : 279 - +