Skip to main content

Mixed-Size Concurrency: ARM, POWER, C/C++11, and SC

Flur, Shaked and Sarkar, Susmit and Pulte, Christopher and Nienhuis, Kyndylan and Maranget, Luc and Gray, Kathryn E. and Sezgin, Ali and Batty, Mark and Sewell, Peter (2017) Mixed-Size Concurrency: ARM, POWER, C/C++11, and SC. In: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages. POPL Principles of Programming Languages . ACM, New York, USA, pp. 429-442. ISBN 978-1-4503-4660-3. (doi:10.1145/3009837.3009839) (KAR id:64723)

PDF Pre-print
Language: English
Download (403kB) Preview
[thumbnail of mixed-size.pdf]
This file may not be suitable for users of assistive technology.
Request an accessible format
Official URL:


Previous work on the semantics of relaxed shared-memory concurrency has only considered the case in which each load reads the data of exactly one store. In practice, however, multiprocessors support mixed-size accesses, and these are used by systems software and (to some degree) exposed at the C/C++ language level. A semantic foundation for software, therefore, has to address them.

We investigate the mixed-size behaviour of ARMv8 and IBM POWER architectures and implementations: by experiment, by developing semantic models, by testing the correspondence between these, and by discussion with ARM and IBM staff. This turns out to be surprisingly subtle, and on the way we have to revisit the fundamental concepts of coherence and sequential consistency, which change in this setting. In particular, we show that adding a memory barrier between each instruction does not restore sequential consistency. We go on to extend the C/C++11 model to support non-atomic mixed-size memory accesses.

This is a necessary step towards semantics for real-world shared-memory concurrent code, beyond litmus tests.

Item Type: Book section
DOI/Identification number: 10.1145/3009837.3009839
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: 24 Nov 2017 14:45 UTC
Last Modified: 09 Dec 2022 07:14 UTC
Resource URI: (The current URI for this page, for reference purposes)
Batty, Mark:
  • Depositors only (login required):


Downloads per month over past year