skip to main content
research-article

Limited-Use Atomic Snapshots with Polylogarithmic Step Complexity

Published: 02 March 2015 Publication History

Abstract

This article presents a novel implementation of a snapshot object for n processes, with O(log2 b log n) step complexity for update operations and O(log b) step complexity for scan operations, where b is the number of updates. The algorithm uses only reads and writes.
For polynomially many updates, this is an exponential improvement on previous snapshot algorithms, which have linear step complexity. It overcomes the existing Ω(n) lower bound on step complexity by having the step complexity depend on the number of updates. The key to this implementation is the construction of a new object consisting of a pair of max registers that supports a scan operation.

References

[1]
Y. Afek, H. Attiya, D. Dolev, E. Gafni, M. Merritt, and N. Shavit. 1993. Atomic snapshots of shared memory. J. ACM 40, 4, 873--890.
[2]
D. Alistarh, J. Aspnes, M. Bender, R. Gelashvili, and S. Gilbert. 2014. Dynamic task allocation in asynchronous shared memory. In Proceedings of the 25th ACM-SIAM Symposium on Discrete Algorithms (SODA). 416--435.
[3]
J. H. Anderson. 1993. Composite Registers. Distrib. Comput. 6, 3, 141--154.
[4]
J. H. Anderson and Mark Moir. 1993. Towards a necessary and sufficient condition for wait-free synchronization. In Proceedings of the 7th International Workshop on Distributed Algorithms (WDAG). Lecture Notes in Computer Science, Vol. 725, Springer, 39--53.
[5]
J. H. Anderson and M. Moir. 1995. Universal Constructions for Large Objects. In Proceedings of the 9th International Workshop on Distributed Algorithms (WDAG). Lecture Notes in Computer Science, vol. 972, Springer, 168--182.
[6]
J. Aspnes, H. Attiya, and K. Censor-Hillel. 2012a. Polylogarithmic concurrent data structures from monotone circuits. J. ACM 59, 1, 2:1--2:24.
[7]
J. Aspnes, H. Attiya, K. Censor-Hillel, and D. Hendler. 2012b. Lower bounds for resricted-use objects. In Proceedings of the 24th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA). 172--181.
[8]
J. Aspnes and K. Censor. 2009. Approximate shared-memory counting despite a strong adversary. In Proceedings of the 19th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA'09). SIAM Philadelphia, PA, 441--450.
[9]
J. Aspnes and M. Herlihy. 1990. Wait-free data structures in the asynchronous PRAM model. In Proceedings of the 2nd Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA). 340--349.
[10]
H. Attiya and A. Fouren. 2001. Adaptive and efficient algorithms for lattice agreement and renaming. SIAM J. Comput. 31, 2, 642--664.
[11]
H. Attiya, N. Lynch, and N. Shavit. 1994. Are wait-free algorithms fast? J. ACM 41, 4, 725--763.
[12]
H. Attiya and O. Rachman. 1998. Atomic Snapshots in O(n log n) Operations. SIAM J. Comput. 27, 2, 319--340.
[13]
E. Borowsky and E. Gafni. 1993. Immediate atomic snapshots and fast renaming. In Proceedings of the 12th Annual ACM Symposium on Principles of Distributed Computing. 41--51.
[14]
F. E. Fich. 2005. How hard is it to take a snapshot? In Proceedings of 31st Annual Conference on Current Trends in Theory and Practice of Informatics (SOFSEM). Lecture Notes in Computer Science, vol. 3381, Springer, 27--35.
[15]
M. P. Herlihy and J. M. Wing. 1990. Linearizability: A correctness condition for concurrent objects. ACM Trans. Prog. Lang. Syst. 12, 3, 463--492.
[16]
M. Inoue, T. Masuzawa, W. Chen, and N. Tokura. 1994. Linear-Time Snapshot Using Multi-writer Multi-reader Registers. In Proceedings of the 8th International Workshop on Distributed Algorithms (WDAG). Lecture Notes in Computer Science, vol. 857, Springer, 130--140.
[17]
P. Jayanti. 2002. f-arrays: Implementation and applications. In Proceedings of the 21st Annual Symposium on Principles of Distributed Computing (PODC). ACM, New York, 270--279.
[18]
P. Jayanti. 2005. An optimal multi-writer snapshot algorithm. In Proceedings of the 37th Annual ACM Symposium on Theory of Computing (STOC). 723--732.
[19]
P. Jayanti and S. Petrovic. 2005. Efficient wait-free implementation of multiword LL/SC variables. In Proceedings of the 25th International Conference on Distributed Computing Systems (ICDCS). IEEE Computer Society, 59--68.
[20]
P. Jayanti, K. Tan, and S. Toueg. 2000. Time and space lower bounds for nonblocking implementations. SIAM J. Comput. 30, 2, 438--456.
[21]
Y. Riany, N. Shavit, and D. Touitou. 2001. Towards a practical snapshot algorithm. Theoret. Comput. Sci. 269, 1--2, 163--201.

Cited By

View all
  • (2023)Set-Linearizable Implementations from Read/Write Operations: Sets, Fetch &Increment, Stacks and Queues with MultiplicityDistributed Computing10.1007/s00446-022-00440-y36:2(89-106)Online publication date: 1-Jun-2023
  • (2022)Decentralized Asynchronous Crash-resilient Runtime VerificationJournal of the ACM10.1145/355048369:5(1-31)Online publication date: 10-Aug-2022
  • (2021)An Efficient Adaptive Partial Snapshot ImplementationProceedings of the 2021 ACM Symposium on Principles of Distributed Computing10.1145/3465084.3467939(545-555)Online publication date: 21-Jul-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Journal of the ACM
Journal of the ACM  Volume 62, Issue 1
February 2015
264 pages
ISSN:0004-5411
EISSN:1557-735X
DOI:10.1145/2742144
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 March 2015
Accepted: 01 July 2014
Revised: 01 June 2014
Received: 01 May 2013
Published in JACM Volume 62, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Concurrent objects
  2. atomic snapshot
  3. generalized counters
  4. restricted-use objects

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • Yad-Hanadiv foundation
  • Simons Postdoctoral Fellows Program
  • Natural Science and Engineering Research Council of Canada
  • NSF
  • Israel Science Foundation

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 02 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Set-Linearizable Implementations from Read/Write Operations: Sets, Fetch &Increment, Stacks and Queues with MultiplicityDistributed Computing10.1007/s00446-022-00440-y36:2(89-106)Online publication date: 1-Jun-2023
  • (2022)Decentralized Asynchronous Crash-resilient Runtime VerificationJournal of the ACM10.1145/355048369:5(1-31)Online publication date: 10-Aug-2022
  • (2021)An Efficient Adaptive Partial Snapshot ImplementationProceedings of the 2021 ACM Symposium on Principles of Distributed Computing10.1145/3465084.3467939(545-555)Online publication date: 21-Jul-2021
  • (2021)The Space Complexity of Scannable Binary ObjectsProceedings of the 2021 ACM Symposium on Principles of Distributed Computing10.1145/3465084.3467916(509-519)Online publication date: 21-Jul-2021
  • (2020)Long-Lived Snapshots with Polylogarithmic Amortized Step ComplexityProceedings of the 39th Symposium on Principles of Distributed Computing10.1145/3382734.3406005(31-40)Online publication date: 31-Jul-2020
  • (2018)Implementing Snapshot Objects on Top of Crash-Prone Asynchronous Message-Passing SystemsIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2018.280955129:9(2033-2045)Online publication date: 1-Sep-2018

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media