Por favor, use este identificador para citar o enlazar este ítem:http://uvadoc.uva.es/handle/10324/29108
Título
An OpenMP Extension that Supports Thread-Level Speculation
Autor
Año del Documento
2016
Editorial
IEEE Press
Descripción
Producción Científica
Documento Fuente
IEEE Transactions on Parallel and Distributed Systems, 27(1), pp. 78-91, January 2016, ISSN 1045-9219
Abstract
OpenMP directives are the de-facto standard for shared-memory parallel programming. However, OpenMP does not guarantee the correctness of the parallel execution of a given loop if runtime data dependences arise. Consequently, many highly-parallel regions cannot be safely parallelized with OpenMP due to the possibility of a dependence violation. In this paper, we propose to augment OpenMP capabilities, by adding thread-level speculation (TLS) support. Our contribution is threefold. First, we have defined a new speculative clause for variables inside parallel loops. This clause ensures that all accesses to these variables will be carried out according to sequential semantics. Second, we have created a new, software-based TLS runtime library to ensure correctness in the parallel execution of OpenMP loops that include speculative variables. Third, we have developed a new GCC plugin, which seamlessly translates our OpenMP speculative clause into calls to our TLS runtime engine. The result is the ATLaS C Compiler framework, which takes advantage of TLS techniques to expand OpenMP functionalities, and guarantees the sequential semantics of any parallelized loop.
Revisión por pares
SI
Patrocinador
Castilla-Leon Regional Government (VA172A12-2, PIRTU); Ministerio de Industria, Spain (CENIT OCEANLIDER); MICINN (Spain) and the European Union FEDER (MOGECOPP project TIN2011- 25639, CAPAP-H3 network TIN2010-12011-E, CAPAPH4 network TIN2011-15734-E).
Version del Editor
Propietario de los Derechos
IEEE Press
Idioma
eng
Derechos
restrictedAccess
Aparece en las colecciones
Files in questo item
La licencia del ítem se describe como Attribution 4.0 International