Network Definitions A network is a graph V = {switches and nodes} connected by communication channels C V V Each channel has width w and signaling rate f = Channel bandwidth b = wf bits/sec Phit (physical unit) data transferred per cycle. Flit - basic unit of flow-control. Number of input (output) channels is switch or node degree. Sequence of switches and links followed by a message in the network is a route. EECC756 - Shaaban #1 lec # 9 Spring2000 4-11-2000 Network Characteristics Topology: Physical interconnection structure of the network graph: Node Degree. Network diameter: Longest minimum routing distance between any two nodes in hops. Average Distance between nodes . Bisection width: Number of links whose removal disconnects the graph and cuts it in

half. Symmetry: The property that the network looks the same from every node. Homogeneity: Whether all the nodes and links are identical or not. Type of interconnection: Static or Direct Interconnects: Nodes connected directly using static point-to-point links. Dynamic or Indirect Interconnects: Switches are usually used to realize dynamic links between nodes: Each node is connected to specific subset of switches. (e.g Multistage Interconnection Networks, MINs). Blocking or non-blocking, permutations realized. Shared-, broadcast-, or bus-based connections. (e.g. Ethernet-based). EECC756 - Shaaban #2 lec # 9 Spring2000 4-11-2000 Network Characteristics Communication Latency. Link bandwidth. Routing Algorithm and Functions: The set of paths that messages may follow. Request/message combining capabilities. Switching Strategy: Circuit switching vs. packet switching. Flow Control Mechanism:

When a message or portions of it traverse a route: Store & Forward. Cut-Through or Worm-Hole Routing. What happens when traffic is encountered at a node: Link/Node Contention handling. Deadlock prevention. Broadcast and Multicast Capabilities. EECC756 - Shaaban #3 lec # 9 Spring2000 4-11-2000 Network Characteristics Hardware/software implementation complexity/cost. Network throughput: Total number of messages handled by network per unit time. Aggregate Network bandwidth: Similar to network throughput but given in total bits/sec. Network hot spots: Form in a network when a small number of network nodes/links handle a very large percentage of total network traffic and become saturated. Network scalability: The feasibility of increasing network size, determined by: Performance scalability: Relationship between network size in terms of number of nodes and the resulting network performance. Cost scalability: Relationship between network size in terms of number of

nodes/links and network cost/complexity. EECC756 - Shaaban #4 lec # 9 Spring2000 4-11-2000 Network Requirements For Parallel Computing Minimum network latency even when approaching network capacity. High sustained bandwidth that matches or exceeds the communication requirements for given computational rate. High network throughput: Network should support as many concurrent transfers as possible. Low Protocol overhead. Minimum network cost. Maximum Network Scalabilty: Network performance should scale up with network size. Scalable Interconnection Network network interface

CA M CA P M P EECC756 - Shaaban #5 lec # 9 Spring2000 4-11-2000 Communication Network Performance : Latency Time(n)s-d = overhead + routing delay + channel occupancy + contention delay channel occupancy = (n + ne) / b b = channel bandwidth n = payload size ne = packet envelope: header, trailer. EECC756 - Shaaban #6 lec # 9 Spring2000 4-11-2000

Bandwidth Factors affecting local available bandwidth: Packet density b x n/(n + ne) Routing delay b x n / (n + ne + w) Contention: At endpoints. Within the network. Factors affecting throughput or Aggregate bandwidth: Network bisection bandwidth: Sum of bandwidth of smallest set of links that partition the network. Total bandwidth of all the channels: Cb Suppose N hosts issue packet every M cycles with average distribution Each message occupies h channels for l = n/w cycles each C/N channels available per node. Link utilization: = MC/Nhl < 1 EECC756 - Shaaban #7 lec # 9 Spring2000 4-11-2000 Store&Forward Vs. Cut-Through Routing Cut-Through Routing

Store & Forward Routing Source Dest 32 1 0 3 2 1 0 3 2 1 3 2 3 Dest 0 1 0 2 1 0 3 2 1 0 3 2 1 3 2 3 0 3 2 1 0 3 2

1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 1 0 2 1 0 3 2 1 0 Time 3 2 1

