Atomic snapshots of shared memory

  • Authors:
  • Yehuda Afek;Hagit Attiya;Danny Dolev;Eli Gafni;Michael Merritt;Nir Shavit

  • Affiliations:
  • Tel-Aviv Univ., Tel-Aviv, Israel and AT&T Bell Labs, Murray Hill, NJ;Technion, Haifa, Israel;Hebrew Univ., Jerusalem, Israel and IBM Almaden Research Center, San Jose, CA;Tel-Aviv Univ., Tel-Aviv, Israel and Univ. of California, Los Angeles;AT&T Bell Labs, Murray Hill, NJ;IBM Almaden Research Center, San Jose, CA and Stanford Univ., Stanford, CA

  • Venue:
  • Journal of the ACM (JACM)
  • Year:
  • 1993

Quantified Score

Hi-index 0.03

Visualization

Abstract

This paper introduces a general formulation ofatomic snapshot memory, a sharedmemory partitioned into words written(updated) 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 atomicn-writer,n-reader registers, again echoing keyideas from the earlier constructions. All operations require&THgr;(n2) readsand writes to the component shared registers in the worst case.—Authors' Abstract