Distributed Shared Memory - Revised
Distributed Shared Memory - Revised
Distributed Shared Memory - Revised
Memory
Distributed shared memory
DSM paradigm provides process with shared address
space.
Primitives for shared memory:
1. Read(address)
2. Write(address, data)
Shared memory paradigm gives the system a illusion of
physically shared memory.
DSM refers to shared memory paradigm applied to
loosely coupled distributed memory systems.
Cont….
Shared memory exists only virtually.
Similar concept to virtual memory.
DSM also known as DSVM.
DSM provides a virtual address space shared among
processes on loosely coupled processors.
DSM is basically an abstraction that integrates the local
memory of different machine into a single logical entity
shared by cooperating processes.
Distributed shared memory
DSM Architecture
Each node of the system consist of one or more CPUs
and memory unit.
Nodes are connected by high speed communication
network.
Simple message passing system for nodes to exchange
information.
Main memory of individual nodes is used to cache pieces
of shared memory space.
Reduces network latency
Cont….
Memory mapping manager routine maps local memory
to shared virtual memory.
Shared memory space is partitioned into blocks.
Data caching is used in DSM system to reduce network
latency.
The basic unit of caching is a memory block.
Cont….
If data is not available in local memory network block
fault is generated.
Directory size
The larger the block size, the smaller the
directory.
Better performance.
Implementing Seq. Consistency Model
Strategies:
1. Nonreplicated, Nonmigrating blocks (NRNMB)
2. Nonreplicated, Migrating blocks (NRMB)
3. Replicated, migrating blocks (RMB)
4. Replicated, Nonmigrating blocks (RNMB)
NRNMBS
Simplest strategy.
Drawbacks:
Serializing data access creates a bottleneck.
Migration is allowed.
Owner node of a block changes as soon as the
block is migrating to a new node.
Drawbacks:
Prone to thrashing problem.
No parallelism.
Data locating in the NRMB strategy
On a fault,
Fault handler of the faulting node broadcasts a
read/write request on the network.
Disadvantage:
Not scalable.
Centralized server algorithm
Cont…
A centralized server maintains a block table
that contains the location information for all
block in the shared memory space.
Drawbacks:
A centralized server serializes location
queries, reducing parallelism.
Write-invalidate
All copies of a piece of data except one are invalidated
before a write can be performed on it.