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)

PDF
Language: English
Download (288kB) Preview
[img]
Preview
Official URL
http://dx.doi.org/10.1145/2103656.2103717

Abstract

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: Faculties > Sciences > School of Computing > Programming Languages and Systems Group
Depositing User: Mark Batty
Date Deposited: 03 Nov 2015 08:27 UTC
Last Modified: 06 May 2020 03:12 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/50268 (The current URI for this page, for reference purposes)
Batty, Mark: https://orcid.org/0000-0001-7053-4364
Owens, Scott: https://orcid.org/0000-0002-7437-4780
  • Depositors only (login required):

Downloads

Downloads per month over past year