Repository logo
 

Promising-ARM/RISC-V: A Simpler and Faster Operational Concurrency Model

Accepted version
Peer-reviewed

Type

Conference Object

Change log

Authors

Pulte, Christopher 
Pichon-Pharabod, Jean 
Kang, Jeehoon 
Lee, Sung-Hwan 
Hur, Chung-Kil 

Abstract

For ARMv8 and RISC-V, there are concurrency models in two styles, extensionally equivalent: axiomatic models, expressing the concurrency semantics in terms of global properties of complete executions; and operational models, that compute incrementally. The latter are in an abstract microarchitectural style: they execute each instruction in multiple steps, out-of-order and with explicit branch speculation. This similarity to hardware implementations has been important in developing the models and in establishing confidence, but involves complexity that, for programming and model-checking, one would prefer to avoid.

We present new more abstract operational models for ARMv8 and RISC-V, and an exploration tool based on them. The models compute the allowed concurrency behaviours incrementally based on thread-local conditions and are significantly simpler than the existing operational models: executing instructions in a single step and (with the exception of early writes) in program order, and without branch speculation. We prove the models equivalent to the existing ARMv8 and RISC-V axiomatic models in Coq. The exploration tool is the first such tool for ARMv8 and RISC-V fast enough for exhaustively checking the concurrency behaviour of a number of interesting examples. We demonstrate using the tool for checking several standard concurrent datastructure and lock implementations, and for interactively stepping through model-allowed executions for debugging.

Description

Keywords

4613 Theory Of Computation, 46 Information and Computing Sciences

Journal Title

Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation

Conference Name

40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’19)

Journal ISSN

Volume Title

Publisher

Association for Computing Machinery

Rights

All rights reserved
Sponsorship
EPSRC (1675850)
Engineering and Physical Sciences Research Council (EP/K008528/1)
EP/K008528/1