Linearizable Implementations Suffice for Termination of Randomized Concurrent Programs

by   Hagit Attiya, et al.

Strong adversaries obtain additional power when a linearizable object is substituted instead of an atomic object in a concurrent program. This paper suggests a novel approach to blunting this additional power, without relying on strongly linearizable implementations. Instead, a simple modification of some existing linearizable implementations is proposed with the property that if a concurrent program has non-zero termination probability when used with atomic objects, then it also has non-zero termination probability when it is used with the modified linearizable implementations. Our results apply to the ABD implementation of a shared register in asynchronous message-passing systems and also to AAD+ linearizable snapshots in asynchronous shared-memory systems.


page 1

page 2

page 3

page 4


On Linearizability and the Termination of Randomized Algorithms

We study the question of whether the "termination with probability 1" pr...

Verification of Shared-Reading Synchronisers

Synchronisation classes are an important building block for shared memor...

Asynchronous Wait-Free Runtime Verification and Enforcement of Linearizability

This paper studies the problem of asynchronous wait-free runtime verific...

Safe Privatization in Transactional Memory

Transactional memory (TM) facilitates the development of concurrent appl...

On Register Linearizability and Termination

In a seminal work, Golab et al. showed that a randomized algorithm that ...

Strongly Linearizable Implementations of Snapshots and Other Types

Linearizability is the gold standard of correctness conditions for share...

Minimal Translations from Synchronous Communication to Synchronizing Locks

In order to understand the relative expressive power of larger concurren...

Please sign up or login with your details

Forgot password? Click here to reset