2011
DOI: 10.1145/1925844.1926394
|View full text |Cite
|
Sign up to set email alerts
|

Mathematizing C++ concurrency

Abstract: Shared-memory concurrency in C and C++ is pervasive in systems programming, but has long been poorly defined. This motivated an ongoing shared effort by the standards committees to specify concurrent behaviour in the next versions of both languages. They aim to provide strong guarantees for race-free programs, together with new (but subtle) relaxed-memory atomic primitives for highperformance concurrent code. However, the current draft standards, while the result of careful deliberation, are not yet clear and … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
182
1
2

Year Published

2015
2015
2021
2021

Publication Types

Select...
6

Relationship

2
4

Authors

Journals

citations
Cited by 121 publications
(185 citation statements)
references
References 20 publications
0
182
1
2
Order By: Relevance
“…The C/C++11 Model The C/C++11 model [13,8,2,9] aims to support DRF-SC for simple programs (those using only locks and SC atomics), but also provides a range of low-level atomics that provide less synchronisation but without the cost of restoring full SC: release/acquire write/read pairs for message-passing synchronisation, relaxed atomics that should be implementable just with single machine-level loads and stores, and release/consume pairs to expose some dependency preservation guarantees of the hardware to make them available in the language. As we shall see, the semantics of all these remains problematic.…”
Section: Drf-sc or Catch Firementioning
confidence: 99%
See 4 more Smart Citations
“…The C/C++11 Model The C/C++11 model [13,8,2,9] aims to support DRF-SC for simple programs (those using only locks and SC atomics), but also provides a range of low-level atomics that provide less synchronisation but without the cost of restoring full SC: release/acquire write/read pairs for message-passing synchronisation, relaxed atomics that should be implementable just with single machine-level loads and stores, and release/consume pairs to expose some dependency preservation guarantees of the hardware to make them available in the language. As we shall see, the semantics of all these remains problematic.…”
Section: Drf-sc or Catch Firementioning
confidence: 99%
“…For a more complete account of the proof, see Batty's thesis [5]. Recalling that the prose ISO standards for C++11 and C11 [9,2] and the mathematical formalisation of the model by Batty et al [8] correspond closely, this is effectively a mechanised proof of a key metatheoretic property of a mainstream language definition.…”
Section: Drf-sc or Catch Firementioning
confidence: 99%
See 3 more Smart Citations