Abstract
In this paper, we present a Thread-Level Speculation (TLS) framework whose main feature is to be able to speculatively parallelize a sequential loop nest in various ways, by re-scheduling its iterations. The transformation to be applied is selected at runtime with the goal of minimizing the number of rollbacks and maximizing performance. We perform code transformations by applying the polyhedral model that we adapted for speculative and runtime code parallelization. For this purpose, we design a parallel code pattern which is patched by our runtime system according to the profiling information collected on some execution samples. Adaptability is ensured by considering chunks of code of various sizes, that are launched successively, each of which being parallelized in a different manner, or run sequentially, depending on the currently observed behavior for accessing memory.
We show on several benchmarks that our framework yields good performance on codes which could not be handled efficiently by previously proposed TLS systems.
- U. Bondhugula, A. Hartono, J. Ramanujam, and P. Sadayappan. A practical automatic polyhedral parallelizer and locality optimizer. In PLDI '08, pages 101--113, 2008. Google Scholar
Digital Library
- W. Liu, J. Tuck, L. Ceze, W. Ahn, K. Strauss, J. Renau, and J. Torrellas. POSH: a TLS compiler that exploits program structure. In Procs of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP '06, pages 158--167, New York, USA. Google Scholar
Digital Library
- E. Raman, N. Va hharajani, R. Rangan, and D. I. August. Spice: speculative parallel iteration chunk execution. In Procs of the 6th annual IEEE/ACM international symposium on Code generation and optimization, CGO '08, pages 175--184, New York, USA, 2008. ACM. Google Scholar
Digital Library
- L. Rauchwerger and D. Padua. The LRPD test: speculative run-time parallelization of loops with privatization and reduction parallelization. In Procs of the ACM SIGPLAN 1995 conference on Programming language design and implementation, PLDI '95, pages 218--232, 1995. Google Scholar
Digital Library
Index Terms
Adapting the polyhedral model as a framework for efficient speculative parallelization
Recommendations
Adapting the polyhedral model as a framework for efficient speculative parallelization
PPoPP '12: Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel ProgrammingIn this paper, we present a Thread-Level Speculation (TLS) framework whose main feature is to be able to speculatively parallelize a sequential loop nest in various ways, by re-scheduling its iterations. The transformation to be applied is selected at ...
A cost-driven compilation framework for speculative parallelization of sequential programs
PLDI '04: Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementationThe emerging hardware support for thread-level speculation opens new opportunities to parallelize sequential programs beyond the traditional limits. By speculating that many data dependences are unlikely during runtime, consecutive iterations of a ...
A cost-driven compilation framework for speculative parallelization of sequential programs
PLDI '04The emerging hardware support for thread-level speculation opens new opportunities to parallelize sequential programs beyond the traditional limits. By speculating that many data dependences are unlikely during runtime, consecutive iterations of a ...







Comments