distributed shared memory architecture

**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.**

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account