1 / 12

Interconnection Networks

Interconnection Networks. 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:

salene
Download Presentation

Interconnection Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Interconnection Networks

  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: • Static networks (i.e., Mesh, Hypercube, ...) are formed of point-to-point direct connections, which will not change during program execution • Dynamic networks (i.e., Bus, Multistage, ...) are implemented with switched channels, which are dynamically configured to match communication demand in user program

  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, ...

  4. 0 1 2 3 N-2 N-1 . . . i  j (S) (D) Static Interconnects Nodes = N Linear Array (1D Array) Routing Function - “Self routing” Is a communication process where every intermediate node knows where to send incoming message to destination Node i compare its ID with dest. ID if dest.ID >, send  if dest ID <, send 

  5. 0 15 1 2 14 3 13 0 1 2 3 4 12 7 6 5 4 11 5 8 9 10 11 6 10 9 7 8 15 14 13 12 Static Interconnects Linear Array (cont.) is 1-D network in which N nodes are connected by N-1 links in a line Ring is obtained by connecting two terminal nodes of linear array with one extra link

  6. 0 1 2 m-2 m-1 . . . 0 1 n-1 . . . . . . . . . Static Interconnects Node N = m x n Mesh (2D Array) Diameter = m-1+n-1 Degree = 2(corner nodes) 3 (side nodes) 4(middle nodes) Routing Function “Row-wise routing” Source compares row first (its row & Dest’s row) if Dest row <, send  if Dest row >, send  It then compares columns (its col & Dest’s col) if Dest col >, send  if Dest col <, send 

  7. k = 2, n = 3 k = 2, n = 3 Static Interconnects Mesh (cont.) k-D Mesh with N = nk nodes Torus (a variation of mesh) has a ring connection along each row & each col

  8. 1 • 0 0 2-cube • 1 • 0 0 • 1 • 0 0 1 1 0 0 1 1 0 0 0 1 0 1 1-cube 3-cube (xk-1xk-2...x1x0) 2 nodes are adjacent if they differ in exactly 1 bit (yk-1yk-2...y1y0) 0 1 0 1 0 1 0 1 0 1 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 = k Degree = k n-cube can be formed by interconnecting corresponding nodes of two (n-1)-cubes Communication Rule

  9. 1 1 0 0 1 1 0 0 • 1 • 0 0 • 1 • 0 0 S D 0 1 0 1 4 5 2 3 0 1 6 7 0 1 S 0 1 Static Interconnects Hypercube(cont.) Point-to-point Routing compare IDs of S & D, if S > D look at left most bit S 101 D 000 Broadcasting (suppose from 0) Step 3 0  4 1  5 2  6 3  7 Step 1 0  1 Step 2 0  2 1  3

  10. 110 111 110 111 010 011 010 011 100 101 100 101 001 000 001 000 110 000 001 010 011 100 101 110 010 111 000 101 100 011 001 111 Static Interconnects 3-D Hypercube Routing Network Routing by least significant bit (C0) Routing by middle bit (C1)

  11. 110 111 010 011 100 101 001 000 100 011 010 001 111 101 110 000 Static Interconnects Hypercube Routing Network (cont.) Routing by most significant bit (C2) • 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)

  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 include • Digital Buses • Multistage INs • Omega, Flip, Baseline • Crossbar switch networks • Butterfly networks Low cost High cost

More Related