0 Unloaded network latency: h(n/b + ) vs n/b + h h = distance = switch delay EECC756 - Shaaban #8 lec # 9 Spring2000 4-11-2000 Network Performance Factors: Contention Two packets trying to use the same link at same time. May be caused by limited available buffering. Possible resolution: Drop one or more packets. Most networks used parallel machines block in place Link-level flow control. Tree saturation. Closed system: Offered load depends on delivered. EECC756 - Shaaban #9 lec # 9

Spring2000 4-11-2000 Deadlock In Store & Forward Networks Deadlock prevention: Multiple virtual channels mapped onto one physical channel. EECC756 - Shaaban #10 lec # 9 Spring2000 4-11-2000 Network Saturation 0.8 70 0.7 Delivered Bandwidth 80 Latency

60 50 40 Saturation 30 20 10 0 0.6 0.5 0.4 Saturation 0.3 0.2 0.1 0 0 0.2 0.4 0.6

0.8 Delivered Bandwidth 1 0 0.2 0.4 0.6 0.8 1 1.2 Offered Bandwidth Indications of Network Saturation EECC756 - Shaaban #11 lec # 9 Spring2000 4-11-2000 Sample Static Network Topologies Linear

2D Mesh Ring Binary Tree Hybercube Fat Binary Tree Fully Connected EECC756 - Shaaban #12 lec # 9 Spring2000 4-11-2000 Static Point-to-point Connection Network Topologies Direct point-to-point links are used Suitable for predictable communication patterns matching topology. Linear Array: Ring: Route A -> B given by relative address R = B-A

Examples: Token-Ring, FDDI, SCI, FiberChannel Arbitrated Loop, KSR1 Multidimensional Meshes and Tori: d-dimensional array 2D mesh 2D torus n = kd-1 X ...X kO nodes described by d-vector of coordinates (id-1, ..., iO) 3D cube d-dimensional k-ary mesh: N = kd k = dN described by d-vector of radix k coordinate. Diameter = d(k-1) d-dimensional k-ary torus (or k-ary d-cube)? EECC756 - Shaaban #13 lec # 9 Spring2000 4-11-2000 Multidimensional Meshes and Tori Properties Routing: Relative distance: R = (b d-1 - a d-1, ... , b0 - a0 ) Traverse ri = b i - a i hops in each dimension. Dimension-order routing. Average Distance:

d x 2k/3 for mesh. dk/2 for cube. Degree? Bisection bandwidth? k d-1 bi-directional links when k is even. Physical layout? 2D in O(N) space. higher dimension? EECC756 - Shaaban #14 lec # 9 Spring2000 4-11-2000 Static Connection Networks Examples: 2D Mesh For an k x k 2D Mesh: Node Degree: 4 Network diameter: 2(k-1) No of links: 2N - 2k Bisection Width: k

Where k = N EECC756 - Shaaban #15 lec # 9 Spring2000 4-11-2000 Static Connection Networks Examples: Hypercubes Also called binary n-cubes. Dimension = n = log2N Number of nodes = N = 2n Diameter: O(log2N) hops Good bisection BW: N/2 Complexity: Number of links: N(log2N)/2 Node degree is n = log2N 5-D 0-D 1-D

2-D 3-D 4-D EECC756 - Shaaban #16 lec # 9 Spring2000 4-11-2000 Message Routing Functions Example 111 110 010 011 Network Topology: 3-dimensional static-link hypercube Nodes denoted by C2C 1C0 100 101 000

Routing by least significant bit C0 000 001 001 010 011 100 101 110 111 010 011 100 101 110

111 011 100 101 110 111 Routing by middle bit C1 000 001 Routing by most significant bit C2 000 001 010 EECC756 - Shaaban #17 lec # 9

Spring2000 4-11-2000 Static Connection Networks Examples: Trees Diameter and average distance are logarithmic. k-ary tree, height d = logk N Address specified d-vector of radix k coordinates describing path down from root. Fixed degree k. Route up to common ancestor and down: R = B XOR A Let i be position of most significant 1 in R, route up i+1 levels Down in direction given by low i+1 bits of B H-tree space is O(N) with O(N) long wires. Low Bisection BW = 1 EECC756 - Shaaban #18 lec # 9 Spring2000 4-11-2000

