Distributed shared memory

[1]: 201  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 (i.e., not shared) memory.

Unless the copyright status of the text of this page or section is clarified and determined to be compatible with Wikipedia's content license, the problematic text and revisions or the entire page may be deleted one week after the time of its listing (i.e. after 14:03, 14 February 2025 (UTC)).

A distributed-memory system, often called a multicomputer, consists of multiple independent processing nodes with local memory modules which is connected by a general interconnection network.

In contrast, software DSM systems implemented at the library or language level are not transparent and developers usually have to program them differently.

Hardware examples include cache coherence circuits and network interface controllers.

Unless the copyright status of the text of this page or section is clarified and determined to be compatible with Wikipedia's content license, the problematic text and revisions or the entire page may be deleted one week after the time of its listing (i.e. after 14:03, 14 February 2025 (UTC)).

Software DSM systems also have the flexibility to organize the shared memory region in different ways.

In a home-centric system, the DSM will avoid having to handle request-response races between nodes by allowing only one transaction to occur at a time until the home node has decided that the transaction is finished—usually when the home has received every responding processor's response to the request.

[3] The advantages of this approach are that it's simple to implement but its request-response strategy is slow and buffered due to the home node's limitations.

This means that multiple nodes can attempt to start a transaction, but this requires additional considerations to ensure coherence.

State diagram of a block of memory in a DSM. A block is "owned" if one of the nodes has the block in state EM.
State diagram of a block of memory in a DSM. A block is "owned" if one of the nodes has the block in state EM.
Sequential invocations and responses in DSM
Sequential invocations and responses in DSM