Distributed Shared Memory Architecture — DSM systems provide a shared memory abstraction over physically distributed memory nodes, enabling transparent data access across networked processors without explicit message passing.
Core DSM Concepts — The foundational principles of distributed shared memory include:
- Virtual Address Space Mapping — a unified virtual address space is projected across all participating nodes, allowing processes to reference remote memory locations as if they were local
- Page-Based DSM — memory is divided into pages that migrate or replicate between nodes on demand, with the operating system intercepting page faults to fetch remote pages transparently
- Object-Based DSM — shared data is organized as objects with well-defined access methods, enabling finer-grained sharing and reducing false sharing compared to page-based approaches
- Hardware vs Software DSM — hardware implementations like SGI Origin use directory-based protocols in custom interconnects, while software DSM systems such as TreadMarks operate at the OS or library level
Coherence and Consistency in DSM — Maintaining data correctness across distributed nodes requires:
- Invalidation Protocols — when a node modifies shared data, other copies are invalidated to prevent stale reads, triggering fresh fetches on subsequent access
- Update Protocols — modifications are broadcast to all nodes holding copies, reducing access latency at the cost of higher network bandwidth consumption
- Release Consistency — synchronization points define when updates become visible, relaxing strict ordering to improve performance while preserving program correctness
- Lazy Release Consistency — updates are propagated only at synchronization acquisition points, minimizing unnecessary data transfers between nodes
Scalability and Performance Challenges — DSM systems face inherent distributed computing limitations:
- False Sharing — when unrelated variables share the same page or cache line, unnecessary coherence traffic degrades performance significantly
- Thrashing — pages may bounce rapidly between nodes under contention, creating severe performance bottlenecks that require careful data placement strategies
- NUMA Awareness — non-uniform memory access latencies demand intelligent data placement and thread scheduling to minimize remote memory references
- Directory Overhead — tracking which nodes hold copies of each page requires directory structures that grow with system scale
Modern DSM Applications — Contemporary systems leverage DSM concepts in evolved forms:
- Partitioned Global Address Space — languages like UPC and Chapel provide a global address space with locality awareness, combining DSM convenience with explicit performance control
- Remote Direct Memory Access — RDMA-capable networks enable zero-copy remote memory operations, providing DSM-like functionality with hardware-level efficiency
- Disaggregated Memory — modern data center architectures separate compute and memory resources, using DSM principles to create flexible resource pools
Distributed shared memory architecture bridges the programming simplicity of shared memory with the scalability of distributed systems, remaining foundational to modern PGAS languages and disaggregated computing paradigms.
Explore 500+ Semiconductor & AI Topics
From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.