Lecture 3 - 3 Evaluating Static Interconnection Networks
Lecture 3 - 3 Evaluating Static Interconnection Networks
Completely-connected
Star
Linear array
Hypercube
Crossbar
Omega Network
Dynamic Tree
Cache Coherence
in Multiprocessor Systems
• Interconnects provide basic mechanisms for data transfer.
• In the case of shared address space machines, additional hardware is
required to coordinate access to data that might have multiple copies
in the network.
• The underlying technique must provide some guarantees on the
semantics.
• This guarantee is generally one of serializability, i.e., there exists some
serial order of instruction execution that corresponds to the parallel
schedule.
Cache Coherence
in Multiprocessor Systems
When the value of a variable is changes, all its
copies must either be invalidated or updated.
0
Embedding a Linear Array
into a Hypercube
The function G is called the binary reflected Gray code (RGC).
Since adjoining entries (G(i, d) and G(i + 1, d)) differ from each
other at only one bit position, corresponding processors are mapped
to neighbors in a hypercube. Therefore, the congestion, dilation, and
expansion of the mapping are all 1.
Embedding a Linear Array
into a Hypercube: Example
(a) A three-bit reflected Gray code ring; and (b) its embedding into
a three-dimensional hypercube.
Embedding a Mesh
into a Hypercube
• A 2r × 2s wraparound mesh can be mapped to a 2r+s-node hypercube
by mapping node (i, j) of the mesh onto node G(i, r− 1) || G(j, s − 1) of
the hypercube (where || denotes concatenation of the two Gray
codes).
Embedding a Mesh into a Hypercube
(a) Embedding a 16 node linear array into a 2-D mesh; and (b) the
inverse of the mapping. Solid lines correspond to links in the linear
array and normal lines to links in the mesh.
Embedding a Hypercube into a 2-D Mesh
• Each node subcube of the hypercube is mapped
to a node row of the mesh.
• This is done by inverting the linear-array to
hypercube mapping.
• This can be shown to be an optimal mapping.
Embedding a Hypercube into a 2-D Mesh:
Example