×

Distributed Shared Memory

Distributed Shared Memory is a process of managing memory over more than one node and makes inter-process communication which transfers to end users. It is a mechanism that allows user processes to access shared files without inter-process communications. In Distributed Shared Memory each node has own memory and it gives memory write and read operations and it give stable protocols. DSM utilizes shared memory model in distributed systems. But distributed system doesn’t have real shared memory. The shared memory model provides virtual address to all the nodes and the data transfers between different nodes.

Distributed Shared Memory

Types of DSM

The different types of DSM:

On Chip memory:

  • Memory is attached to address lines.
  • Data is stored in CPU portion of chip.
  • On-Chip Memory DSM is more costly and composite.

Ring based multiprocessors:

  • There is no global compact memory in Ring-based DSM.
  • In ring-bases DSM has divided each address line into shared area.
  • The nodes are attached in the form of tokens passing rings.

Bus based multiprocessors:

  • Cache memory is used to reduce network traffic.
  • collection of parallel wires called a bus. It acts as link between memory and CPU.
  • accessing of same memory simultaneously by multiple CPUs is prevented by using some algorithms.

Advantages of DSM:

  • Locality of data:
    In Locality, large blocks of data near to the current location is collected, because the current location may be needed in further so the data is collected.
  • Larger memory space:
    As it names large memory space will give large virtual memory, the memory size is calculated sum of memory size of all nodes, pages task is reduced.
  • Flexible communication environment:
    It is used combine and separate Distributed Shared Memory without affecting the others. Here sender and receiver are no need to exist.
  • Simple abstraction:
    Abstraction is used to duplicate / abstract the data. As the address space is same it is easy and simple for improving data.
  • Better performance:
    If we improve speeding up access to data then efficiency and performance of Distributed Share Memory will increase.
  • Easier portability:
    The access protocols used in DSM allow for a regular transition from sequential to distributed systems. Distributed Shared Memory programs are portable because it uses programming interface.
  • On demand data movement:
    It is used to delete the data exchange phase in distributed shared memory.
  • Process migration simplified:
    Data contain address space for every process. So, data can be shifted easily to another machine.
  • Scalability.
  • Less expensive
  • No bottlenecks in data access.

Related Topics

Round-Robin Scheduling Algorithm in OS

Round-Robin is a Preemptive Scheduling Algorithm and is the most commonly used algorithm in CPU Scheduling.In this, each Process is assigned with a fix time interval to execute, which is...

5 minutes read.

Distributed Shared Memory

Distributed Shared Memory is a process of managing memory over more than one node and makes inter-process communication which transfers to end users. It is a mechanism that allows user...

2 minutes read.

Multiprogramming Operating System

You will discover more about the multiprogramming operating system in this post, including how it functions and its benefits and drawbacks. Each process needs several types of system time, including CPU...

4 minutes read.

FCFS (First-Come-First-Serve) Disk Scheduling Algorithm

FCFS Disk Scheduling Algorithm FCFS (First-Come-First-Serve) is the easiest disk scheduling algorithm among all the scheduling algorithms. In the FCFS disk scheduling algorithm, each input/output request is served in the order...

4 minutes read.

Simple Structure in Operating System

An operating system is a piece of software that lets the user applications talk to the hardware of the system. Because it is such a complicated structure, the operating system...

3 minutes read.

Resource Allocation Graph in Operating System

Resource Allocation Graph in OS We use the resource allocation graph for the pictographic representation of the state of a system. The resource allocation graph contains all the information related to the processes that...

5 minutes read.

Interested Variable Mechanism

Interested Variable Mechanism It is a must to provide progress to the process synchronization mechanism. In variable mechanism, if there is a process that doesn’t need to enter into the critical section, then due...

5 minutes read.

Batch Operating System

Computers were once quite huge devices that operated from a console. Tape drives, punch cards, line printers were often utilized for the output, and tape drivers or card readers for...

4 minutes read.

What is Scheduling on OS

Scheduling is the process which is used to share the computing resources such as memory, processor time, and bandwidth to the different processes, data flows, threads, and applications which need them. Scheduling is...

5 minutes read.

Fixed Partitioning in Operating System

Fixed Partitioning in OS Fixed Partitioning is also known as Contiguous memory allocation. Fixed Partitioning is the easiest method, which is used to load more than one process into the main memory. In Fixed...

5 minutes read.

Look Disk Scheduling

Look Disk Scheduling Look disk scheduling is another type of disk scheduling algorithm. Look scheduling is an enhanced version of SCAN disk scheduling. Look disk scheduling is the same as SCAN disk scheduling,...

4 minutes read.

Difference between Rotational Latency and Disk Assess Time in Disk Scheduling

Disk scheduling is used by operating systems to arrange the arrival of I/O requests to the disc. Disk scheduling is necessary because several I/O requests may occur from various processes,...

4 minutes read.

Process State in OS

The Process passes from different states, from its formation to completion. The following are the states of the Process. NewReadyRunningBlock or WaitTerminated or CompletedSuspend readySuspend wait or suspend blocked 1. New: - The state in which a process...

2 minutes read.

Non-Contiguous Memory Allocation in Operating System

Memory is nothing but a storage space where various data are stored. We can store data in temporary and permanent memory as per our future requirements for data. We can...

9 minutes read.

MS-DOS Operating System

It is also referred to occasionally as "DOS", an abbreviation for disc operating systems. Operating systems with a graphical user interface (GUI) in different iterations of the graphical Microsoft Windows...

5 minutes read.

Free Space Management in Operating System

What is Free Space Management? The system always keeps the records of the free disks blocks for allocating space to files when they are created. To use the space free from...

4 minutes read.

Test Set Lock Mechanism | Operating System

Modification in the Assembly Code The problem in the lock variable is that, in some cases, the process reads the previous or old value of the lock variable and enters into the critical...

4 minutes read.

Virtual Memory in Operating System

What is Virtual Memory Virtual Memory is a storage scheme in which the users have an illusion that users have a significant amount of Main Memory. We can perform this by taking a...

3 minutes read.

What is Context Switching

Context Switching is the switching of CPU from one process to another process. Context switching means storing the process state so that we can reload the process when needed, and the execution...

3 minutes read.

Deadlock Detection and Recovery

Deadlock Detection and Recovery In deadlock detection and recovery, to avoid or prevent a deadlock, the operating system uses various methods. For checking deadlock, an operating system continuously monitors the system. Then also,...

2 minutes read.