A sound and complete definition of linearizability on weak memory models

02/14/2018
by   Graeme Smith, et al.
0

Linearizability is the standard correctness notion for concurrent objects, i.e., objects designed to be accessed simultaneously by multiple threads. In this paper, we explain why the original definition of linearizability is not applicable to code running on the weak memory models supported by modern multicore architectures, and provide an alternative definition which is applicable. In contrast to earlier work, our definition is proved to be both sound and complete. Furthermore, while earlier work has focussed on linearizability for the TSO (Total Store Order) architecture, ours is applicable to any existing weak memory model. We illustrate how it can be used to prove the correctness of a simple case study on the widely used TSO, Power and ARM architectures.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/23/2018

Correctness of Concurrent Objects under Weak Memory Models

In this paper we develop a theory for correctness of concurrent objects ...
research
05/14/2021

Linearizability: a Typo

Linearizability is the de facto consistency condition for concurrent obj...
research
11/30/2021

Verifying and Optimizing Compact NUMA-Aware Locks on Weak Memory Models

Developing concurrent software is challenging, especially if it has to r...
research
04/07/2022

Separation of concerning things: a simpler basis for defining and programming with the C/C++ memory model (extended version)

The C/C++ memory model provides an interface and execution model for pro...
research
02/06/2018

Causal Linearizability: Compositionality for Partially Ordered Executions

In the interleaving model of concurrency, where events are totally order...
research
10/13/2017

The Semantics of Transactions and Weak Memory in x86, Power, ARMv8, and C++

Weak memory models trade programmability for performance, while transact...
research
05/21/2018

Stamp-it: A more Thread-efficient, Concurrent Memory Reclamation Scheme in the C++ Memory Model

We present Stamp-it, a new, concurrent, lock-less memory reclamation sch...

Please sign up or login with your details

Forgot password? Click here to reset