Static Connection Networks Examples: Fat-Trees Fat Tree Fatter higher bandwidth links (more connections in reality) as you go up, so bisection BW scales with number of nodes N. Example: Network topology used in Thinking Machine CM-5 EECC756 - Shaaban #19 lec # 9 Spring2000 4-11-2000 Embeddings In Two Dimensions 6x3x2 Embed multiple logical dimension in one physical dimension using long interconnections. EECC756 - Shaaban #20 lec # 9 Spring2000 4-11-2000 Embedding A Binary Tree Onto A 2D Mesh A = Additional nodes added to form the tree EECC756 - Shaaban

#21 lec # 9 Spring2000 4-11-2000 Embedding A Ring Onto A 2D Torus EECC756 - Shaaban #22 lec # 9 Spring2000 4-11-2000 Dynamic Connection Networks Switches are usually used to implement connection paths or virtual circuits between nodes instead of fixed point-topoint connections. Dynamic connections are established based on program demands. Such networks include: Bus systems. Multi-stage Networks (MINs): Omega Network. Baseline Network etc. Crossbar switch networks. EECC756 - Shaaban #23 lec # 9 Spring2000 4-11-2000 Dynamic Networks Definitions

Permutation networks: Can provide any one-to-one mapping between sources and destinations. Strictly non-blocking: Any attempt to create a valid connection succeeds. These include Clos networks and the crossbar. Wide Sense non-blocking: In these networks any connection succeeds if a careful routing algorithm is followed. The Benes network is the prime example of this class. Rearrangeably non-blocking: Any attempt to create a valid connection eventually succeeds, but some existing links may need to be rerouted to accommodate the new connection. Batcher's bitonic sorting network is one example. Blocking: Once certain connections are established it may be impossible to create other specific connections. The Banyan and Omega networks are examples of this class. Single-Stage networks: Crossbar switches are single-stage, strictly nonblocking, and can implement not only the N! permutations, but also the NN combinations of non-overlapping broadcast.

EECC756 - Shaaban #24 lec # 9 Spring2000 4-11-2000 High-Performance Network Building Blocks: Crossbar-Based Switches Input Ports Receiver Input Buffer Output Buffer Transmiter Output Ports Cross-bar Control Routing, Scheduling EECC756 - Shaaban #25 lec # 9

Spring2000 4-11-2000 Switch Components Output ports: Transmitter (typically drives clock and data). Input ports: Synchronizer aligns data signal with local clock domain. FIFO buffer. Crossbar: Switch fabric connecting each input to any output. Feasible degree limited by area or pinout, O(n2) complexity. Buffering. Control logic: Complexity depends on routing logic and scheduling algorithm. Determine output port for each incoming packet. Arbitrate among inputs directed at same output. EECC756 - Shaaban #26 lec # 9 Spring2000 4-11-2000 Switch Size And Legitimate States Switch Size

2X2 4X4 8X8 nXn Legitimate States 4 256 16,777,216 nn Permutation Connections 2 24 40,320 n! EECC756 - Shaaban #27 lec # 9 Spring2000 4-11-2000 Permutations For n objects there are n! permutations by which the n objects can be reordered. The set of all permutations form a permutation group with respect to a

composition operation. One can use cycle notation to specify a permutation function. For Example: The permutation = ( a, b, c)( d, e) stands for the bijection mapping: a b, b c , c a , d e , e d in a circular fashion. The cycle ( a, b, c) has a period of 3 and the cycle (d, e) has a period of 2. Combining the two cycles, the permutation has a cycle period of 2 x 3 = 6. If one applies the permutation six times, the identity mapping I = ( a) ( b) ( c) ( d) ( e) is obtained. EECC756 - Shaaban #28 lec # 9 Spring2000 4-11-2000 Perfect Shuffle Perfect shuffle is a special permutation function suggested by Harold Stone (1971) for parallel processing applications. Obtained by rotating the binary address of an one position left. The perfect shuffle and its inverse for 8 objects are shown here:

000 000 000 000 001 001 001 001 010 010 010 010 011 011 011

011 100 100 100 100 101 101 101 101 110 110 110 110 111 111

