The Path to Durable Linearizability
Emanuele D'Osualdo, Azalea Raad, Viktor Vafeiadis

TL;DR
This paper introduces a versatile, modular proof technique for establishing durable linearizability in persistent concurrent data structures, addressing a gap in formal correctness proofs for complex algorithms.
Contribution
It presents a general, powerful, modular, and incremental proof method for verifying durable linearizability across diverse persistent algorithms.
Findings
The technique can handle complex persistent algorithms in the literature.
It enables reuse of existing linearizability proofs.
Applied to various versions of a persistent set, including the link-free set.
Abstract
There is an increasing body of literature proposing new and efficient persistent versions of concurrent data structures ensuring that a consistent state can be recovered after a power failure or a crash. Their correctness is typically stated in terms of \emph{durable linearizability} (DL), which requires that individual library operations appear to be executed atomically in a sequence consistent with the real-time order and, moreover, that recovering from a crash return a state corresponding to a prefix of that sequence. Sadly, however, there are hardly any formal DL proofs, and those that do exist cover the correctness of rather simple persistent algorithms on specific (simplified) persistency models. In response, we propose a general, powerful, modular, and incremental proof technique that can be used to guide the development and establish DL. Our technique is (1) general, in that…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Scientific Computing and Data Management · Cloud Computing and Resource Management
