Strongly Linearizable Implementations of Snapshots and Other Types

08/28/2019
by   Sean Ovens, et al.
0

Linearizability is the gold standard of correctness conditions for shared memory algorithms, and historically has been considered the practical equivalent of atomicity. However, it has been shown [1] that replacing atomic objects with linearizable implementations can affect the probability distribution of execution outcomes in randomized algorithms. Thus, linearizable objects are not always suitable replacements for atomic objects. A stricter correctness condition called strong linearizability has been developed and shown to be appropriate for randomized algorithms in a strong adaptive adversary model [1]. We devise several new lock-free strongly linearizable implementations from atomic registers. In particular, we give the first strongly linearizable lock-free snapshot implementation that uses bounded space. This improves on the unbounded space solution of Denysyuk and Woelfel [2]. As a building block, our algorithm uses a lock-free strongly linearizable ABA-detecting register. We obtain this object by modifying the wait-free linearizable ABA-detecting register of Aghazadeh and Woelfel [3], which, as we show, is not strongly linearizable. Aspnes and Herlihy [4] identified a wide class types that have wait-free linearizable implementations from atomic registers. These types require that any pair of operations either commute, or one overwrites the other. Aspnes and Herlihy gave a general wait-free linearizable implementation of such types, employing a wait-free linearizable snapshot object. Replacing that snapshot object with our lock-free strongly linearizable one, we prove that all types in this class have a lock-free strongly linearizable implementation from atomic registers.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/26/2021

On Register Linearizability and Termination

In a seminal work, Golab et al. showed that a randomized algorithm that ...
research
10/28/2020

On Linearizability and the Termination of Randomized Algorithms

We study the question of whether the "termination with probability 1" pr...
research
06/11/2020

Randomized Consensus with Regular Registers

The well-known randomized consensus algorithm by Aspnes and Herlihy for ...
research
06/29/2021

Linearizable Implementations Suffice for Termination of Randomized Concurrent Programs

Strong adversaries obtain additional power when a linearizable object is...
research
01/06/2023

Asynchronous Wait-Free Runtime Verification and Enforcement of Linearizability

This paper studies the problem of asynchronous wait-free runtime verific...
research
01/22/2020

Fine-grained Analysis on Fast Implementations of Multi-writer Atomic Registers

This draft in its current version proves an impossibility result concern...
research
08/06/2020

Efficient Multi-word Compare and Swap

Atomic lock-free multi-word compare-and-swap (MCAS) is a powerful tool f...

Please sign up or login with your details

Forgot password? Click here to reset