The potential for using thread-level data speculation to facilitate automatic parallelization
Top Cited Papers
- 27 November 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- Vol. 298, 2-13
- https://doi.org/10.1109/hpca.1998.650541
Abstract
As we look to the future, and the prospect of a billion transistors on a chip, it seems inevitable that microprocessors will exploit having multiple parallel threads. To achieve the full potential of these "single-chip multiprocessors", however, we must find a way to parallelize non-numeric applications. Unfortunately, compilers have had little success in parallelizing non-numeric codes due to their complex access patterns. This paper explores the potential for using thread-level data speculation (TLDS) to overcome this limitation by allowing the compiler to view parallelization solely as a cost/benefit tradeoff rather than something which is likely to violate program correctness. Our experimental results demonstrate that with realistic compiler support, TLDS can offer significant program speedups. We also demonstrate that through modest hardware extensions, a generic single-chip multiprocessor could support TLDS by augmenting its cache coherence scheme to detect dependence violations, and by using the primary data caches to buffer speculative state.Keywords
This publication has 16 references indexed in Scilit:
- Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffersPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Compiler-directed page coloring for multiprocessorsPublished by Association for Computing Machinery (ACM) ,1996
- The case for a single-chip multiprocessorPublished by Association for Computing Machinery (ACM) ,1996
- Missing the memory wallPublished by Association for Computing Machinery (ACM) ,1996
- ARB: a hardware mechanism for dynamic reordering of memory referencesIEEE Transactions on Computers, 1996
- The M-Machine multicomputerPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1995
- The LRPD testPublished by Association for Computing Machinery (ACM) ,1995
- Multiscalar processorsPublished by Association for Computing Machinery (ACM) ,1995
- Dynamic memory disambiguation using the memory conflict bufferPublished by Association for Computing Machinery (ACM) ,1994
- Run-time disambiguation: coping with statically unpredictable dependenciesIEEE Transactions on Computers, 1989