Sie sind auf Seite 1von 12


Dr M Shamim Baig

Multiprocessors Cache
Coherence protocols
Snoopy based protocols:
Broadcast oriented e.g
shared bus

Directory based protocols

Selective communication
oriented e.g MIN

Directory Based multiprocessor cache

coherence protocol
snoopy CC-protocol is inherently limited to bus based systems
as each coherence operation is broadcasted to all processors
When IN is not a bus (e.g MIN), broadcast is not implicit
& requires additional hardware & time delay to configure,
as here point to point comm is favored.
Why not send coherence requests to only those processors
that need to be notified?
It is done using a directory, which maintains presence-vector
for each data item (cache line) along with its global state.

Directory Based CC-System

Architecture of typical directory based systems:

(a) a centralized directory (b) a distributed directory.

Performance of
Directory Based CC-Schemes
The need for a broadcast media is replaced by
the directory.
The underlying network must be able to carry
all the coherence requests.
The additional bits to store the directory may
add significant overhead.
Quantify memory required for the two Directory
based CC-schemes (Normal vs Efficient).
The directory is a point of contention, therefore,
distributed directory schemes may be used.

Normal Directory based CC-scheme:

Cache-block Entries structure

States bits

States bits

Efficient Directory based CC-scheme:

max simultaneous
caching Entries structure
States bits


if r

where M = 220

= (r log2 n + 2)

Example (Ref class notes):

Memory Overhead for both
Directory based CC-schemes:
Normal vs Efficient

Topology Embedding

Why Topologies Mapping?

Often, we need to embed a known
communication pattern into a given
interconnection topology.
We may have an algorithm designed
for one network, which we are porting
to another topology.
For these reasons, it is useful to understand mapping
between graphs

Graphs/ topology Mapping Metrics

When mapping a graph G(V,E) into G(V,E) the following
metrics are important: Dilation: Maximum number of (consecutive) links in E
that (any) one edge in E is mapped onto is called
dilation of mapping. (Distance delay effect)
Congestion: Maximum number of edges (may not be
consecutive) in E that are mapped onto any one edge
in E is called congestion of mapping. (Comm load effect)

Topologies Embedding Types

Embedding Sparser networks in Denser networks
Linear Array into a Mesh
Linear Array into a Hypercube
Mesh into a Hypercube
Simultaneous Multiple topology embedding
Embedding Denser networks in Sparser networks
Mesh into a Linear Array
Hypercube in Linear Array
Hypercube into a Mesh