Everything about Shared snapshot objects
Data structure in distributed computing
In distributed computing, a shared snapshot object is a type of data structure, which is shared between several threads or processes. For many tasks, it is important to have a data structure, that can provide a consistent view of the state of the memory. In practice, it turns out that it is not possible to get such a consistent state of the memory by just accessing one shared register after another, since the values stored in individual registers can be changed at any time during this process. To solve this problem, snapshot objects store a vector of n components and provide the following two atomic operations: update(i,v) changes the value in the ith component to v, and scan returns the values stored in all n components. Snapshot objects can be constructed using atomic single-writer multi-reader shared registers. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: Shared snapshot objectsA 5-minute orientation
- Pick up a classic book: Pro GitThe most-reprinted book on the subject
- Go sideways: Shared registerA closely related topic
- Go sideways: LinearizabilityA closely related topic
đź“– Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
- No matching papers found.
📚 Books worth reading
Pro GitScott Chacon, Ben Straub · 2009
E-Reference Context and Discoverability in LibrariesSue Polanka · 2011- 📕Witnesses to historyLyndel V. Prott · 2009
- 📕PODC 2006Colo.) ACM Symposium on Principles of Distributed Computing (25th 2006 Denver · 2006
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- Shared register In distributed computing, shared-memory systems and message-passing systems are two widely studied methods of interprocess communication. In shared-memory…
- Linearizability In concurrent programming, an operation (or set of operations) is linearizable if it consists of an ordered list of invocation and response events, that…
- Safe semantics Safe semantics is a computer hardware consistency model. It describes one type of guarantee that a data register provides when it is shared by several…
- Compare-and-swap In computer science, compare-and-swap (CAS) is an atomic instruction used in multithreading to achieve synchronization. It compares the contents of a memory…
- Atomic semantics Atomic semantics is a type of guarantee provided by a data register shared by several processors in a parallel machine or in a network of computers working…
- Prefix sum In computer science, the prefix sum, cumulative sum, inclusive scan, or simply scan of a sequence of numbers x0, x1, x2, ... is a second sequence of numbers…
- Read–modify–write In computer science, read–modify–write is a class of atomic operations (such as test-and-set, fetch-and-add, and compare-and-swap) that both read a memory…
- Integer sorting In computer science, integer sorting is the algorithmic problem of sorting a collection of data values by integer keys. Algorithms designed for integer…