ABSTRACT
A snapshot object consists of a collection of m > 1 components, each capable of storing a value, shared by n processes in an asynchronous shared-memory distributed system. It supports two operations: a process can UPDATE any individual component or atomically SCAN the entire collection to obtain the values of all the components. It is possible to implement a snapshot object using m registers so that each operation takes O(mn) time.In a previous paper, we proved that m registers are necessary to implement a snapshot object with m < n-1 components. Here we prove that, for any such space-optimal implementation, Ω(mn) steps are required to perform a SCAN operation in the worst case, matching the upper bound. We also extend our space and time lower bounds to implementations that use single-writer registers in addition to the multi-writer registers. Specifically, we prove that at least m multi-writer registers are still needed, provided the SCANS do not read a large fraction of the single-writer registers. We also prove that any implementation that uses single-writer registers in addition to $m$ multi-writer registers uses Ω(√mn) steps in the worst case. Our proof yields insight into the structure of any implementation that uses only m multi-writer registers, showing that processes must access the multi-writer registers in a very constrained way.
- Yehuda Afek, Hagit Attiya, Danny Dolev, Eli Gafni, Michael Merritt, and Nir Shavit. Atomic snapshots of shared memory. Journal of the ACM, 40(4), pages 873--890, September 1993. Google ScholarDigital Library
- Yehuda Afek, Pazi Boxer, and Dan Touitou. Bounds on the shared memory requirements for long-lived and adaptive objects. In Proceedings of the 19th Annual ACM Symposium on Principles of Distributed Computing, pages 81--89, 2000. Google ScholarDigital Library
- James H. Anderson. Composite registers. Distributed Computing, 6(3), pages 141--154, April 1993. Google ScholarDigital Library
- James H. Anderson. Multi-writer composite registers. Distributed Computing, 7(4), pages 175--195, 1994. Google ScholarDigital Library
- James H. Anderson and Yong-Jik Kim. An improved lower bound for the time complexity of mutual exclusion. In Proceedings of the 20th Annual ACM Symposium on Principles of Distributed Computing, pages 90--99, 2001. Google ScholarDigital Library
- James H. Anderson and Jae-Heon Yang. Time/contention trade-offs for multiprocessor synchronization. Information and Computation, 124(1), pages 68--84, January 1996. Google ScholarDigital Library
- James Aspnes. Time- and space-efficient randomized consensus. Journal of Algorithms, 14(3), pages 414--431, May 1993. Google ScholarDigital Library
- James Aspnes and Maurice Herlihy. Fast, randomized consensus using shared memory. Journal of Algorithms, 11(2), pages 441--461, September 1990. Google ScholarDigital Library
- James Aspnes and Maurice Herlihy. Wait-free data structures in the asynchronous PRAM model. In Proc. 2nd ACM Symposium on Parallel Algorithms and Architectures, pages 340--349, 1990. Google ScholarDigital Library
- Hagit Attiya, Alla Gorbach, and Shlomo Moran. Computing in totally anonymous asynchronous shared memory systems. In Distributed Computing, 12th International Symposium, volume 1499 of LNCS, pages 49--61, 1998. Full version available from www.cs.technion.ac.il/~hagit. Google ScholarDigital Library
- Hagit Attiya, Nancy Lynch, and Nir Shavit. Are wait-free algorithms fast? Journal of the ACM, 41(4), pages 725--763, July 1994. Google ScholarDigital Library
- Hagit Attiya and Ophir Rachman. Atomic snapshots in O(n log n) operations. SIAM Journal on Computing, 27(2), pages 319--340, April 1998. Google ScholarDigital Library
- Hagit Attiya and Jennifer Welch. Distributed Computing: Fundamentals, Simulations and Advanced Topics. McGraw-Hill, 1998. Google ScholarDigital Library
- James Burns and Nancy Lynch. Bounds on shared memory for mutual exclusion. Information and Computation, 107(2), pages 171--184, December 1993. Google ScholarDigital Library
- Panagiota Fatourou, Faith Fich, and Eric Ruppert. Space-optimal multi-writer snapshot objects are slow. In Proceedings of the 21st ACM Symposium on Principles of Distributed Computing, pages 13--20, 2002. Google ScholarDigital Library
- Faith Fich, Maurice Herlihy, and Nir Shavit. On the space complexity of randomized synchronization. Journal of the ACM, 45(5), pages 843--862, September 1998. Google ScholarDigital Library
- Faith Fich and Eric Ruppert. Hundreds of impossibility results for distributed computing. Distributed Computing. To appear. Google ScholarDigital Library
- Rainer Gawlick, Nancy Lynch, and Nir Shavit. Concurrent timestamping made simple. In Proceedings of the Israel Symposium on the Theory of Computing and Systems, volume 601 of LNCS, pages 171--183, 1992. Google ScholarDigital Library
- Maurice Herlihy. Randomized wait-free objects. In Proceedings of the 10th Annual ACM Symposium on Principles of Distributed Computing, pages 11--21, 1991. Google ScholarDigital Library
- Maurice Herlihy. Wait-free synchronization. ACM Transactions on Programming Languages and Systems, 13(1), pages 124--149, January 1991. Google ScholarDigital Library
- Maurice P. Herlihy and Jeannette M. Wing. Linearizability: A correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems, 12(3), pages 463--492, July 1990. Google ScholarDigital Library
- Michiko Inoue, Wei Chen, Toshimitsu Masuzawa, and Nobuki Tokura. Linear time snapshots using multi-writer multi-reader registers. In Distributed Algorithms, 8th International Workshop, volume 857 of LNCS, pages 130--140, 1994. Google ScholarDigital Library
- A. Israeli, A. Shaham, and A. Shirazi. Linear-time snapshot implementations in unbalanced systems. Mathematical Systems Theory, 28(5), pages 469--486, September/October 1995.Google Scholar
- Amos Israeli and Asaf Shirazi. The time complexity of updating snapshot memories. Information Processing Letters, 65(1), pages 33--40, January 1998. Google ScholarDigital Library
- Prasad Jayanti, King Tan, and Sam Toueg. Time and space lower bounds for nonblocking implementations. SIAM Journal on Computing, 30(2), pages 438--456, 2000. Google ScholarDigital Library
- Nancy A. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996. Google ScholarDigital Library
- Shlomo Moran, Gadi Taubenfeld, and Irit Yadin. Concurrent counting. Journal of Computer and System Sciences, 53(1), pages 61--78, August 1996. Google ScholarDigital Library
Index Terms
- A tight time lower bound for space-optimal implementations of multi-writer snapshots
Recommendations
The complexity of updating multi-writer snapshot objects
PODC '07: Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computingThis paper proves Ω(m) lower bounds on the step complexity of UPDATE operations for partitioned implementations of m-component multi-writer snapshot objects from base objects of any type. These are implementations in which each base object is only ...
Time-optimal, space-efficient single-scanner snapshots & multi-scanner snapshots using CAS
PODC '07: Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computingSnapshots are fundamental shared objects which provide consistent views of blocks of shared memory. A snapshot object consists of an array of m memory cells and allows processes to execute UPDATES to write new values in any of the snapshot cells, and ...
Time-space tradeoffs for implementations of snapshots
STOC '06: Proceedings of the thirty-eighth annual ACM symposium on Theory of ComputingA snapshot object is an abstraction of the fundamental problem of obtaining a consistent view of the contents of the shared memory in a distributed system while other processes may concurrently update those contents. A snapshot object stores an array of ...
Comments