paper

Adaptive Snapshots Require Visible Reads

arXiv:2608.13705

Abstract

Snapshots are widely used to record the state of a running execution. Snapshots have been extensively studied in the literature, with the goal of improving performance and extending functionality. In this work, we consider snapshots over a set of components. Adaptive snapshots provide a Click() operation that logically creates a new snapshot and an Observe operation that returns the state of component at the most recent Click(). Several constructions of adaptive snapshots have recently been proposed; interestingly, none of them employs invisible reads, even though invisible reads can improve performance, sometimes significantly. In this paper, we ask whether it is possible to build an adaptive snapshot with invisible reads. We show that, even when restricting the snapshot algorithm to the single-writer, single-scanner setting, under reasonable assumptions satisfied by all existing adaptive snapshot implementations, adaptive snapshots with invisible reads are not linearizable.

Accepted to the 40th International Symposium on Distributed Computing (DISC), 2026

Adaptive Snapshots Require Visible Reads · wovepaper