Advance Computer Architecture: Unit:Ii System Interconnect Architectures
Advance Computer Architecture: Unit:Ii System Interconnect Architectures
Advance Computer Architecture: Unit:Ii System Interconnect Architectures
UNIT:II
System Interconnect Architectures
System Interconnect Architectures
Direct networks for static connections
Indirect networks for dynamic connections
Networks are used for
internal connections in a centralized system among
• processors
• memory modules
• I/O disk arrays
distributed networking of multicomputer nodes
Goals and Analysis
The goals of an interconnection network are to
provide
low-latency
high data transfer rate
wide communication bandwidth
Analysis includes
latency
bisection bandwidth
data-routing functions
scalability of parallel architecture
Network Properties and Routing
Static networks: point-to-point direct connections
that will not change during program execution
Dynamic networks:
switched channels dynamically configured to match user
program communication demands
include buses, crossbar switches, and multistage
networks
Both network types also used for inter-PE data
routing in SIMD computers
Terminology - 1
Network usually represented by a graph with a finite
number of nodes linked by directed or undirected edges.
Number of nodes in graph = network size .
Number of edges (links or channels) incident on a node =
node degree d (also note in and out degrees when edges
are directed). Node degree reflects number of I/O ports
associated with a node, and should ideally be small and
constant.
Diameter D of a network is the maximum shortest path
between any two nodes, measured by the number of links
traversed; this should be as small as possible (from a
communication point of view).
Terminology - 1
Network usually represented by a graph with a finite
number of nodes linked by directed or undirected edges.
Number of nodes in graph = network size .
Number of edges (links or channels) incident on a node =
node degree d (also note in and out degrees when edges
are directed). Node degree reflects number of I/O ports
associated with a node, and should ideally be small and
constant.
Diameter D of a network is the maximum shortest path
between any two nodes, measured by the number of links
traversed; this should be as small as possible (from a
communication point of view).
Terminology - 2
Channel bisection width b = minimum number of edges cut
to split a network into two parts each having the same
number of nodes. Since each channel has w bit wires, the
wire bisection width B = bw. Bisection width provides good
indication of maximum communication bandwidth along the
bisection of a network, and all other cross sections should
be bounded by the bisection width.
Wire (or channel) length = length (e.g. weight) of edges
between nodes.
Network is symmetric if the topology is the same looking
from any node; these are easier to implement or to
program.
Other useful characterizing properties: homogeneous
nodes? buffered channels? nodes are switches?
Data Routing Functions
Shifting
Rotating
Permutation (one to one)
Broadcast (one to all)
Multicast (many to many)
Personalized broadcast (one to many,only to
selected ones)
Shuffle
Exchange
Etc.
Permutations
Given n objects, there are n ! ways in which they
can be reordered (one of which is no reordering).
A permutation can be specified by giving the rule
for reordering a group of objects.
Permutations can be implemented using crossbar
switches, multistage networks, shifting, and
broadcast operations. The time required to
perform permutations of the connections between
nodes often dominates the network performance
when n is large.
Perfect Shuffle and Exchange
Stone (1971) suggested the special permutation
that entries according to the mapping of the k-bit
binary number a b … k to b c … k a (that is,
shifting 1 bit to the left and wrapping it around to
the least significant bit position).
The inverse perfect shuffle reverses the effect of
the perfect shuffle.
Perfect Shuffle and Exchange
Hypercube Routing Functions
If the vertices of a n-dimensional cube are labeled
with n-bit numbers so that only one bit differs
between each pair of adjacent vertices, then n
routing functions are defined by the bits in the
node (vertex) address.
For example, with a 3-dimensional cube, we can
easily identify routing functions that exchange data
between nodes with addresses that differ in the
least significant, most significant, or middle bit.
Hypercube Routing Functions
Hypercube Routing Functions
Factors Affecting Performance
Functionality – how the network supports data routing,
interrupt handling, synchronization, request/message
combining, and coherence
Network latency – worst-case time for a unit message to be
transferred
Bandwidth – maximum data rate
Hardware complexity – implementation costs for wire, logic,
switches, connectors, etc.
Scalability – how easily does the scheme adapt to an
increasing number of processors, memories, etc.?
Static Networks
Linear Array
Ring and Chordal Ring
Barrel Shifter
Tree and Star
Fat Tree
Mesh and Torus
Static Networks – Linear Array
N nodes connected by n-1 links (not a bus);
segments between different pairs of nodes can be
used in parallel.
Internal nodes have degree 2; end nodes have
degree 1.
Diameter = n-1
Bisection = 1
For small n, this is economical, but for large n, it is
obviously inappropriate.
Static Networks – Linear Array
Static Networks – Ring, Chordal Ring
Like a linear array, but the two end nodes are
connected by an n th link; the ring can be uni- or
bi-directional. Diameter is n/2 for a bidirectional
ring, or n for a unidirectional ring.
Static Networks – Ring, Chordal Ring
By adding additional links (e.g. “chords” in a
circle), the node degree is increased, and we
obtain a chordal ring. This reduces the network
diameter.
9/24/2019 52
Summary: Connectivity and Routing