Support for Thread-Level Speculation into OpenMP
Software-based, thread-level speculation (TLS) systems allow the parallel execution of loops that can not be analyzed at compile time. TLS systems optimistically assume that the loop is parallelizable, and augment the original code with functions that check the consistency of the parallel execution. If a dependence violation is detected, offending threads are restarted to consume correct values. Although many TLS implementations have been developed so far, robustness issues and changes required to existent compiler technology prevent them to reach the mainstream. In this paper we propose a different approach: To add TLS support to OpenMP. A new OpenMP speculative clause would allow to execute in parallel loops whose dependence analysis can not be done at compile time.
KeywordsTLS systems speculative parallelization OpenMP
Unable to display preview. Download preview PDF.
- 1.Aldea, S., Llanos, D.R., Gonzalez-Escribano, A.: Towards a compiler framework for thread-level speculation. In: PDP 2011, pp. 267–271. IEEE (February 2011)Google Scholar
- 2.Cintra, M., Llanos, D.R.: Toward efficient and robust software speculative parallelization on multiprocessors. In: ACM PPoPP 2003 (June 2003)Google Scholar
- 3.Cintra, M., Llanos, D.R.: Design space exploration of a software speculative parallelization scheme. IEEE TPDS 2005 16(6), 562–576 (2005)Google Scholar
- 4.Dang, F., Yu, H., Rauchwerger, L.: The R-LRPD Test: Speculative Parallelization of Partially Parallel Loops. In: IEEE IPDPS 2002 (April 2002)Google Scholar
- 5.Gupta, M., Nim, R.: Techniques for speculative run-time parallelization of loops. In: Proc. of the 1998 ACM/IEEE Conference on Supercomputing, pp. 1–12 (1998)Google Scholar
- 6.Kulkarni, M., Pingali, K., Ramanarayanan, G., Walter, B., Bala, K., Paul Chew, L.: Optimistic parallelism benefits from data partitioning. In: ACM ASPLOS 2008, pp. 233–243. ACM, Seattle (2008)Google Scholar