Parallel Processing Lecture3
Parallel Processing Lecture3
Lecture 3
INs Taxonomy:
• An IN could be either static or dynamic. Connections in a static network
are fixed links, while connections in a dynamic network are established
on the fly as needed.
• Static networks can be further classified according to their
interconnection pattern as one-dimension (1D), two-dimension (2D), or
hypercube (HC).
• Dynamic networks can be classified based on interconnection scheme as
bus-based versus switch-based.
٢ ACA-
١٧Lecture
Static Interconnection Networks:
• Static (fixed) interconnection networks are characterized by having fixed
paths, unidirectional or bidirectional, between processors. Two types of
static networks can be identified;
– Completely Connected Networks (CCNs),
– Limited Connection Networks (LCNs).
- ACA-
١٧Lecture
CCN Characteristics:
• CCNs guarantee fast delivery of messages from any source node to any
destination node. Only one link has to be traversed.
• CCNs are expensive in terms of the number of links needed
• for their construction. This disadvantage becomes more and more
apparent for higher values of N.
• The number of links in a CCN is given by N(N-1)/2.
• The delay complexity of CCNs, measured in terms of the number of links
traversed as messages are routed from any source to any destination is
constant, that is, O(1).
Example:
CCN having N=6 nodes. A total of 15 links are required in order to satisfy
the complete interconnectivity of the network.
3 ACA-
١٧Lecture
Limited Connection Networks:
• Limited connection networks (LCNs) do not provide a direct link from
every node to every other node in the network. Instead, communications
between some nodes have to be routed through other nodes in the
network.
• The length of the path between nodes, measured in terms of the number
of links that have to be traversed, is expected to be longer compared to
the case of CCNs.
• Two other conditions seem to have been imposed by the existence of
limited interconnectivity in LCNs, these are:
– the need for a pattern of interconnection among nodes, and
– the need for a mechanism for routing messages around the network
until they reach their destinations.
• A number of regular interconnection patterns for LCNs include:
– . linear arrays;
– . ring (loop) networks;
– . two-dimensional arrays (nearest-neighbor mesh);
– . tree networks; and
– . cube networks.
9 ACA-’VLecture
< ACA-’VLecture
Linear Array Static LCN:
G ACA-’VLecture
• The route of a message originating at node i and destined for node j can
be found by XOR-ing the binary address representation of i and j.
• If the XOR-ing operation results in a 1 in a given bit position, then the
message has to be sent along the link that spans the corresponding
dimension.
Example: If a message is sent from source (S) node 0101 to destination (D)
node 1011, then the XOR operation results in 1110.
– The message will be sent only along dimensions 2, 3, and 4 (counting
from right to left) in order to arrive at the destination.
– Once the message traverses the three dimensions in any order it will
reach its destination.
• The hypercube is referred to as a logarithmic architecture. This is
because the maximum number of links a message has to traverse in
order to reach its destination in an n-cube containing N= (2↑n) nodes is
log2N=n links.
’I ACA-’VLecture
Mesh-Connected Networks:
Example: 3*3*2 mesh network.
• A node whose position is (i, j, k) is connected to its neighbors at
dimensions i+1, j+1, and k+1.
• A number of routing mechanisms have been used to route messages
around meshes. One such routing mechanism is known as the
dimension-ordering routing.
• A message is routed in one given dimension at a time, arriving at the
proper coordinate in each dimension before proceeding to the next
dimension.
• For a 3D mesh, messages are first sent along the i dimension, then
along the j dimension, and finally along the k dimension.
• The route of a message sent from node S at position (0, 0, 0) to node D
at position (2, 1, 1).
• For a mesh interconnection network with N nodes, the longest distance
traveled between any two arbitrary nodes is O(NN).
’’ ACA-’VLecture
Interconnection
Networks for Parallel
• Computers
Interconnection networks carry data between processors
and to memory.
• Interconnects are made of switches and links (wires,
fiber).
• Interconnects are classified as static or dynamic.
• Static networks consist of point-to-point communication
links among processing nodes and are also referred to
as direct networks.
• Dynamic networks are built using switches and
communication links. Dynamic networks are also
referred to as indirect networks.
Static and Dynamic
Interconnection
Networks
Complete binary tree networks: (a) a static tree network; and (b)
a dynamic tree network.
Network Topologies: Tree
Properties
The distance between any two nodes is no more than
2logp.
Links higher up the tree potentially carry more traffic
than those at the lower levels.
For this reason, a variant called a fat-tree, fattens the
links as we go up the tree.
Trees can be laid out in 2D with no wire crossings. This is
an attractive property of trees.
Network Topologies: Fat
Trees
Completely-connected
Star
Linear array
Hypercube
Crossbar
Omega Network
Dynamic Tree
Routing Mechanisms
for Interconnection
Networks
0
Embedding a Linear
Array into a
Hypercube
The function G is called the binary reflected Gray
code (RGC).
(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