Visibility Reasoning for Concurrent Snapshot Algorithms
Preprint
Abstract
Visibility relations have been proposed by Henzinger et al. as an abstraction for proving linearizability of concurrent algorithms that obtains modular and reusable proofs. This is in contrast to the customary approach based on exhibiting the algorithm's linearization points. In this paper we apply visibility relations to develop modular proofs for three elegant concurrent snapshot algorithms of Jayanti. The proofs are divided by signatures into components of increasing level of abstraction; the components at higher abstraction levels are shared, i.e., they apply to all three algorithms simultaneously. Importantly, the interface properties mathematically capture Jayanti's original intuitions that have previously been given only informally.Keywords
All Related Versions
This publication has 17 references indexed in Scilit:
- Verifying Visibility-Based Weak Consistency2020
- Proving Linearizability Using Forward Simulations2017
- Aspect-Oriented Linearizability Proofs2013
- Lock-Free Data-Structure Iterators2013
- The Art of Multiprocessor ProgrammingKybernetes, 2008
- Efficient Wait-Free Implementation of Multiword LL/SC Variables2005
- An optimal multi-writer snapshot algorithm2005
- Forward and Backward SimulationsInformation and Computation, 1995
- Atomic snapshots of shared memoryJournal of the ACM, 1993
- The existence of refinement mappingsTheoretical Computer Science, 1991