Interconnection Network
in this presentation there are some explain to Interconnection Network , and espically in computer architecture and parallel processing.
2. History
Networking strategy was originally
employed in the 1950's by the
telephone industry as a means of
reducing the time required for a call to
go through.
Similarly, the computer industry
employs networking strategy to provide
fast communication between computer
subparts, particularly with regard to
parallel machines.
3. • The performance requirements of many
applications, such as weather prediction, signal
processing, radar tracking, and image
processing, far exceed the capabilities of
single-processor architectures.
• Parallel machines break a single problem
down into parallel tasks that are performed
concurrently, reducing significantly the
application processing time.
Why ???
4. Why???
• Any parallel system that employs more than one
processor per application program must be
designed to allow its processors to communicate
efficiently; otherwise, the advantages of parallel
processing may be negated by inefficient
communication.
• This fact emphasizes the importance of
interconnection networks to overall parallel
system performance.
• In many proposed or existing parallel processing
architectures, an interconnection network is used
to realize transportation of data between
5. Fundamentals
• In multiprocessor systems, there are multiple
processing elements, multiple I/O modules,
and multiple memory modules.
• Each processor can access any of the
memory modules and any of the I/O units.
• The connectivity between these is performed
by interconnection networks.
• In case of multiprocessor systems, the
performance will be severely affected in case
the data exchange between processors is
delayed.
6. Fundamentals …
• The multiprocessor system has one global
shared memory and each processor has a
small local memory.
• The processors can access data from
memory associated with another processor or
from shared memory using an interconnection
network.
• Thus, interconnection networks play a central
role in determining the overall performance of
the multiprocessor systems.
7. The architecture of a general multiprocessor is
shown in Figure 1. In the multiprocessor
systems, these are multiple processor modules
(each processor module consists of a
processing element, small sized local memory
and cache memory), shared global memory and
shared peripheral devices.
8. Module communicates with other modules shared memory and
peripheral devices using interconnection networks.
9. NETWORK TOPOLOGY
Network topology refers to the layouts of links
and switch boxes that establish interconnections.
There are two groups of network topologies:
static and dynamic.
Static networks provide fixed connections
between nodes. (A node can be a processing unit,
a memory module, an I/O module, or any
combination thereof.)
With a static network, links between nodes are
unchangeable and cannot be easily reconfigured.
Dynamic networks provide reconfigurable
connections between nodes.
10. Static Networks
There are various types of static
networks, all of which are characterized
by their node degree;
node degree is the number of links
(edges) connected to the node.
Some well-known static networks are the
following:
Degree 1: shared bus
Degree 2: linear array, ring
Degree 3: binary tree, fat tree, shuffle-exchange
Degree 4: two-dimensional mesh (Illiac, torus)
Varying degree: n-cube, n-dimensional mesh, k-ary
n-cube
11. Diameter
• A measurement unit, called diameter, can be
used to compare the relative performance
characteristics of different networks.
• More specifically, the diameter of a network is
defined as the largest minimum distance
between any pair of nodes.
• The minimum distance between a pair of
nodes is the minimum number of
communication links (hops) that data from one
of the nodes must traverse in order to reach
the other node.
13. Hyper Cube: A Hypercube interconnection network is an
extension of cube network.
Hypercube interconnection network for n ≥ 3, can be
defined recursively as follows:
For n = 3, it cube network in which nodes are assigned
number 0, 1, ……,7 in binary. In other words, one of the
nodes is assigned a label 000, another one as 001….
and the last node as 111.
Then any node can communicate with any other node if
their labels differ in exactly one place, e.g., the node with
label 101 may communicate directly with 001, 000 and
111.
For n > 3, a hypercube can be defined recursively as
follows:
Take two hypercubes of dimension (n – 1) each having
(n –1) bits labels as 00….0, ……11…..1
14. For n = 4 we draw 4-dimensional
hypercube as show in Figure 3
16. For example, as shown in Figure 4, to route a
packet from node 0 to node 5, the packet could
go through two different paths, P1 and P2.
Here T=000 XOR 101 = 101. If we first
consider the bit t0 and then t2, the packet goes
through the path P1. Since t0 =1, the packet is
sent through the 0th-dimension link to node 1.
At node 1, t0 is set to 0; thus T now becomes
equal to 100. Now, since t2=1, the packet is
sent through the second-dimension link to
node 5. If, instead of t0, bit t2 is considered
first, the packet goes through P2.
18. • The cost (complexity) of an n-cube
measured in terms of the number of
nodes in the cube is O(2^n)
• while the delay (latency) measured in
terms of the number of nodes
traversed while going from a source
node to a destination node is O( log2
N).
• The node degree in an n-cube is
O(log2N)
• and the diameter of an n-cube is
19. Features
The n-cube network has several features that
make it very attractive for parallel computation. It
appears the same from every node, and no node
needs special treatment. It also provides n
disjoint paths between a and a destination.
For example, consider the 3-cube of Figure 2.
Since n=3, there are three paths from a source,
say 000, to a destination, say 111. The paths are
path 1: 000 001 011 111;
path 2: 000 010 110 111;
path 3: 000 100 101 111.
This ability to have n alternative paths between
any two nodes makes the n-cube network highly
reliable if any one (or more) paths become
unusable.
20. Used in some early message passing
machines, e.g.:
- Intel iPSC
- nCube