Winter, K., Smith, G. and Derrick, J. (2019) Modelling concurrent objects running on the TSO and ARMv8 memory models. Science of Computer Programming, 184. 102308. ISSN 0167-6423
Abstract
Hardware weak memory models, such as TSO and ARM, are used to increase the performance of concurrent programs by allowing program instructions to be executed on the hardware in a different order to that specified by the software. This places a challenge on the verification of concurrent objects used in these programs since the variations in the executions need to be considered.
Many approaches exist for verifying concurrent objects along with associated tool support. In particular, we focus on a thread-local approach to checking linearizability, the standard correctness condition for concurrent objects, using a model checker. This approach, like most others, does not support weak memory models. In order to reuse this existing approach, therefore, we show how to use the semantics of a weak memory model to directly derive a transition system of concurrent objects running under it.
We do this for both TSO and the latest version of ARM, ARMv8. Since there is a straightforward implementation of TSO, we reflect this in our transition system which includes a buffer of writes to memory mirroring the store buffer of TSO. We illustrate linearizability checking using model checking on a transition system generated by this approach.
The implementation of the significantly more complex ARMv8 architecture is less obvious. We derive our transition system in this case from an exisiting operational semantics that is consistent with the results of thousands of litmus test run on ARM hardware.
Metadata
Item Type: | Article |
---|---|
Authors/Creators: |
|
Copyright, Publisher and Additional Information: | © 2019 Elsevier. This is an author produced version of a paper subsequently published in Science of Computer Programming. Uploaded in accordance with the publisher's self-archiving policy. Article available under the terms of the CC-BY-NC-ND licence (https://creativecommons.org/licenses/by-nc-nd/4.0/). |
Keywords: | Linearizability; Weak memory models; TSO; ARMv8; Model checking |
Dates: |
|
Institution: | The University of Sheffield |
Academic Units: | The University of Sheffield > Faculty of Science (Sheffield) |
Funding Information: | Funder Grant number Engineering and Physical Science Research Council (EPSRC) EP/R032351/1 |
Depositing User: | Symplectic Sheffield |
Date Deposited: | 02 Oct 2019 09:12 |
Last Modified: | 16 Dec 2021 10:50 |
Status: | Published |
Publisher: | Elsevier |
Refereed: | Yes |
Identification Number: | 10.1016/j.scico.2019.102308 |
Open Archives Initiative ID (OAI ID): | oai:eprints.whiterose.ac.uk:151638 |