Support for Thread-Level Speculation into OpenMP

  • Sergio Aldea
  • Diego R. Llanos
  • Arturo González-Escribano
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7312)


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.


TLS systems speculative parallelization OpenMP 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 2.
    Cintra, M., Llanos, D.R.: Toward efficient and robust software speculative parallelization on multiprocessors. In: ACM PPoPP 2003 (June 2003)Google Scholar
  3. 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. 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. 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. 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
  7. 7.
    Kulkarni, M., Pingali, K., Walter, B., Ramanarayanan, G., Bala, K., Paul Chew, L.: Optimistic parallelism requires abstractions. In: ACM PLDI 2007, pp. 211–222. ACM, San Diego (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Sergio Aldea
    • 1
  • Diego R. Llanos
    • 1
  • Arturo González-Escribano
    • 1
  1. 1.Departamento de InformáticaUniversidad de ValladolidValladolidSpain

Personalised recommendations