111 111 Inverse Perfect Shuffle Perfect Shuffle EECC756 - Shaaban #29 lec # 9 Spring2000 4-11-2000 Multi-Stage Networks: The Omega Network In the Omega network, perfect shuffle is used as an inter-stage connection pattern for all log2N stages. Routing is simply a matter of using the destination's address bits to set switches at each stage. The Omega network is a single-path network: There is just one path between an input and an output. It is equivalent to the Banyan, Staran Flip Network, Shuffle Exchange Network, and many others that have been proposed. The Omega can only implement NN/2 of the N! permutations between inputs and outputs, so it is possible to have permutations that cannot be provided (i.e. paths that can be blocked).

For N = 8, there are 84/8! = 4096/40320 = 0.1016 = 10.16% of the permutations that can be implemented. It can take log2N passes of reconfiguration to provide all links. Because there are log2 N stages, the worst case time to provide all desired connections can be (log2N)2. EECC756 - Shaaban #30 lec # 9 Spring2000 4-11-2000 Multi-Stage Networks: The Omega Network Fig 2.24 page 92 Kai Hwang ref. See handout EECC756 - Shaaban #31 lec # 9 Spring2000 4-11-2000

MINs Example: Baseline Network Fig 2.25 page 93 Kai Hwang ref. See handout EECC756 - Shaaban #32 lec # 9 Spring2000 4-11-2000 MINs Example: Butterfly Network 4 0 3 0 2 0 1 0 1

0 1 1 1 Building block 1 0 Complexity: N/2 x logN Exactly one route from any source to any destination node. R = A XOR B, at level i use straight edge if ri=0, otherwise cross edge Bisection N/2 vs N (d-1)/d EECC756 - Shaaban #33 lec # 9

Spring2000 4-11-2000 Relationship Between Butterfly Network & Hypercubes The connection patterns in the two networks are isomorphic. Except that Butterfly always takes log2n steps. EECC756 - Shaaban #34 lec # 9 Spring2000 4-11-2000 Traditional Network Scaling: Latency(P) 250 140 200 100 d=2 d=3 80 d=4 k=2

60 n/w 40 Ave Latency T(n=140) Ave Latency T(n=40) 120 150 100 50 20 0 0 0 5000 10000 0 Machine Size (N)

2000 4000 6000 8000 10000 Machine Size (N) Assumes equal channel width: Independent of node count or dimension. Dominated by average distance. EECC756 - Shaaban #35 lec # 9 Spring2000 4-11-2000 Latency with Equal Bisection Width N-node hypercube has N bisection links. 2d torus has 2N 1/2 Fixed bisection => w(d) = N 1/d / 2 = k/2 1000 900

Ave Latency T(n=40) 800 700 600 500 400 300 256 nodes 200 1024 nodes 16 k nodes 100 1M nodes 0 0 5 10 15

20 25 1 M nodes, d=2 has w=512! Dimension (d) EECC756 - Shaaban #36 lec # 9 Spring2000 4-11-2000 Summary of Static Network Characteristics Table 2.2 page 88 Kai Hwang ref. See handout EECC756 - Shaaban #37 lec # 9 Spring2000 4-11-2000 Summary of Dynamic Network Characteristics Table 2.4 page 95

Kai Hwang ref. See handout EECC756 - Shaaban #38 lec # 9 Spring2000 4-11-2000 Example Networks: Cray MPPs T3D: Short, Wide, Synchronous (300 MB/s). 24 bits: 16 data, 4 control, 4 reverse direction flow control Single 150 MHz clock (including processor). flit = phit = 16 bits. Two control bits identify flit type (idle and framing). No-info, routing tag, packet, end-of-packet. T3E: long, wide, asynchronous (500 MB/s) 14 bits, 375 MHz, LVDS flit = 5 phits = 70 bits 64 bits data + 6 control Switches operate at 75 MHz. Framed into 1-word and 8-word read/write request packets. Cost = f(length, width) ?

EECC756 - Shaaban #39 lec # 9 Spring2000 4-11-2000 Parallel Machine Examples EECC756 - Shaaban #40 lec # 9 Spring2000 4-11-2000