A Technique for the Effective and Automatic Reuse of Classical Compiler Optimizations on Multithreaded Code

被引:0
|
作者
Joisha, Pramod G. [1 ]
Schreiber, Robert S. [1 ]
Banerjee, Prithviraj [1 ]
Boehm, Hans-J. [1 ]
Chakrabarti, Dhruva R. [1 ]
机构
[1] Hewlett Packard Labs, Palo Alto, CA USA
关键词
Data-Flow Analysis; Parallel-Program Optimization; EFFICIENT; PROGRAMS;
D O I
10.1145/1925844.1926457
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A large body of data-flow analyses exists for analyzing and optimizing sequential code. Unfortunately, much of it cannot be directly applied on parallel code, for reasons of correctness. This paper presents a technique to automatically, aggressively, yet safely apply sequentially-sound data-flow transformations, without change, on shared-memory programs. The technique is founded on the notion of program references being "siloed" on certain control-flow paths. Intuitively, siloed references are free of interference from other threads within the confines of such paths. Data-flow transformations can, in general, be unblocked on siloed references. The solution has been implemented in a widely used compiler. Results on benchmarks from SPLASH-2 show that performance improvements of up to 41% are possible, with an average improvement of 6% across all the tested programs over all thread counts.
引用
收藏
页码:623 / 636
页数:14
相关论文
共 50 条
  • [1] A Technique for the Effective and Automatic Reuse of Classical Compiler Optimizations on Multithreaded Code
    Joisha, Pramod G.
    Schreiber, Robert S.
    Banerjee, Prithviraj
    Boehm, Hans-J.
    Chakrabarti, Dhruva R.
    [J]. POPL 11: PROCEEDINGS OF THE 38TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2011, : 623 - 636
  • [2] Technique for the effective and automatic reuse of classical compiler optimizations on multithreaded code
    Joisha, Pramod G.
    Schreiber, Robert S.
    Banerjee, Prithviraj
    Boehm, Hans-J.
    Chakrabarti, Dhruva R.
    [J]. HP Laboratories Technical Report, 2010, (81):
  • [3] On a Technique for Transparently Empowering Classical Compiler Optimizations on Multithreaded Code
    Joisha, Pramod G.
    Schreiber, Robert S.
    Banerjee, Prithviraj
    Boehm, Hans-J.
    Chakrabarti, Dhruva R.
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2012, 34 (02): : 1 - 42
  • [4] Fast and effective orchestration of compiler optimizations for automatic performance tuning
    Pan, Zhelong
    Eigenmann, Rudolf
    [J]. CGO 2006: 4TH INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2006, : 319 - +
  • [5] Code reuse in an optimizing compiler
    AdlTabatabai, AR
    Gross, T
    Lueh, GY
    [J]. ACM SIGPLAN NOTICES, 1996, 31 (10) : 51 - 68
  • [6] An Automatic Tool for Tuning Compiler Optimizations
    Plotnikov, Dmitry
    Melnik, Dmitry
    Vardanyan, Mamikon
    Buchatskiy, Ruben
    Zhuykov, Roman
    [J]. 2013 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES (CSIT), 2013,
  • [7] Not So Fast: Understanding and Mitigating Negative Impacts of Compiler Optimizations on Code Reuse Gadget Sets
    Brown, Michael D.
    Pruett, Matthew
    Bigelow, Robert
    Mururu, Girish
    Pande, Santosh
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5 (OOPSLA):
  • [8] The Effect of Combining Compiler Optimizations on Code Size
    Foleiss, Juliano Henrique
    da Silva, Anderson Faustino
    Ruiz, Linnyer Beatrys
    [J]. 2011 30TH INTERNATIONAL CONFERENCE OF THE CHILEAN COMPUTER SCIENCE SOCIETY (SCCC), 2012, : 187 - 194
  • [9] CcNav: Understanding Compiler Optimizations in Binary Code
    Devkota, Sabin
    Aschwanden, Pascal
    Kunen, Adam
    Legendre, Matthew
    Isaacs, Katherine E.
    [J]. IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, 2021, 27 (02) : 667 - 677
  • [10] Parallel Pattern Compiler for Automatic Global Optimizations
    Schmitz, Adrian
    Burak, Semih
    Miller, Julian
    Mueller, Matthias S.
    [J]. PARALLEL COMPUTING, 2024, 122