Linear-time snapshot using multi-writer multi-reader registers
We present a wait-free implementation of the atomic snapshot object on the shared memory system. A snapshot object shared by n processes is a data structure partitioned into n segments such that each process owns one segment. Each process can update its own segment, and instantaneously scan all segments. In our implementation, each object operation requires O(n) operations on atomic multi-writer multi-reader registers.
Keywordsshared memory system wait-free algorithm linearizability atomic snapshot lattice agreement problem
Unable to display preview. Download preview PDF.
- 1.Anderson, J.H.: Composite Registers. Proc. of the 9th ACM Symposium on Principles of Distributed Computing (1990) 15–29.Google Scholar
- 2.Afek, Y., Attiya, H., Dolev, D., Gafni, E., Merritt, M., and Shavit, N.: Atomic Snapshots of Shared Memory. Proc. of the 9th ACM Symposium on Principles of Distributed Computing (1990) 1–13.Google Scholar
- 3.Aspnes, J.: Time-and Space-Efficient Randomized Consensus. Proc. of the 9th ACM Symposium on Principles of Distributed Computing (1990) 325–331.Google Scholar
- 5.Attiya, H., Dolev, D., and Shavit, N.: Are wait-free algorithms fast? Proc. of the 31th IEEE Symp. on Foundations of Computer Science (1990) 55–64.Google Scholar
- 6.Attiya, H., and Rachman, O.: Atomic Snapshots in O(n log n) Operations. Proc. of the 12th ACM Symposium on Principles of Distributed Computing (1993) 29–40.Google Scholar
- 7.Attiya, A., Herlihy, M., and Rachman, O.: Efficient Atomic Snapshots Using Lattice Agreement. Proc. of the 6th Int. Workshop on Distributed Algorithms (LNCS 647) (1992) 35–53.Google Scholar
- 8.Dwork, C., Herlihy, M., Plotkin, A.S., and Waarts, O.: Time-Lapse Snapshots. Proc. of the Israel Symposium on the Theory of Computing and Systems (LNCS 601) (1992) 154–170.Google Scholar
- 9.Gawlick, R., Lynch, N., and Shavit, N.: Concurrent Timestamping Made Simple. Proc. of the Israel Symposium on the Theory of Computing and Systems (LNCS 601) (1992) 171–183.Google Scholar
- 12.Hoepman, J.H., and Tromp, J.: Binary Snapshots. Proc. of the 7th Int. Workshop on Distributed Algorithms (1993) 18–25.Google Scholar
- 13.Israeli, A., Shaham, A., and Shirazi, A.: Linear-Time Snapshot Protocols for Unbalanced Systems. Proc. of the 7th Int. Workshop on Distributed Algorithms (1993) 26–38.Google Scholar
- 14.Kirousis, L.M., Spirakis, P., and Tsigas, P.; Simple Atomic Snapshots: A Linear Complexity Solution With Unbounded Time-Stamps. Proc. of International Conference on Computing and Information (LNCS 497) (1991) 582–587.Google Scholar
- 15.Peterson, G.L., and Burns, I.E.: Concurrent Reading While Writing [II]: The Multi-writer Case. Proc. of the 28th Ann. IEEE Symp. on Foundations of Computer Science (1987) 383–392.Google Scholar