# The time complexity of updating snapshot memories

## Abstract

An *atomic snapshot memory* enables a set of processes, called *scanners*, to obtain a consistent picture of the shared memory while other processes, called *updaters*, keep updating memory locations concurrently. Implementations of atomic snapshot memory are key tools in designing distributed protocols in shared memory systems. Such an implementation consists of two protocols: An *update protocol* and a *scan protocol*, executed by updaters and scanners, respectively.

It is clear that the time complexity of the scan protocol is at least linear, and there exists an implementation which matches the lower bound. In this paper we show that the time complexity of an optimal update protocol is Θ(min{*u, s*}), where *u* is the number of updaters and *s* is the number of scanners.

## Preview

Unable to display preview. Download preview PDF.

## References

- [An93]J. Anderson, Composite Registers,
*Distributed Computing*, Vol. 3, No. 3, 1993, pp. 141–154.MATHGoogle Scholar - [As90]J. Aspnes, Time-and Space-Efficient Randomized Consensus,
*Proceedings of the 9th Annual ACM Symposium on Principles of Distributed Computing*, 1990, pp. 15–29.Google Scholar - [AAD90]Y. Afek, H. Attiya, D. Dolev, E. Gafni, M. Merritt, and N. Shavit, Atomic Snapshots of Shared Memory,
*Proceedings of the 9th Annual ACM Symposium on Principles of Distributed Computing*, 1990, pp. 1–13.Google Scholar - [AH90]J. Aspnes and M. Herlihy, Wait-free Data Structures in the Asynchronous PRAM Model,
*Proceedings of the 2nd Annual Symposium on Parallel Algorithms and Architectures*, 1990, pp. 340–349.Google Scholar - [AHR92]H. Attiya, M. Herlihy and O. Rachman, Efficient Atomic Snapshots Using Lattice Agreement,
*Proceedings of the 6th International Workshop on Distributed Algorithms and Graphs*, 1992, pp. 35–53, Lecture Notes in Computer Science #647, Springer-Verlag, 1992.Google Scholar - [ALS90]H. Attiya, N.A. Lynch and N. Shavit, Are Wait-Free Algorithms Fast?
*Proceedings of the 31st IEEE Symposium on Foundations of Computer Science*, 1990, pp. 55–64.Google Scholar - [AR93]H. Attiya and O. Rachman, Atomic Snapshots in
*O(n*log*n*) Operations,*Proceedings of the 12th Annual ACM Symposium on Principles of Distributed Computing*, 1993, pp. 29–40.Google Scholar - [CD92]T.D. Chandra and C. Dwork, personal communications.Google Scholar
- [DHPW92]C. Dwork, M. Herlihy, S. Plotkin and O. Waarts, Time-Lapse Snapshots,
*Proceedings of the 1st Israeli Symposium on Theory of Computing and Systems*, 1992, pp. 154–170, Lecture Notes in Computer Science #601, Springer-Verlag, 1992.Google Scholar - [DHW93]C. Dwork, M. Herlihy and O. Waarts, Bounded Round Numbers,
*Proceedings of the 12th Annual ACM Symposium on Principles of Distributed Computing*, 1993, pp. 53–64.Google Scholar - [DS89]D. Dolev and N. Shavit, Bounded Concurrent Time-Stamp Systems are Constructible!,
*Proceedings of the 21st Annual ACM Symposium on Theory of Computing*, 1989, pp. 454–465.Google Scholar - [H88]M. P. Herlihy. Impossibility and universality results for wait-free synchronization,
*Proceedings of the 7th Annual ACM Symposium on Principles of Distributed Computing*, 1988, pp. 276–290.Google Scholar - [HT93]J.H. Hoepman and J. Tromp, Binary Snapshots,
*Proceedings of the 7th International Workshop on Distributed Algorithms and Graphs*, 1993, pp. 18–25, Lecture Notes in Computer Science #725, Springer-Verlag, 1993.Google Scholar - [HW90]M.P. Herlihy and J.M. Wing, Linearizability: A Correctness Condition for Concurrent Objects,
*ACM Transactions on Programming Languages and Systems*, Vol. 12, No. 3, 1990, pp. 463–492.Google Scholar - [ICMT94]M. Inoue, W. Chen, T. Masuzawa and N. Tokura, Linear-Time Snapshot Using Multi-writer Multi-reader Registers, to appear in
*Proceedings of the 8th International Workshop on Distributed Algorithms and Graphs*, 1994.Google Scholar - [ILV87]A. Israeli, M. Li, and P. Vitanyi, Simple Multireader registers using Time-Stamp schemes, Report no. CS-R8758, Center for Mathematics and Computer Science, Amsterdam, Holland, 1987.Google Scholar
- [IS92]A. Israeli and A. Shaham, Optimal Multi-Writer Multi-Reader Atomic Registers,
*Proceedings of the 11th Annual ACM Symposium on Principles of Distributed Computing*, 1992, pp. 71–82.Google Scholar - [IS93]A. Israeli and A. Shirazi, Efficient Snapshot Protocol Using 2-Lattice Agreement, preprint.Google Scholar
- [ISS93]A. Israeli, A. Shaham and A. Shirazi, Linear-Time Snapshot Protocols for Unbalanced Systems,
*Proceedings of the 7th International Workshop on Distributed Algorithms and Graphs*, 1993, pp. 18–25, Lecture Notes in Computer Science #725, Springer-Verlag, 1993.Google Scholar - [KST91]L.M. Kirousis, P. Spirakis and P. Tsigas, Reading Many variables in One Atomic Operation: Solutions with Linear or Sublinear Complexity,
*Proceedings of the 5th International Workshop on Distributed Algorithms and Graphs*, 1991, pp. 229–241, Lecture Notes in Computer Science #579, Springer-Verlag, 1992.Google Scholar - [La86a]L. Lamport, On Interprocess Communication. Part I: Basic Formalism, Distributed Computing, Vol. 1, No. 2, 1986, pp. 77–85.MATHGoogle Scholar
- [La86b]L. Lamport, On Interprocess Communication. Part II: Algorithms, Distributed Computing, Vol. 1, No. 2, 1986, pp. 86–101.MATHGoogle Scholar
- [LT87]N. Lynch and M. Tuttle, Hierarchical Correctness Proofs for Distributed Algorithms, In
*Proceedings of the 6th Annual ACM Symposium on Principles of Distributed Computing*, 1988, pp 137–151.Google Scholar - [VA86]P. Vitanyi, and B. Awerbuch, Atomic Shared Register Access by Asynchronous Hardware, Proceedings of the 27th IEEE Symposium on Foundations of Computer Science, 1986, pp. 233–243.Google Scholar