Authors
Mark Batty, Kayvan Memarian, Scott Owens, Susmit Sarkar, Peter Sewell
Publication date
2012/1/18
Journal
ACM SIGPLAN Notices
Volume
47
Issue
1
Pages
509-520
Publisher
ACM
Description
The upcoming C and C++ revised standards add concurrency to the languages, for the first time, in the form of a subtle *relaxed memory model* (the *C++11 model*). This aims to permit compiler optimisation and to accommodate the differing relaxed-memory behaviours of mainstream multiprocessors, combining simple semantics for most code with high-performance *low-level atomics* for concurrency libraries. In this paper, we first establish two simpler but provably equivalent models for C++11, one for the full language and another for the subset without consume operations. Subsetting further to the fragment without low-level atomics, we identify a subtlety arising from atomic initialisation and prove that, under an additional condition, the model is equivalent to sequential consistency for race-free programs.
We then prove our main result, the correctness of two proposed compilation schemes for the C++11 load …
Total citations
20112012201320142015201620172018201920202021202220232024212129141521712761054
Scholar articles
M Batty, K Memarian, S Owens, S Sarkar, P Sewell - ACM SIGPLAN Notices, 2012