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
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

02/26/2021

On Register Linearizability and Termination

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

On Linearizability and the Termination of Randomized Algorithms

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

Randomized Consensus with Regular Registers

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

Linearizable Implementations Suffice for Termination of Randomized Concurrent Programs

Strong adversaries obtain additional power when a linearizable object is...
02/26/2020

Upper and Lower Bounds on the Space Complexity of Detectable Object

The emergence of systems with non-volatile main memory (NVM) increases t...
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...
08/08/2019

Privatization-Safe Transactional Memories (Extended Version)

Transactional memory (TM) facilitates the development of concurrent appl...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.