St Andrews Research Repository

View Item 
  •   St Andrews Research Repository
  • University of St Andrews Research
  • University of St Andrews Research
  • University of St Andrews Research
  • View Item
  •   St Andrews Research Repository
  • University of St Andrews Research
  • University of St Andrews Research
  • University of St Andrews Research
  • View Item
  •   St Andrews Research Repository
  • University of St Andrews Research
  • University of St Andrews Research
  • University of St Andrews Research
  • View Item
  • Login
JavaScript is disabled for your browser. Some features of this site may not work without it.

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

View/Open
Flur_2016_Mixed_size_POPL17_AAM.pdf (327.4Kb)
Date
01/01/2017
Author
Flur, Shaked
Sarkar, Susmit
Pulte, Christopher
Nienhuis, Kyndylan
Maranget, Luc
Gray, Kathryn
Sezgin, Ali
Batty, Mark
Sewell, Peter
Keywords
Relaxed Memory Models
Mixed-size
Semantics
ISA
QA75 Electronic computers. Computer science
NDAS
Metadata
Show full item record
Abstract
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, and prove the standard compilation scheme from C11 atomics to POWER remains sound.This is a necessary step towards semantics for real-world shared-memory concurrent code, beyond litmus tests.
Citation
Flur , S , Sarkar , S , Pulte , C , Nienhuis , K , Maranget , L , Gray , K , Sezgin , A , Batty , M & Sewell , P 2017 , Mixed-size Concurrency: ARM, POWER, C/C++11, and SC . in Proceedings of the 44th annual ACM-SIGPLAN Symposium on Principles of programming languages . ACM , pp. 429-442 , POPL'17 44th ACM SIGPLAN Symposium on Principles of Programming Languages , Paris , France , 15/01/17 . DOI: 10.1145/3009837.3009839
 
conference
 
Publication
Proceedings of the 44th annual ACM-SIGPLAN Symposium on Principles of programming languages
DOI
https://doi.org/10.1145/3009837.3009839
Type
Conference item
Rights
© 2016, the Author(s). This work has been made available online in accordance with the publisher’s policies. This is the author created, accepted version manuscript following peer review and may differ slightly from the final published version. The final published version of this work is available at dl.acm.org / https://doi.org/10.1145/3009837.3009839
Description
This work was partly funded by the EPSRC Programme Grant REMS: Rigorous Engineering for Mainstream Systems, EP/K008528/1, EPSRC grant C3: Scalable & Verified Shared Memory via Consistency-directed Cache Coherence EP/M027317/1 (Sarkar), an ARM iCASE award (Pulte), a Gates Cambridge Scholarship (Nienhuis). and ANR grant WMC (ANR-11-JS02-011, Maranget).
Collections
  • Computer Science Research
  • University of St Andrews Research
URI
http://hdl.handle.net/10023/9901

Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.

Advanced Search

Browse

All of RepositoryCommunities & CollectionsBy Issue DateNamesTitlesSubjectsClassificationTypeFunderThis CollectionBy Issue DateNamesTitlesSubjectsClassificationTypeFunder

My Account

Login

Open Access

To find out how you can benefit from open access to research, see our library web pages and Open Access blog. For open access help contact: openaccess@st-andrews.ac.uk.

How to submit research papers

The full text of research papers can be submitted to the repository via PURE, the University's research information system. For help see our guide: How to deposit in Pure.

Electronic thesis deposit

Help with deposit.

Repository help

For repository help contact: Digital-Repository@st-andrews.ac.uk.

Give Feedback

Cookie policy

This site may use cookies. Please see Terms and Conditions.

Usage statistics

COUNTER-compliant statistics on downloads from the repository are available from the IRUS-UK Service. Contact us for information.

© University of St Andrews Library

University of St Andrews is a charity registered in Scotland, No SC013532.

  • Facebook
  • Twitter