The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.04 - July-Aug. (2012 vol.32)
pp: 8-18
Simone Campanoni , Harvard University
Timothy M. Jones , University of Cambridge
Glenn Holloway , Harvard University
Gu-Yeon Wei , Harvard University
David Brooks , Harvard University
ABSTRACT
Improving system performance increasingly depends on exploiting microprocessor parallelism, yet mainstream compilers still don't parallelize code automatically. Helix automatically parallelizes general-purpose programs without requiring any special hardware; avoids slowing down compiled programs, making it a suitable candidate for mainstream compilers; and outperforms the most similar historical technique that has been implemented in production compilers.
INDEX TERMS
Prefetching, Parallel processing, Synchronization, Encoding, Optimization, robustness of code optimization, Prefetching, Parallel processing, Synchronization, Encoding, Optimization, DOACROSS parallelism, extraction of coarse-grained parallelism
CITATION
Simone Campanoni, Timothy M. Jones, Glenn Holloway, Gu-Yeon Wei, David Brooks, "Helix: Making the Extraction of Thread-Level Parallelism Mainstream", IEEE Micro, vol.32, no. 4, pp. 8-18, July-Aug. 2012, doi:10.1109/MM.2012.50
REFERENCES
1. S. Campanoni et al., "HELIX: Automatic Parallelization of Irregular Programs for Chip Multiprocessing," Proc. 10th Ann. IEEE/ACM Int'l Symp. Code Generation and Optimization (CGO 12), ACM, 2012, pp. 84-93.
2. R. Cytron, "DOACROSS: Beyond Vectorization for Multiprocessors," Proc. Int'l Conf. Parallel Processing (ICPP 86), IEEE CS, 1986, pp. 836-844.
3. B. Hertzberg and K. Olukotun, "Runtime Automatic Speculative Parallelization," Proc. 9th Ann. IEEE/ACM Int'l Symp. Code Generation and Optimization (CGO 11), IEEE CS, 2011, pp. 64-73.
4. J. Huang et al., "Decoupled Software Pipelining Creates Parallelization Opportunities," Proc. 8th Ann. IEEE/ACM Int'l Symp. Code Generation and Optimization (CGO 10), ACM, 2010, pp. 121-130.
5. A. Kotha et al., "Automatic Parallelization in a Binary Rewriter," Proc. 43rd Ann. IEEE/ACM Int'l Symp. Microarchitecture, IEEE CS, 2010, pp. 547-557.
6. G. Ottoni et al., "Automatic Thread Extraction with Decoupled Software Pipelining," Proc. 38th Ann. IEEE/ACM Int'l Symp. Microarchitecture, IEEE CS, 2005, pp. 105-118.
7. A. Raman et al., "Speculative Parallelization Using Software Multithreaded Transactions," Proc. 15th Architectural Support for Programming Languages and Operating Systems (ASPLOS 10), ACM, 2010, pp. 65-76.
8. H. Zhong et al., "Uncovering Hidden Loop Level Parallelism in Sequential Applications," Proc. IEEE 14th Int'l Symp. High Performance Computer Architecture (HPCA 08), IEEE CS, 2008, pp. 290-301.
9. R. Chappell et al., "Simultaneous Subordinate Microthreading (SSMT)," Proc. 26th Ann. Int'l Symp. Computer Architecture (ISCA 99), IEEE CS, 1999, pp. 186-195.
10. D. Kim et al., "Physical Experimentation with Prefetching Helper Threads on Intel's Hyper-Threaded Processors," Proc. Int'l Symp. Code Generation and Optimization (CGO 04), IEEE CS, 2004, pp. 27-38.
11. C-K. Luk, "Tolerating Memory Latency through Software-Controlled Pre-Execution in Simultaneous Multithreading Processors," ACM SIGARCH Computer Architecture News, vol. 29, no. 2, 2001, pp. 40-51.
12. B. Guo et al., "Practical and Accurate Low-Level Pointer Analysis," Proc. Int'l Symp. Code Generation and Optimization (CGO 04), IEEE CS, 2005, pp. 291-302.
13. S. Campanoni et al., "A Highly Flexible, Parallel Virtual Machine: Design and Experience of ILDJIT," Software—Practice & Experience, vol. 40, no. 2, 2010, pp. 177-207.
5 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool