Title
Performance implications of fence-based memory models
Abstract
Most mainstream shared-memory parallel programming languages are converging to a memory model, or shared variable semantics, centered on providing sequential consistency for most data-race-free programs. OpenMP, along with a small number of other languages, defines its memory model in terms of implicit fence (e.g. OpenMP flush) operations that force memory accesses to become visible to other threads in order. Synchronization operations provided by the language implicitly include such fences. In the simplest cases this is equivalent to a promise of sequential consistency for data-race-free programs. However, real languages typically also provide atomic operations with weak memory ordering constraints, such as the OpenMP atomic directives. These break the above equivalence, making the fence-based model stronger in ways that are observable, but not generally useful. As a result, conventional lock implementations are often accidentally prohibited, adding significant overhead for uncontended locks. We show that this problem affects both OpenMP and, in a more subtle way, UPC. We have been working with the OpenMP ARB to resolve these issues in future versions of OpenMP.
Year
DOI
Venue
2011
10.1145/1988915.1988919
MSPC
Keywords
Field
DocType
atomic operation,data-race-free program,weak memory,openmp arb,openmp atomic directive,sequential consistency,memory model,performance implication,conventional lock implementation,fence-based memory model,force memory access,fence-based model,atomic operations,shared memory,critical sections,critical section,parallel programming language
Synchronization,Sequential consistency,Lock (computer science),Computer science,Parallel computing,Memory ordering,Thread (computing),Memory model,Equivalence (measure theory),Semantics
Conference
Citations 
PageRank 
References 
1
0.39
6
Authors
1
Name
Order
Citations
PageRank
Hans Boehm163238.83