Shared memory clusters are a hybrid design combining architectural elements of both shared memory and distributed memory computers. A cluster consists of compute nodes that contain multiple processors sharing access to a pool of local memory. The nodes communicate with each other over a fast interconnection network. Some systems, such as the Origin, include hardware and software that allow each processor to access directly the memory in any node. Other systems give processors direct access only to the local memory in a node, and any communication between nodes must use message passing.
Several options are available.
Treat the entire system as an ordinary message passing computer. Each processor runs a separate process, and all communication uses message passing, even between processes on the same node. Treat the entire system as a shared memory computer. The SGI Origin supports DSM in hardware, but software DSM also exists. The low peformance of software DSM, however, makes its use impractical for most applications.