Data Shared System (DSM)
Data Shared System (DSM)
its advantages
On-Chip Memory:
The data is present in the CPU portion of the chip.
Memory is directly connected to address lines.
On-Chip Memory DSM is expensive and complex.
Bus-Based Multiprocessors:
A set of parallel wires called a bus acts as a connection between CPU and
memory.
accessing of same memory simultaneously by multiple CPUs is prevented
by using some algorithms
Cache memory is used to reduce network traffic.
Ring-Based Multiprocessors:
There is no global centralized memory present in Ring-based DSM.
All nodes are connected via a token passing ring.
In ring-bases DSM a single address line is divided into the shared area.
Advantages of Distributed shared memory
Simpler abstraction: Programmer need not concern about data movement,
As the address space is the same it is easier to implement than RPC.
Easier portability: The access protocols used in DSM allow for a natural
transition from sequential to distributed systems. DSM programs are portable
as they use a common programming interface.
locality of data: Data moved in large blocks i.e. data near to the current
memory location that is being fetched, may be needed future so it will be
also fetched.
on-demand data movement: It provided by DSM will eliminate the data
exchange phase.
larger memory space: It provides large virtual memory space, the total
memory size is the sum of the memory size of all the nodes, paging activities
are reduced.
Better Performance: DSM improve performance and efficiency by speeding
up access to data.
Flexible communication environment: They can join and leave DSM
system without affecting the others as there is no need for sender and
receiver to existing,
process migration simplified: They all share the address space so one
process can easily be moved to a different machine.
Apart from the above-mentioned advantages, DSM has furthermore advantages
like:
Less expensive when compared to using a multiprocessor system.
No bottlenecks in data access.
Scalability i.e. Scales are pretty good with a large number of nodes.
Processes cannot run simultaneously. Processes may run at the same time.
Shared memory is the memory block that can be accessed by more than one
program. A shared memory concept is used to provide a way of communication and
provide less redundant memory management.
Distributed Shared Memory abbreviated as DSM is the implementation of shared
memory concept in distributed systems. The DSM system implements the shared
memory models in loosely coupled systems that are deprived of a local physical shared
memory in the system. In this type of system distributed shared memory provides a
virtual memory space that is accessible by all the system (also known as nodes) of the
distributed hierarchy.
Some common challenges that are to be kept in mind while the implementation of DSM
−
Tracking of the memory address (location) of data stored remotely in shared
memory.
To reduce the communication delays and high overhead associated with the
references to remote data.
Migration Algorithm
As the name suggest the migration algorithm does the work of migration of data
elements. Instead of using a central server serving each request, the block containing
the data requested by a system is migrated to it for further access and processing. It
migrates the data on request.
This algorithm though is good if when a system accesses the same block of data
multiple times and the ability to integrate virtual memory concept, has some
shortcomings that are needed to be addressed.
Only one node is able to access the shared data element at a time and the whole
block is migrated to that node. Also, this algorithm is more prone to thrashing due to
the migration of data items upon request by the node.