St Andrews Research Repository

St Andrews University Home
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.

Simplifying ARM concurrency : multicopy-atomic axiomatic and operational models for ARMv8

Thumbnail
View/Open
top_camera_ready.pdf (833.4Kb)
top.pdf (832.1Kb)
Date
01/2018
Author
Pulte, Christopher
Flur, Shaked
Deacon, Will
French, Jon
Sarkar, Susmit
Sewell, Peter
Funder
EPSRC
Grant ID
EP/M027317/1
Keywords
Relaxed Memory Models
Semantics
Operational
Axiomatic
QA75 Electronic computers. Computer science
NDAS
BDC
R2C
~DC~
MCP
Metadata
Show full item record
Altmetrics Handle Statistics
Altmetrics DOI Statistics
Abstract
ARM has a relaxed memory model, previously specified in informal prose for ARMv7 and ARMv8. Over time, and partly due to work building formal semantics for ARM concurrency, it has become clear that some of the complexity of the model is not justified by the potential benefits. In particular, the model was originally non-multicopy-atomic: writes could become visible to some other threads before becoming visible to all — but this has not been exploited in production implementations, the corresponding potential hardware optimisations are thought to have insufficient benefits in the ARM context, and it gives rise to subtle complications when combined with other ARMv8 features. The ARMv8 architecture has therefore been revised: it now has a multicopy-atomic model. It has also been simplified in other respects, including more straightforward notions of dependency, and the architecture now includes a formal concurrency model. In this paper we detail these changes and discuss their motivation. We define two formal concurrency models: an operational one, simplifying the Flowing model of Flur et al., and the axiomatic model of the revised ARMv8 specification. The models were developed by an academic group and by ARM staff, respectively, and this extended collaboration partly motivated the above changes. We prove the equivalence of the two models. The operational model is integrated into an executable exploration tool with new web interface, demonstrated by exhaustively checking the possible behaviours of a loop-unrolled version of a Linux kernel lock implementation, a previously known bug due to unprevented speculation, and a fixed version.
Citation
Pulte , C , Flur , S , Deacon , W , French , J , Sarkar , S & Sewell , P 2018 , Simplifying ARM concurrency : multicopy-atomic axiomatic and operational models for ARMv8 . in Proceedings of the ACM on Programming Languages (POPL '18) . , 19 , Proceedings of the ACM on Programming Languages , no. POPL , vol. 2 , ACM , New York , pp. 1-29 , POPL '18 45th ACM SIGPLAN Symposium on Principles of Programming Languages , Los Angeles , California , United States , 7/01/18 . https://doi.org/10.1145/3158107
 
conference
 
Publication
Proceedings of the ACM on Programming Languages (POPL '18)
DOI
https://doi.org/10.1145/3158107
ISSN
2475-1421
Type
Conference item
Rights
Copyright © 2018, 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 https://doi.org/10.1145/3158107
Collections
  • University of St Andrews Research
URI
http://hdl.handle.net/10023/12179

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.

Accessibility

Read our Accessibility statement.

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