Abstract
A snapshot scan algorithm takes an “instantaneous” picture of a region of shared memory that may be updated by concurrent processes. Many complex shared memory algorithms can be greatly simplified by structuring them around the snapshot scan abstraction. Unfortunately, the substantial decrease in conceptual complexity is quite often counterbalanced by an increase in computational complexity.
In this paper, we introduce the notion of a weak snapshot scan, a slightly weaker primitive that has a more efficient implementation. We propose the following methodology for using this abstraction: first, design and verify an algorithm using the more powerful snapshot scan, and second, replace the more powerful but less efficient snapshot with the weaker but more efficient snapshot, and show that the weaker abstraction nevertheless suffices to ensure the correctness of the enclosing algorithm.
We give two examples of algorithms whose performance can be enhanced while retaining a simple modular structure: bounded concurrent timestamping, and bounded randomized consensus. The resulting timestamping protocol is the fastest known bounded concurrent timestamping protocol. The resulting randomized consensus protocol matches the computational complexity of the best known protocol that uses only bounded values.
Research supported by NSF Research Initiation Award CCR-900-8226, by U.S. Army Research Office Grant DAAL-03-91-G-0102, by ONR Contract N00014-88-K-0166, and by a grant from Mitsubishi Electric Laboratories.
Research supported by NSF grant CCR-8814921, U.S. Army Research Office Grant DAAL-03-91-G-0102, ONR contract N00014-88-K-0166, and IBM fellowship.
This article was processed using the LATEX macro package with LLNCS style
Preview
Unable to display preview. Download preview PDF.
References
K. Abrahamson, On Achieving Consensus Using a Shared Memory, Proc. 7 ACM Symposium on Principles of Distributed Computing, pp.291–302, 1988.
Y. Afek, H. Attiya, D. Dolev, E. Gafni, M. Merritt, and N. Shavit, Atomic Snapshots of Shared Memory, Proc. 9 ACM Symposium on Principles of Distributed Computing, pp. 1–13, 1990.
J. Anderson, Composite Registers, Proc. 9 ACM Symposium on Principles of Distributed Computing, pp. 15–30, August 1990.
J. Anderson, and B. Groselj, Beyond Atomic Registers: Bounded Wait-free Implementations of Non-trivial Objects, Proc. 5th International Workshop on Distributed Algorithms, Delphi, Greece, October 1991.
J. Aspnes, Time-and Space-Efficient Randomized Consensus, to appear in the Journal of Algorithms. An earlier version appears in Proc. 9 ACM Symposium on Principles of Distributed Computing, pp. 325–331, 1990.
J. Aspnes and M.P. Herlihy Wait-Free Data Structures in the Asynchronous PRAM Model, Proc. 2nd Annual Symposium on Parallel Algorithms and Architectures, July 1990, pages 340–349, Crete, Greece.
J. Aspnes and M.P. Herlihy, Fast Randomized Consensus using Shared Memory, Journal of Algorithms, 11(3):441–461, 1990.
H. Attiya, D. Dolev, and N. Shavit, Bounded Polynomial Randomized Consensus, Proc. 8 ACM Symposium on Principles of Distributed Computing, pp. 281–294, 1989.
H. Attiya, N. Lynch, and N. Shavit, Are Wait-Free Algorithms Fast?, Proc. 9 IEEE Symposium on Foundations of Computer Science, pp. 363–375, 1990. Expanded version: Technical Memo MIT/LCS/TM-423, Laboratory for Computer Science, MIT, February 1990.
G. Bracha and O. Rachman, Approximated Counters and Randomized Consensus, Technical Report Technion 662, 1990.
G. Bracha and O. Rachman, Randomized Consensus in Expected O(n2 log n), Proc. 5th International Workshop on Distributed Algorithms, Greece, 1991.
J.E. Burns and G.L. Peterson, Constructing Multi-reader Atomic Values from Non-atomic Values, Proceedings of the Sixth ACM Symposium on Principles of Distributed Computing, pages 222–231, 1987.
K. M. Chandy and L. Lamport, Distributed Snapshots: Determining Global States of Distributed Systems, Acm Trans. on Computer Systems 3:1,1985, pp. 63–75.
B. Chor, A. Israeli, and M. Li, On processor coordination using asynchronous hardware, Proc. 6th ACM Symposium on Principles of Distributed Computing, pages 86–97, 1987.
E. W. Dijkstra, Solution of a problem in concurrent programming control, Communications of the ACM 8:165, 1965.
D. Dolev, C. Dwork, and L Stockmeyer. On the minimal synchronism needed for distributed consensus, Journal of the ACM 34:1, pp. 77–97, January, 1987.
D. Dolev and N. Shavit, Bounded Concurrent Time-Stamp Systems are Constructible!, Proc. 21 ACM Symposium on Theory of Computing, pp. 454–465, 1989.
C. Dwork and O. Waarts, Simple and Efficient Bounded Concurrent Timestamping or Bounded Concurrent Timestamp Systems are Comprehensible!, IBM Research Report RJ 8425, October 1991. Also, to appear in Proc. 24 ACM Symposium on Theory of Computing, 1992.
M.P. Herlihy. Wait-free Synchronization, ACM Transactions on Programming Languages and Systems, 13(1): 124–149, January 1991.
M.P. Herlihy and J.M. Wing, Linearizability: A Correctness Condition for Concurrent Objects, ACM Transactions on Programming Languages and Systems, 12(3):463–492, July 1990.
A. Israeli and M. Li, Bounded Time Stamps, Proc. 28 IEEE Symposium on Foundations of Computer Science, 1987.
A. Israeli and M. Pinhasov, A Concurrent Time-Stamp Scheme which is Linear in Time and Space, manuscript, 1991.
L. M. Kirousis, P. Spirakis and P. Tsigas, Reading Many Variables in One Atomic Operation Solutions With Linear or Sublinear Complexity, Proc. 5th International Workshop on Distributed Algorithms, 1991.
L. Lamport, Concurrent reading and writing. Communications of the ACM, 20(11):806–811, November 1977.
L. Lamport, The Mutual Exclusion Problem, Part I: A Theory of Interprocess Communication, J. ACM 33(2), pp. 313–326, 1986.
G. Peterson, Concurrent Reading While Writing, ACM Transactions on Programming Languages and Systems 5(1), pp. 46–55, 1983.
M. Saks, N. Shavit, and H. Woll, Optimal Time Randomized Consensus — Making Resilient Algorithms Fast in Practice, Symposium on Discrete Algorithms, pp. 351–362, 1990.
J. Tromp, How to Construct an Atomic Variable, Proc. 3rd International Workshop on Distributed Algorithms, LNCS 392, 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dwork, C., Herlihy, M., Plotkin, S.A., Waarts, O. (1992). Time-lapse snapshots. In: Dolev, D., Galil, Z., Rodeh, M. (eds) Theory of Computing and Systems. ISTCS 1992. Lecture Notes in Computer Science, vol 601. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0035175
Download citation
DOI: https://doi.org/10.1007/BFb0035175
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55553-7
Online ISBN: 978-3-540-47214-8
eBook Packages: Springer Book Archive