Distributed Shared Memory (DSM), in computer science, refers to a wide class of software and hardware implementations, in which a set of nodes has access to a large shared memory in addition to each node's limited non-shared private memory.
Nodes may be processors or separate computers. Either hardware or software may implement DSM.
Shared memory architecture may involve separating memory into shared parts distributed amongst nodes and main memory; or distributing all memory between nodes. A coherence protocol, chosen in accordance with a consistency model, maintains memory coherence.
Examples of such systems include: