Distributed Shared Memory notes in distributed systems.pptx

970 views 16 slides Apr 14, 2024
Slide 1
Slide 1 of 16
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16

About This Presentation

this notes slide explains the concept of a distributed shared memory in distributed systems


Slide Content

Distributed Shared Memory

What is distributed shared memory? Distributed shared memory (DSM) is a mechanism that manages memory across multiple nodes and makes inter-process communications transparent to end-users. The applications will think that they are running on shared memory. DSM is a mechanism of allowing user processes to access shared data without using inter-process communications. In DSM every node has its own memory and provides memory read and write services and it provides consistency protocols. The DSM implements the shared memory model in distributed systems but it doesn’t have physical shared memory. All the nodes share the virtual address space provided by the shared memory model. The Data moves between the main memories of different nodes.

Types of Distributed shared memory

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.

Design and implementation issues of DSM Granularity Structure of shared memory space Memory coherence and access synchronization Data location and access Replacement strategy Thrashing Heterogeneity

Granularity:  Granularity refers to the block size of a DSM system. Granularity refers to the unit of sharing and the unit of data moving across the network when a network block shortcoming then we can utilize the estimation of the block size as words/phrases. The block size might be different for the various networks. Structure of shared memory space:  Structure refers to the design of the shared data in the memory. The structure of the shared memory space of a DSM    system is regularly dependent on the sort of applications that the DSM  system is intended to support. Memory coherence and access synchronization:  In the DSM system the shared data things ought to be accessible by different nodes simultaneously in the network. The fundamental issue in this system is data irregularity. The data irregularity might be raised by the synchronous access. To solve this problem in the DSM system we need to utilize some synchronization primitives, semaphores, event count, and so on.

Data location and access:  To share the data in the DSM system it ought to be possible to locate and retrieve the data as accessed by clients or processors. Therefore the DSM system must implement some form of data block finding system to serve network data to meet the requirement of the memory coherence semantics being utilized.  Replacement strategy:  In the local memory of the node is full, a cache miss at the node implies not just a get of the gotten to information block from a remote node but also a replacement. A data block of the local memory should be replaced by the new data block. Accordingly, a position substitution methodology is additionally vital in the design of a DSM system.

Thrashing:  In a DSM system data blocks move between nodes on demand. In this way on the off chance that 2 nodes compete for write access to the single data item. The data relating data block might be moved to back and forth at such a high rate that no genuine work can get gone. The DSM system should utilize an approach to keep away from a situation generally known as thrashing. Heterogeneity:  The DSM system worked for homogeneous systems and need not address the heterogeneity issue. In any case, assuming the underlined system environment is heterogeneous, the DSM system should be designed to deal with heterogeneous, so it works appropriately with machines having different architectures.

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.

Questions Discuss the architecture of DSM Outline other approaches used in DSM

Other questions See questions on the Chapter 18 document provided
Tags