Atomic snapshots of shared memory
Open Access
- 1 September 1993
- journal article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 40 (4) , 873-890
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 Θ( n 2 ) reads and writes to the component shared registers in the worst case. — Authors' AbstractKeywords
This publication has 21 references indexed in Scilit:
- Wait-free synchronizationACM Transactions on Programming Languages and Systems, 1991
- Linearizability: a correctness condition for concurrent objectsACM Transactions on Programming Languages and Systems, 1990
- How to share concurrent asynchronous wait-free variables1989
- Perspectives on Distributed Network Protocols: A Case for Building Blocks1986
- Atomic shared register access by asynchronous hardware1986
- The mutual exclusion problemJournal of the ACM, 1986
- PrefaceDistributed Computing, 1986
- Axioms for memory access in asynchronous hardware systemsACM Transactions on Programming Languages and Systems, 1986
- Distributed snapshotsACM Transactions on Computer Systems, 1985
- Concurrent Reading While WritingACM Transactions on Programming Languages and Systems, 1983