Distributed shared memory
From Wikipedia, the free encyclopedia
Distributed Shared Memory (DSM), in computer science, refers to a wide class of software and hardware implementations, in which each node of a cluster has access to a large shared memory in addition to each node's limited non-shared private memory.
Software DSM systems can be implemented within an operating system, or as a programming library. Software DSM systems implemented in the operating system can be thought of as extensions of the underlying virtual memory architecture. Such systems are transparent to the developer; which means that the underlying distributed memory is completely hidden from the users. In contrast, Software DSM systems implemented at the library or language level are not transparent and developers usually have to program differently. However, these systems offer a more portable approach to DSM system implementation.
Software DSM systems also have the flexibility to organise the shared memory region in different ways. The page based approach organises shared memory into pages of fixed size. In contrast, the object based approach organises the shared memory region as an abstract space for storing shareable objects of variable sizes.
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:
- Delphi
- JIAJIA
- Kerrighed
- NanosDSM
- Strings
- TreadMarks
[edit] External links
Topics in Parallel Computing | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|