,
Tomer Cory
,
Erez Petrank
Creative Commons Attribution 4.0 International license
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 adaptive snapshots over a set of m components. Adaptive snapshots provide a Click() operation that logically creates a new snapshot and an Observe(i) operation that returns the state of component i 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.
@InProceedings{sulimany_et_al:LIPIcs.DISC.2026.1,
author = {Sulimany, Niv and Cory, Tomer and Petrank, Erez},
title = {{Adaptive Snapshots Require Visible Reads}},
booktitle = {40th International Symposium on Distributed Computing (DISC 2026)},
pages = {1:1--1:24},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-454-3},
ISSN = {1868-8969},
year = {2026},
volume = {397},
editor = {Moses Jr., William K. and Censor-Hillel, Keren},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.DISC.2026.1},
URN = {urn:nbn:de:0030-drops-281076},
doi = {10.4230/LIPIcs.DISC.2026.1},
annote = {Keywords: Snapshot, Shared memory, Linearization, Concurrency}
}