2016
DOI: 10.1109/tpds.2015.2393870
|View full text |Cite
|
Sign up to set email alerts
|

An OpenMP Extension that Supports Thread-Level Speculation

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 highlyparallel 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 s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

1
27
0

Year Published

2016
2016
2019
2019

Publication Types

Select...
3
3

Relationship

3
3

Authors

Journals

citations
Cited by 25 publications
(28 citation statements)
references
References 42 publications
1
27
0
Order By: Relevance
“…The real-world applications include the 2-dimensional convex hull problem (2D-hull) [10], the Delaunay triangulation problem [13,29], and a C implementation of the TREE benchmark [5]. The synthetic benchmark is the Fast [4] benchmark.…”
Section: Methodsmentioning
confidence: 99%
See 3 more Smart Citations
“…The real-world applications include the 2-dimensional convex hull problem (2D-hull) [10], the Delaunay triangulation problem [13,29], and a C implementation of the TREE benchmark [5]. The synthetic benchmark is the Fast [4] benchmark.…”
Section: Methodsmentioning
confidence: 99%
“…We have also used a synthetic benchmark called Fast [4], which presents almost no dependences between iterations, and which was designed to test the efficiency of the speculative scheduling mechanism, with few iterations…”
Section: Methodsmentioning
confidence: 99%
See 2 more Smart Citations
“…erefore, the effective use of synchronization and coordination is critical to achieving high performance. One way to achieve this goal is speculative execution, which enables concurrent synchronization through thread speculation or branch prediction [5][6][7][8]. Successful speculation will reduce the portion of continuous execution, but false speculation will increase revocation and recovery overhead.…”
Section: Related Researchmentioning
confidence: 99%