Years and Authors of Summarized Original Work
-
1993; Afek, Attiya, Dolev, Gafni, Merritt, Shavit
Problem Definition
Implementing a snapshot object is an abstraction of the problem of obtaining a consistent view of several shared variables while other processes are concurrently updating those variables.
In an asynchronous shared-memory distributed system, a collection of n processes communicate by accessing shared data structures, called objects. The system provides basic types of shared objects; other needed types must be built from them. One approach uses locks to guarantee exclusive access to the basic objects, but this approach is not fault-tolerant, risks deadlock or livelock, and causes delays when a process holding a lock runs slowly. Lock-free algorithms avoid these problems but introduce new challenges. For example, if a process reads two shared objects, the values it reads may not be consistent if the objects were updated between the two reads.
A snapshot objectstores...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Recommended Reading
Afek Y, Attiya H, Dolev D, Gafni E, Merritt M, Shavit N (1993) Atomic snapshots of shared memory. J Assoc Comput Mach 40:873–890
Anderson JH (1993) Composite registers. Distrib Comput 6:141–154
Anderson JH (1994) Multi-writer composite registers. Distrib Comput 7:175–195
Aspnes J, Herlihy M (1990) Wait-free data structures in the asynchronous PRAM model. In: Proceedings of the 2nd ACM symposium on parallel algorithms and architectures, Crete, July 1990. ACM, New York, pp 340–349
Attiya H, Fouren A (2001) Adaptive and efficient algorithms for lattice agreement and renaming. SIAM J Comput 31:642–664
Attiya H, Fouren A, Gafni E (2002) An adaptive collect algorithm with applications. Distrib Comput 15:87–96
Attiya H, Herlihy M, Rachman O (1995) Atomic snapshots using lattice agreement. Distrib Comput 8:121–132
Attiya H, Rachman O (1998) Atomic snapshots in O(n log n) operations. SIAM J Comput 27:319–340
Ellen F, Fatourou P, Ruppert E (2007) Time lower bounds for implementations of multi-writer snapshots. J Assoc Comput Mach 54(6), 30
Fatourou P, Kallimanis ND (2006) Single-scanner multi-writer snapshot implementations are fast! In: Proceedings of the 25th ACM symposium on principles of distributed computing, Colorado, July 2006. ACM, New York, pp 228–237
Fich FE (2005) How hard is it to take a snapshot? In: SOFSEM 2005: theory and practice of computer science, Liptovský Ján, Jan 2005. LNCS, vol 3381. Springer, pp 28–37
Guerraoui R, Ruppert E (2007) Anonymous and fault-tolerant shared-memory computing. Distrib Comput 20(3):165–177
Jayanti P (2005) An optimal multi-writer snapshot algorithm. In: Proceedings of the 37th ACM symposium on theory of computing, Baltimore, May 2005. ACM, New York, pp 723–732
Kirousis LM, Spirakis P, Tsigas P (1996) Simple atomic snapshots: a linear complexity solution with unbounded time-stamps. Inf Process Lett 58:47–53
Mostéfaoui A, Rajsbaum S, Raynal M, Roy M (2004) Conditionbased consensus solvability: a hierarchy of conditions and efficient protocols. Distrib Comput 17:1–20
Riany Y, Shavit N, Touitou D (2001) Towards a practical snapshot algorithm. Theor Comput Sci 269:163–201
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer Science+Business Media New York
About this entry
Cite this entry
Ruppert, E. (2016). Snapshots in Shared Memory. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, New York, NY. https://doi.org/10.1007/978-1-4939-2864-4_380
Download citation
DOI: https://doi.org/10.1007/978-1-4939-2864-4_380
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4939-2863-7
Online ISBN: 978-1-4939-2864-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering