Abstract
The demand for thread-level-parallelism (TLP) on commodity processors is endless as it is essential for gaining performance and saving energy. However, TLP in today's programs is limited by dependences that must be satisfied at run time. We have found that for nondeterministic programs, some of these actual dependences can be satisfied with alternative data that can be generated in parallel, thus boosting the program's TLP. Satisfying these dependences with alternative data nonetheless produces final outputs that match those of the original nondeterministic program. To demonstrate the practicality of our technique, we describe the design, implementation, and evaluation of our compilers, autotuner, profiler, and runtime, which are enabled by our proposed C++ programming language extensions. The resulting system boosts the performance of six well-known nondeterministic and multi-threaded benchmarks by 158.2% (geometric mean) on a 28-core Intel-based platform.
Original language | English (US) |
---|---|
Title of host publication | ASPLOS 2018 - 23rd International Conference on Architectural Support for Programming Languages and Operating Systems |
Publisher | Association for Computing Machinery |
Pages | 432-447 |
Number of pages | 16 |
ISBN (Electronic) | 9781450349116 |
DOIs | |
State | Published - Mar 19 2018 |
Event | 23rd International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2018 - Williamsburg, United States Duration: Mar 24 2018 → Mar 28 2018 |
Publication series
Name | International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS |
---|
Other
Other | 23rd International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2018 |
---|---|
Country/Territory | United States |
City | Williamsburg |
Period | 3/24/18 → 3/28/18 |
Funding
This project is made possible by support from the US NSF through grants CCF-1453853, CCF-1533560, and the Department of Energy’s Sandia National Laboratories through the Hobbes Project. This project is made possible by support from the US NSF through grants CCF-1453853, CCF-1533560, and the Department of Energy's Sandia National Laboratories through the Hobbes Project.
Keywords
- Dependences
- Parallelization
- Speculation
ASJC Scopus subject areas
- Software
- Information Systems
- Hardware and Architecture