Interconnection Networks: Introduction Natalie Enright Jerger.
1 Interconnection Networks. 2 Interconnection Networks Interconnection Network (for SIMD/MIMD) can...
-
Upload
avis-beasley -
Category
Documents
-
view
217 -
download
4
Transcript of 1 Interconnection Networks. 2 Interconnection Networks Interconnection Network (for SIMD/MIMD) can...
![Page 1: 1 Interconnection Networks. 2 Interconnection Networks Interconnection Network (for SIMD/MIMD) can be used for internal connections among: Processors,](https://reader035.fdocuments.us/reader035/viewer/2022072006/56649f585503460f94c7cf3b/html5/thumbnails/1.jpg)
1
Interconnection
Networks
![Page 2: 1 Interconnection Networks. 2 Interconnection Networks Interconnection Network (for SIMD/MIMD) can be used for internal connections among: Processors,](https://reader035.fdocuments.us/reader035/viewer/2022072006/56649f585503460f94c7cf3b/html5/thumbnails/2.jpg)
2
Interconnection Networks
Interconnection Network (for SIMD/MIMD) can be used for internal connections among:
Processors, Memory Modules, I/O Disk Arrays
Topologies of INs can be either:1. Static networks (i.e., Mesh, Hypercube, ...) are formed of
point-to-point direct connections, which will not change during program execution
2. Dynamic networks (i.e., Bus, Multistage, ...) are implemented with switched channels, which are dynamically configured to match communication demand in user program
![Page 3: 1 Interconnection Networks. 2 Interconnection Networks Interconnection Network (for SIMD/MIMD) can be used for internal connections among: Processors,](https://reader035.fdocuments.us/reader035/viewer/2022072006/56649f585503460f94c7cf3b/html5/thumbnails/3.jpg)
3
Static Interconnects
Static networks use direct links which are fixed once built.
Suitable for building computers where communication patterns are predictable or implementable with static connections.
Example Interconnects: Linear array, Ring Mesh, Torus Hypercubes, ...
![Page 4: 1 Interconnection Networks. 2 Interconnection Networks Interconnection Network (for SIMD/MIMD) can be used for internal connections among: Processors,](https://reader035.fdocuments.us/reader035/viewer/2022072006/56649f585503460f94c7cf3b/html5/thumbnails/4.jpg)
4
Static Interconnects
Linear Array (1D Array)
. . .0 1 2 3 N-2 N-1
Nodes = N
Routing Function - “Self routing”Is a communication process
i j(S) (D)
Node i compare its ID with dest. ID
if dest.ID >, send if dest ID <, send
where every intermediate nodeknows where to send incoming message to destination
![Page 5: 1 Interconnection Networks. 2 Interconnection Networks Interconnection Network (for SIMD/MIMD) can be used for internal connections among: Processors,](https://reader035.fdocuments.us/reader035/viewer/2022072006/56649f585503460f94c7cf3b/html5/thumbnails/5.jpg)
5
Static Interconnects
Linear Array (cont.)is 1-D network in which N nodes are connected by N-1 links in a line
0 1 2 3
15 14 13 12
7 6 5 4
8 9 10 11
0 12
3
4
5
6789
10
11
12
13
14
15
Ring is obtained by connecting two terminal nodes of linear array with one extra link
![Page 6: 1 Interconnection Networks. 2 Interconnection Networks Interconnection Network (for SIMD/MIMD) can be used for internal connections among: Processors,](https://reader035.fdocuments.us/reader035/viewer/2022072006/56649f585503460f94c7cf3b/html5/thumbnails/6.jpg)
6
Static Interconnects
Mesh (2D Array)Node N = m x nDiameter = m-1+n-1Degree = 2 (corner nodes)
3 (side nodes)
Routing Function “Row-wise routing”Source compares row first (its row & Dest’s row)
if Dest row <, send
4 (middle nodes)
if Dest row >, send
It then compares columns (its col & Dest’s col) if Dest col >, send if Dest col <, send
0 1 2 m-2 m-1
. . .
. . .
. . .
0
1
n-1
. . .
![Page 7: 1 Interconnection Networks. 2 Interconnection Networks Interconnection Network (for SIMD/MIMD) can be used for internal connections among: Processors,](https://reader035.fdocuments.us/reader035/viewer/2022072006/56649f585503460f94c7cf3b/html5/thumbnails/7.jpg)
7
Static Interconnects
Mesh (cont.)
k-D Mesh with N = nk nodes
k = 2, n = 3
Torus (a variation of mesh) has
a ring connection along each row & each col
k = 2, n = 3
![Page 8: 1 Interconnection Networks. 2 Interconnection Networks Interconnection Network (for SIMD/MIMD) can be used for internal connections among: Processors,](https://reader035.fdocuments.us/reader035/viewer/2022072006/56649f585503460f94c7cf3b/html5/thumbnails/8.jpg)
8
Static Interconnects
Hypercube (Binary k-cubes)k-cube is special case of k-D array (2 nodes/D)Every node is labeled k bits (xk-1xk-2...x1x0)
Node N = 2k
Diameter = kDegree = k
Communication Rule
0 1
2-cube
0 1
1 1
0 0
3-cube
0 1
0 1
1 1
0 0
0 1
0 1
1 1
0 0
1 1
0 0
1 1
0 0
(xk-1xk-2...x1x0)
(yk-1yk-2...y1y0)2 nodes are adjacent if they differ in exactly 1 bit
n-cube can be formed by interconnecting corresponding nodes of two (n-1)-cubes
0 1
1-cube
![Page 9: 1 Interconnection Networks. 2 Interconnection Networks Interconnection Network (for SIMD/MIMD) can be used for internal connections among: Processors,](https://reader035.fdocuments.us/reader035/viewer/2022072006/56649f585503460f94c7cf3b/html5/thumbnails/9.jpg)
9
Static Interconnects
Hypercube (cont.)Point-to-point Routing
compare IDs of S & D, if S > Dlook at left most bit
0 1
0 1
1 1
0 0
0 1
0 1
1 1
0 0
1 1
0 0
1 1
0 0
S
DS 101 D 000
Broadcasting (suppose from 0)Step 1 0 1
Step 2 0 2 1 3
Step 3 0 4 1 5 2 6 3 7
2 3
0 1
6 7
4 5
S
![Page 10: 1 Interconnection Networks. 2 Interconnection Networks Interconnection Network (for SIMD/MIMD) can be used for internal connections among: Processors,](https://reader035.fdocuments.us/reader035/viewer/2022072006/56649f585503460f94c7cf3b/html5/thumbnails/10.jpg)
10
Static Interconnects
3-D Hypercube Routing Network
Routing by least significant bit (C0)
000 001 010 011 100 101 110 111000 001
010 011
100 101
110 111
000 001
010 011
100 101
110 111
Routing by middle bit (C1)
000 001 010 011 100 101 110 111
![Page 11: 1 Interconnection Networks. 2 Interconnection Networks Interconnection Network (for SIMD/MIMD) can be used for internal connections among: Processors,](https://reader035.fdocuments.us/reader035/viewer/2022072006/56649f585503460f94c7cf3b/html5/thumbnails/11.jpg)
11
Static Interconnects
Hypercube Routing Network (cont.)
000 001
010 011
100 101
110 111
Routing by most significant bit (C2)
000 001 010 011 100 101 110 111
In general, n-D hypercube has n fns.,Routing by least significant bit (C0)
Routing by middle bits (C1, C2, ..., Cn-2)
Routing by most significant bit (Cn-1)
![Page 12: 1 Interconnection Networks. 2 Interconnection Networks Interconnection Network (for SIMD/MIMD) can be used for internal connections among: Processors,](https://reader035.fdocuments.us/reader035/viewer/2022072006/56649f585503460f94c7cf3b/html5/thumbnails/12.jpg)
12
Dynamic Interconnects
For general-purpose applications, we need to use dynamic connections(which can implement all communication patterns based on program demands)
Dynamic INs includeDigital Buses Multistage INs
Omega, Flip, BaselineCrossbar switch networksButterfly networks
Low cost
High cost