Post on 14-Apr-2017
transcript
DSM architecture, advantages & disadvantages
Subject: DOS
CE-B
Maulik togadiya
What is shared memory?
On-Chip Memory
CPU Memory CPU1 Memory
CPU4
CPU2
CPU3
Chip package
Address and data linesConnecting the CPU to the memory
extension
A single-chip computerA hypothetical shared-memoryMultiprocessor.
Introduction
Distributed shared memory (DSM) is a form of memory architecture where the (physically separate) memories can be addressed as one (logically shared) address space. Here, the term "shared" does not mean that there is a single centralized memory but "shared" means that the address space is shared.
The shared memory model provides a virtual address space shared between all nodes.
The overcome the high cost of communication in distributed systems, DSM systems move data to the location of access.
How it works?
Data moves between main memory and secondary memory (within a node) and between main memories of different nodes.
When a process accesses data in the shared address space, the mapping manager maps shared memory address to physical memory (local or remote).
DSM architecture
High speed communication network is used for connecting nodes. A simple message passing system allows on different node to
exchange message with each other. Memory mapping manager routine in each node maps local
memory onto the shared virtual memory. For mapping operation, the shared memory space is partitioned into blocks.
The main memory of individual nodes is used to cache of shared memory space.
Memory
MappingManager
Memory
MappingManager
Memory
MappingManager
Shared Memory
NODE 1 NODE 2 NODE 3
Communication network
Systems that support DSM,data moves between secondary memory and main memory as well as between main memories of different nodes.
When process access data in shared address space, a mapping manager maps the shared memory address to the physical memory. The mapping manager is layer of software implemented either in the operating kernel or as runtime library routine.
DSM architecture
Advantages
Shields programmer from send/receive primitives. DSM is usually cheaper than using multiprocessor system. DSM provides large virtual memory space. DSM programs portable as they use common DSM programming
interface. It can handle complex and large data bases without replication or
sending the data to processes. No memory access bottleneck.
Disadvantages
Must provide for protection against simultaneous access to shared data such as lock..
It could cause a performance penalty. Little programmer control over actual messages being generated. Performance of irregular problems could be difficult. Programmers need to be understand consistency model to write
correct programs.