CSC/ECE 506 Spring 2012/11a hn

From Expertiza_Wiki
Jump to navigation Jump to search

Distributed Shared Memory

The Distributed Shared Memory (DSM) system is a combination of a Shared Memory system and a Distributed Memory systems. The Shared Memory system has a group of processors sharing global memory which allows any processor to access the memory location[1].]] The Distributed memory systems have a cluster each (i.e each processor has its own memory location ) and use message passing to communicate between the clusters[2] The DSM on the other hand has several processors sharing the same address space i.e a location in memory will be the same physical address for all processors. Unlike the Shared Memory System they do not actually use a global memory which is accessible by all processors, instead it is a logical abstraction of a single address space for different memory locations which can be accessed by all processors.

Shared Memory System.
Illustration of Shared memory system [3].
Shared Memory System.
Illustration of Distributed memory system [3].
Distributed Memory System.
Illustration of Distributed memory system [3].





Instead of implementing shared memory model with a bus support the DSM uses a more scalable and less expensive model by supporting the abstraction of shared memory by using message passing. The main memory of a cluster of processors is made to look like a single memory with a single address space. The DSM allows the programmer to share and use variables without having to worry about their management. Hence a processor can access a address space held by other processors main memory. The DSM allows end-users to use the shared memory without knowing the message passing,the idea is to allow inter processor communication which is invisible to the user.

Hardware DSM

Software DSM

Performance of DSM

Performance Improvement

References

  1. Shared Memory System
  2. Distributed Memory system
  3. Distributed Shared Memory Systems