Everything about Distributed shared memory
Computer memory architecture
In computer science, distributed shared memory (DSM) is a form of memory architecture where physically separated memories can be addressed as a single shared address space. The term "shared" does not mean that there is a single centralized memory, but that the address space is shared—i.e., the same physical address on two processors refers to the same location in memory. Distributed global address space (DGAS), is a similar term for a wide class of software and hardware implementations, in which each node of a cluster has access to shared memory in addition to each node's private memory. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Distributed shared memoryA 5-minute orientation
- Skim a recent paper: The case for distributed shared-memory databases with RDMA-enabled memory disaggregationInfluential work since 2022
- Pick up a classic book: A primer on memory consistency and cache coherenceThe most-reprinted book on the subject
- Read the landmark paper: Algorithms implementing distributed shared memoryCited 135 times
- Go sideways: Consistency modelA closely related topic
- Go sideways: Directory-based coherenceA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Algorithms implementing distributed shared memory
Distributed shared memory: concepts and systems
Lazy release consistency for software distributed shared memory
Recoverable distributed shared virtual memory
Heterogeneous distributed shared memory
Parallelizing Word2Vec in Shared and Distributed Memory
Design of the Munin Distributed Shared Memory System
An implementation of distributed shared memory
🆕 Influential since 2022
The case for distributed shared-memory databases with RDMA-enabled memory disaggregation
Self-Stabilizing and Private Distributed Shared Atomic Memory in Seldomly Fair Message Passing Networks
Stochastic Gradient Descent for matrix completion: Hybrid parallelization on shared- and distributed-memory systems
Impacts of Topology and Bandwidth on Distributed Shared Memory Systems
Design energy efficient shared distributed memory management system on SoC’s to improve memory performance
📚 Books worth reading
A primer on memory consistency and cache coherenceDaniel J. Sorin · 2011
Web Proxy Cache Replacement StrategiesHala ElAarag · 2012
Distributed shared memoryJelica Protić, Milo Tomasević · 1997- 📕HARPHorst D. Simon · 1997
Virtual shared memory for distributed architecturesEva Kuhn · 2001- 📕Tools for characterizing distributed shared memory applicationsGheith A. Abandah · 1996
- 📕Multithreaded virtual processor on DSMHo Seok An · 1999
- 📕Program directory for remote spooling communications subsystem (RSCS) networking for z/VMInternational Business Machines Corporation · 2008
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Consistency model In computer science, a consistency model specifies a contract between the programmer and a system, wherein the system guarantees that if the programmer…
- Directory-based coherence Directory-based coherence is a mechanism to handle cache coherence problem in distributed shared memory (DSM) a.k.a. non-uniform memory access (NUMA).…
- Cache coherence In computer architecture, cache coherence is the uniformity of shared resource data that is stored in multiple local caches. In a cache coherent system…
- Release consistency Release consistency is one of the synchronization-based consistency models used in concurrent programming (e.g. in distributed shared memory, distributed…
- Bus snooping Bus snooping or bus sniffing is a scheme by which a coherency controller (snooper) in a cache (a snoopy cache) monitors or snoops the bus transactions…
- Replication (computing) Replication in computing refers to maintain multiple copies of data, processes, or resources to ensure consistency across redundant components. This fundamental…
- Memory coherence Memory coherence is an issue that affects the design of computer systems in which two or more processors or cores share a common area of memory. In a uniprocess…
- Cache (computing) In computing, a cache (/kæʃ/ KASH) is a hardware or software component that stores data so that future requests for that data can be served faster; the…