Show simple item record

Files in this item

Thumbnail
Thumbnail

Item metadata

dc.contributor.authorPulte, Christopher
dc.contributor.authorFlur, Shaked
dc.contributor.authorDeacon, Will
dc.contributor.authorFrench, Jon
dc.contributor.authorSarkar, Susmit
dc.contributor.authorSewell, Peter
dc.date.accessioned2017-11-27T15:30:06Z
dc.date.available2017-11-27T15:30:06Z
dc.date.issued2018-01
dc.identifier251634638
dc.identifierb90e0329-f3ab-409c-88c2-e88cf753003a
dc.identifier000688016900019
dc.identifier85120113233
dc.identifier.citationPulte , 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/3158107en
dc.identifier.citationconferenceen
dc.identifier.issn2475-1421
dc.identifier.otherORCID: /0000-0002-4259-9213/work/125727569
dc.identifier.urihttps://hdl.handle.net/10023/12179
dc.description.abstractARM 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.
dc.format.extent29
dc.format.extent852112
dc.format.extent853452
dc.language.isoeng
dc.publisherACM
dc.relation.ispartofProceedings of the ACM on Programming Languages (POPL '18)en
dc.relation.ispartofseriesProceedings of the ACM on Programming Languagesen
dc.subjectRelaxed Memory Modelsen
dc.subjectSemanticsen
dc.subjectOperationalen
dc.subjectAxiomaticen
dc.subjectQA75 Electronic computers. Computer scienceen
dc.subjectNDASen
dc.subjectBDCen
dc.subjectR2Cen
dc.subject~DC~en
dc.subjectMCPen
dc.subject.lccQA75en
dc.titleSimplifying ARM concurrency : multicopy-atomic axiomatic and operational models for ARMv8en
dc.typeConference itemen
dc.contributor.sponsorEPSRCen
dc.contributor.institutionUniversity of St Andrews. School of Computer Scienceen
dc.identifier.doi10.1145/3158107
dc.identifier.grantnumberEP/M027317/1en


This item appears in the following Collection(s)

Show simple item record