Title
On a Technique for Transparently Empowering Classical Compiler Optimizations on Multithreaded Code
Abstract
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 article 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.
Year
DOI
Venue
2012
10.1145/2220365.2220368
ACM Trans. Program. Lang. Syst.
Keywords
Field
DocType
multithreaded code,certain control-flow path,splash-2 show,data-flow analysis,sequential code,large body,transparently empowering classical compiler,sequentially-sound data-flow transformation,parallel code,siloed reference,average improvement,data-flow transformation,data flow analysis
Programming language,Computer science,Parallel computing,Correctness,Data-flow analysis,Theoretical computer science,Compiler,Optimizing compiler,Thread (computing),Interference (wave propagation)
Journal
Volume
Issue
ISSN
34
2
0164-0925
Citations 
PageRank 
References 
1
0.34
32
Authors
5
Name
Order
Citations
PageRank
Pramod G. Joisha110110.01
Robert Schreiber237037.52
Prithviraj Banerjee32763337.99
Hans Boehm463238.83
Dhruva R. Chakrabarti518813.69