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. Joisha | 1 | 101 | 10.01 |
Robert Schreiber | 2 | 370 | 37.52 |
Prithviraj Banerjee | 3 | 2763 | 337.99 |
Hans Boehm | 4 | 632 | 38.83 |
Dhruva R. Chakrabarti | 5 | 188 | 13.69 |