Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation 2017
DOI: 10.1145/3062341.3062352
|View full text |Cite
|
Sign up to set email alerts
|

Repairing sequential consistency in C/C++11

Abstract: The C/C++11 memory model defines the semantics of concurrent memory accesses in C/C++, and in particular supports racy "atomic" accesses at a range of different consistency levels, from very weak consistency ("relaxed") to strong, sequential consistency ("SC"). Unfortunately, as we observe in this paper, the semantics of SC atomic accesses in C/C++11, as well as in all proposed strengthenings of the semantics, is flawed, in that (contrary to previously published results) both suggested compilation schemes to t… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

1
146
0

Year Published

2017
2017
2022
2022

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 119 publications
(147 citation statements)
references
References 23 publications
1
146
0
Order By: Relevance
“…The formalisation in this section follows the existing literature on axiomatic C11 semantics [5,17]. First we give some preliminary definitions.…”
Section: C11 States and Basic Ordersmentioning
confidence: 99%
See 3 more Smart Citations
“…The formalisation in this section follows the existing literature on axiomatic C11 semantics [5,17]. First we give some preliminary definitions.…”
Section: C11 States and Basic Ordersmentioning
confidence: 99%
“…The relation fr = (rf −1 ; mo)\Id (where ; is relational composition) is the "from-read" relation 1 that relates each read to all writes that are mo-after the write the read has read from. We must subtract Id (identity) edges from rf −1 ; mo to cope with update events, which have the potential to induce reflexivity in fr [4,17]. Example 3.2.…”
Section: C11 States and Basic Ordersmentioning
confidence: 99%
See 2 more Smart Citations
“…Work in progress by Lahav et al [44] has uncovered a bug in the C11/Power mapping previously thought to have been proven sound by Batty et al [15]. 6 Before becoming aware of their work, we had used Alloy to verify the soundness of the mapping for up to 6 software-level events and up to 6 architecture-level events.…”
Section: Compiling C11 To Powermentioning
confidence: 99%