Distributed shared memory: Difference between revisions

Content deleted Content added
Comparison with message passing: backwards copy, text was inserted in 2003-2005 source dated 2014
Overview: cv http://ivizlab.sfu.ca/arya/Papers/IEEE/Concurrency/1996/Summer/Distributed%20Shared%20Memory.htm
 
Line 20:
== Overview ==
[[File:DSM FIGURE.jpg|330px|right]]
 
{{Copyvio|timestamp=20250207140314 |url=http://ivizlab.sfu.ca/arya/Papers/IEEE/Concurrency/1996/Summer/Distributed%20Shared%20Memory.htm}}
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. Software DSM systems can be implemented in an [[operating system]], or as a programming library and can be thought of as extensions of the underlying [[virtual memory]] architecture. When implemented in the operating system, 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 them differently. However, these systems offer a more portable approach to DSM system implementations. A DSM system implements the [[shared-memory]] model on a physically distributed memory system.
</div>
 
DSM can be achieved via software as well as hardware. Hardware examples include [[cache coherence]] circuits and [[network interface controller]]s. There are three ways of implementing DSM: