Lecture 5
Lecture 5
• In a linear array, each node has two neighbors, one to its left
and one to its right.
• If the nodes at either end are connected, we refer to it as a 1-
D torus or a ring.
• A generalization to 2 dimensions has nodes with 4 neighbors,
to the north, south, east, and west.
• A further generalization to d dimensions has nodes with 2d
neighbors.
• A special case of a d-dimensional mesh is a hypercube. Here,
d = log p, where p is the total number of nodes.
Network Topologies: Linear Arrays
Diameter:
• The distance between the farthest two nodes in the network.
• The diameter of a linear array is p − 1, tree and hypercube is log
p, and completely connected network is O(1).
Connectivity:
• The connectivity of a network is a measure of the multiplicity of
paths between any two processing nodes.
• A network with high connectivity is desirable, because it lowers
contention for communication resources.
• One measure of connectivity is the minimum number of arcs that
must be removed from the network to break it into two
disconnected networks. This is called the arc connectivity of the
network.
Evaluating Static Interconnection Networks
Bisection Width:
• The minimum number of wires you must cut to divide the
network into two equal parts.
• The bisection width of a linear array and tree is 1, that of a
mesh is , that of a hypercube is p/2 and that of a
completely connected network is p2/4.
Cost:
• The number of links or switches (whichever is asymptotically
higher) is a meaningful measure of the cost.
• However, a number of other factors, such as the ability to
layout the network, the length of wires, etc., also factor in to
the cost.
Evaluating Static Interconnection Networks
Completely-connected
Star
Linear array
Hypercube
Crossbar
Omega Network
Dynamic Tree
Cache Coherence
in Multiprocessor Systems
Cache Coherence in Multiprocessor Systems
• If another processor reads the value, the directory notices the dirty
tag and uses the presence bits to direct the request to the
appropriate processor.
• P0 updates the block in the memory, and sends it to the requesting
processor. The presence bits are modified to reflect this and the
state transitions to shared.
Performance of Directory Based Schemes