Skip to main content

Clarifying and compiling C/C++ concurrency: from C++11 to POWER

Batty, Mark and Memarian, Kayvan and Owens, Scott and Sarkar, Susmit and Sewell, Peter (2012) Clarifying and compiling C/C++ concurrency: from C++11 to POWER. In: Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages. POPL Principles of Programming Languages . ACM, New York, USA, pp. 509-520. ISBN 978-1-4503-1083-3. (doi:10.1145/2103656.2103717) (KAR id:50268)

Language: English
Download (239kB)
[thumbnail of popl079-batty.pdf]
This file may not be suitable for users of assistive technology.
Request an accessible format
Official URL:


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.

Item Type: Book section
DOI/Identification number: 10.1145/2103656.2103717
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 75 Electronic computers. Computer science
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Mark Batty
Date Deposited: 03 Nov 2015 08:27 UTC
Last Modified: 16 Nov 2021 10:20 UTC
Resource URI: (The current URI for this page, for reference purposes)
Batty, Mark:
Owens, Scott:
  • Depositors only (login required):


Downloads per month over past year