Atomic Snapshots of Shared Memory

Yehuda Afek, Hagit Attiya, Danny Dolev, Eli Gafni, Michael Merritt, Nir Shavit

Research output: Contribution to journalArticlepeer-review

346 Scopus citations

Abstract

This paper introduces a general formulation of atomic snapshot memory, a sharedmemory partitioned into words written1993 by individual processes, orinstantaneously read (scanned) in itsentirety. This paper presents three wait-free implementations of atomicsnapshot memory. The first implementation in this paper uses unbounded(integer) fields in these registers, and is particularly easy tounderstand. The second implementation uses bounded registers. Itscorrectness proof follows the ideas of the unbounded implementation.Both constructions implement a single-writer snapshot memory, in whicheach word may be updated by only one process, from single-writer, n-reader registers. The thirdalgorithm implements a multi-writer snapshot memory from atomic n-writer, n-reader registers, again echoing keyideas from the earlier constructions. All operations require (n2) readsand writes to the component shared registers in the worst case.

Original languageEnglish
Pages (from-to)873-890
Number of pages18
JournalJournal of the ACM
Volume40
Issue number4
DOIs
StatePublished - 9 Jan 1993

Keywords

  • atomic
  • consistent state
  • fault-tolerance
  • snapshot

Fingerprint

Dive into the research topics of 'Atomic Snapshots of Shared Memory'. Together they form a unique fingerprint.

Cite this