by Yehuda Afek, Danny Dolev, Eli Gafni, Michael Merritt
ftp://ftp.math.tau.ac.il/pub/afek/snapshot.ps.gz
Add To MetaCart
Abstract:
Abstract. This paper introduces a general formulation of atomic snapshot memory, a shared memory partitioned into words written (updated) by individual processes, or instantaneously read (scanned) in its entirety. This paper presents three wait-free implementations of atomic snapshot memory. The first implementation in this paper uses unbounded (integer) fields in these registers, and is particularly easy to understand. The second implementation uses bounded registers. Its correctness proof follows the ideas of the unbounded implementation. Both constructions implement a single-writer snapshot memory, in which each word may be updated by only one process, from single-writer, n-reader registers. The third algorithm implements a multi-writer snapshot memory from atomic n-writer, n-reader registers, again echoing key ideas from the earlier constructions. All operations require \Theta(n 2) reads and writes to the component shared registers in the worst case. Categories and Subject Discriptors: B.3.2 [Memory Structures]: Design Styles---shared memory; C.1.2
Citations
|
796
|
Distributed snapshots: Determining global states of distributed systems
– Chandy, Lamport
- 1985
|
|
532
|
Linearizability: a correctness condition for concurrent objects
– Herlihy, Wing
- 1990
|
|
329
|
Hierarchical correctness proofs for distributed algorithms
– Lynch, Tuttle
- 1987
|
|
257
|
An Axiomatic Proof Technique for Parallel Programs I
– Owicki, Gries
- 1976
|
|
98
|
Fast randomized consensus using shared memory
– Aspnes, Herlihy
- 1990
|
|
93
|
Composite Registers
– Anderson
- 1990
|
|
78
|
On interprocess communication, Part I: basic formalism
– Lamport
- 1986
|
|
77
|
Atomic Shared Register Access by Asynchronous Hardware
– Vitanyi, Awerbuch
- 1986
|
|
74
|
Sharing memory robustly in message-passing systems
– Attiya, Bar-Noy, et al.
- 1995
|
|
73
|
Concurrent Reading While Writing
– Peterson
- 1983
|
|
69
|
On achieving consensus using a shared memory
– Abrahamson
- 1988
|
|
63
|
Wait-Free Data Structures in the Asynchronous PRAM Model
– Aspnes, Herlihy
- 1990
|
|
56
|
Concurrent Reading While Writing II: The Multi-Writer Case
– Peterson, Burns
- 1987
|
|
54
|
On Interprocess Communication, Part II: Algorithms
– Lamport
- 1986
|
|
54
|
Axioms for memory access in asynchronous hardware systems
– Misra
- 1986
|
|
52
|
The mutual exclusion problem—part ii: Statement and solutions
– Lamport
- 1985
|
|
42
|
Bounded concurrent time-stamp systems are constructible
– Dolcv, Shavit
- 1989
|
|
41
|
Are wait-free algorithms fast
– Attiya, Lynch, et al.
- 1994
|
|
37
|
How to share concurrent wait-free variables
– LI, TROMP
- 1991
|
|
36
|
space-efficient randomized consensus
– Aspnes, Time-
- 1993
|
|
26
|
Bounded polynomial randomized consensus
– Attiya, Dolev, et al.
- 1989
|
|
16
|
The Virtue of Patience: Concurrent Programming With and Without Waiting
– Anderson, Gouda
- 1987
|
|
14
|
On the correctness of atomic multi-writer registers
– Schaffer
- 1988
|
|
11
|
A distributed algorithm for generalized deadlock detection
– Bracha, Toueg
- 1987
|
|
8
|
Toward a non-atomic era: `-exclusion as a test case
– Dolev, Gafni, et al.
- 1988
|
|
8
|
A new solution to the critical section problem
– Katseff
- 1978
|
|
5
|
Wait-free implementations of concurrent objects
– Herlihy
- 1988
|
|
2
|
Perspective on distributed network protocols: A case for building blocks
– Gafni
- 1986
|