Compsci 221 / ECE 259 Advanced Computer Architecture II (Parallel Computer Architecture) Interconnection Networks Copyright 2012 Alvin R. Lebeck Duke.

Slides:



Advertisements
Similar presentations
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
Advertisements

Packet Switching COM1337/3501 Textbook: Computer Networks: A Systems Approach, L. Peterson, B. Davie, Morgan Kaufmann Chapter 3.
What is Flow Control ? Flow Control determines how a network resources, such as channel bandwidth, buffer capacity and control state are allocated to packet.
What's inside a router? We have yet to consider the switching function of a router - the actual transfer of datagrams from a router's incoming links to.
1 Lecture 12: Interconnection Networks Topics: dimension/arity, routing, deadlock, flow control.
Communication operations Efficient Parallel Algorithms COMP308.
1 Lecture 13: Interconnection Networks Topics: flow control, router pipelines, case studies.
1 Lecture 24: Interconnection Networks Topics: topologies, routing, deadlocks, flow control Final exam reminders:  Plan well – attempt every question.
1 Lecture 24: Interconnection Networks Topics: communication latency, centralized and decentralized switches (Sections 8.1 – 8.5)
1 Lecture 24: Interconnection Networks Topics: topologies, routing, deadlocks, flow control.
1 Lecture 26: Interconnection Networks Topics: flow control, router microarchitecture.
1 Lecture 25: Interconnection Networks Topics: communication latency, centralized and decentralized switches, routing, deadlocks (Appendix E) Review session,
Storage area network and System area network (SAN)
Switching, routing, and flow control in interconnection networks.
Switching Techniques Student: Blidaru Catalina Elena.
Interconnect Network Topologies
1 Lecture 23: Interconnection Networks Topics: Router microarchitecture, topologies Final exam next Tuesday: same rules as the first midterm Next semester:
1 The Turn Model for Adaptive Routing. 2 Summary Introduction to Direct Networks. Deadlocks in Wormhole Routing. System Model. Partially Adaptive Routing.
Chapter 4: Managing LAN Traffic
Interconnect Networks
Winter 2006 ENGR 9861 – High Performance Computer Architecture March 2006 Interconnection Networks.
Networks-on-Chips (NoCs) Basics
Dynamic Networks CS 213, LECTURE 15 L.N. Bhuyan CS258 S99.
ATM SWITCHING. SWITCHING A Switch is a network element that transfer packet from Input port to output port. A Switch is a network element that transfer.
1 Lecture 7: Interconnection Network Part I: Basic Definitions Part II: Message Passing Multicomputers.
Multiprocessor Interconnection Networks Todd C. Mowry CS 740 November 3, 2000 Topics Network design issues Network Topology.
ECE669 L21: Routing April 15, 2004 ECE 669 Parallel Computer Architecture Lecture 21 Routing.
Computer Networks with Internet Technology William Stallings
Anshul Kumar, CSE IITD CSL718 : Multiprocessors Interconnection Mechanisms Performance Models 20 th April, 2006.
ECE 259 / CPS 221 Advanced Computer Architecture II (Parallel Computer Architecture) Interconnection Networks Copyright 2004 Daniel J. Sorin Duke University.
1 Lecture 15: Interconnection Routing Topics: deadlock, flow control.
Anshul Kumar, CSE IITD ECE729 : Advanced Computer Architecture Lecture 27, 28: Interconnection Mechanisms In Multiprocessors 29 th, 31 st March, 2010.
Interconnection Networks Alvin R. Lebeck CPS 220.
BZUPAGES.COM Presentation On SWITCHING TECHNIQUE Presented To; Sir Taimoor Presented By; Beenish Jahangir 07_04 Uzma Noreen 07_08 Tayyaba Jahangir 07_33.
1 Data Link Layer Lecture 23 Imran Ahmed University of Management & Technology.
Interconnect Networks Basics. Generic parallel/distributed system architecture On-chip interconnects (manycore processor) Off-chip interconnects (clusters.
Super computers Parallel Processing
Networks: Routing, Deadlock, Flow Control, Switch Design, Case Studies Alvin R. Lebeck CPS 220.
1 Lecture 24: Interconnection Networks Topics: communication latency, centralized and decentralized switches, routing, deadlocks (Appendix F)
1 Switching and Forwarding Sections Connecting More Than Two Hosts Multi-access link: Ethernet, wireless –Single physical link, shared by multiple.
1 Lecture 22: Interconnection Networks Topics: Routing, deadlock, flow control, virtual channels.
Network Layer COMPUTER NETWORKS Networking Standards (Network LAYER)
The network-on-chip protocol
Chapter 8 Switching Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Lecture 23: Interconnection Networks
Packet Switching Datagram Approach Virtual Circuit Approach
Azeddien M. Sllame, Amani Hasan Abdelkader
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Interconnection Network Design Contd.
Switching, routing, and flow control in interconnection networks
Lecture 14: Interconnection Networks
Interconnection Network Design Lecture 14
Communication operations
Introduction to Scalable Interconnection Networks
Storage area network and System area network (SAN)
Lecture: Interconnection Networks
Copyright 2012 Alvin R. Lebeck
PRESENTATION COMPUTER NETWORKS
Switching Techniques.
CEG 4131 Computer Architecture III Miodrag Bolic
Net 323 D: Networks Protocols
Interconnection Networks Contd.
Embedded Computer Architecture 5SAI0 Interconnection Networks
Lecture: Interconnection Networks
CS 6290 Many-core & Interconnect
Networks: Routing and Design
Lecture 25: Interconnection Networks
Switching, routing, and flow control in interconnection networks
Multiprocessors and Multi-computers
Presentation transcript:

Compsci 221 / ECE 259 Advanced Computer Architecture II (Parallel Computer Architecture) Interconnection Networks Copyright 2012 Alvin R. Lebeck Duke University Slides are derived from work by Sarita Adve (Illinois), Babak Falsafi (CMU), Mark Hill (Wisconsin),, Steve Reinhardt (Michigan), J. P. Singh (Princeton), and Dan Sorin (Duke). Thanks!

2 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Interconnection Networks Goal: Communication between computers –Try to achieve low latency and high bandwidth We’ll focus on networks for parallel computing –Today’s System Area Networks exhibit many of the same properties –Many concepts similar to general networking »But the parameters can be very different!

3 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Queue on each end Can send both ways (“Bi-directional, full duplex”) Rules for communication? Protocol –Synchronous send »Need request & response signaling –Name for standard group of bits sent: Packet ABCs of Networks Starting Point: Send bits between 2 computers

4 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 A Simple Example What is the packet format? –Fixed? (for ease of hardware interpretation) –Variable? (for flexibility) Request/ Response Address/Data 1 bit 32 bits 0: Please send data from Address 1: Packet contains data corresponding to request

5 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Questions About Simple Example What if more than 2 computers want to communicate? –Need node identifier field (destination) in packet –Routing and topology What if packet is garbled in transit? –Add error detection field in packet (e.g., CRC) What if packet is lost? –More elaborate protocols to detect loss (e.g., NAK, time outs) What if multiple processes/machine? –Queue per process These issues  more complex protocols & packet formats

6 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 General Packet Format Header –Routing and control information Payload –Carries data (non hardware-specific information) –Can be further divided (framing, protocol stacks…) Error code (detecting or correcting) –Generally at tail of packet so it can be generated on the way out HeaderPayloadError Code

7 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Message vs. Packet A message may be composed of several packets Applications reason about messages Networks transfers packets Small fixed-size packets –Easy for network hardware –But can lead to fragmentation and reassembly (SW overhead) Variable-size packets –Can avoid some fragmentation –But can cause congestion and can be tougher for hardware

8 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Classifying Networks Network characterized primarily by 4 aspects Topology –Physical structure of the graph Routing Algorithm –What paths through network can a message follow Switching Strategy –How data in message traverses its route –Circuit Switched vs Packet Switched Flow Control –When does a packet (or portions of it) move along its route

9 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Some Terminology Given a topology constructed by linking switches and network interfaces, we must deliver a packet from node A to node B Link: cable with connectors on each end –Connects switches to other switches or network interfaces Switch: connect N inputs to N outputs (degree N) Phit: Minimum # of bits physically moved across link in one cycle (can pipeline on single wire) Flit: Minimum # of bits move across link as single unit (for purposes of flow control) –Packet consists of one or more flits

10 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Outline Topology Routing Flow Control Designing Switch Hardware Case Studies 3 main aspects of networks

11 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Topology Topology is the structure of the interconnect –Geometric property  topology has nice mathematical properties Topology determines –Switch Degree: number of outgoing links from a switch –Diameter: number of links crossed between nodes on maximum shortest path –Average distance: number of hops to random destination –Bisection: minimum number of links that, if removed, would separate the network into two parts (not necessarily of equal size!) Direct vs Indirect Networks –Direct: All switches attached to host nodes (e.g., mesh) –Indirect: Many switches not attached to host nodes (e.g., tree)

12 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Direct Topologies: k-ary d-cubes Often called k-ary n-cubes General class of regular, direct topologies –Subsumes rings, tori, cubes, etc. d dimensions (where 2d equals switch degree) –1 for ring –2 for mesh or torus –3 for cube –Can choose arbitrarily large d, except for cost of switches k switches in each dimension –Note: k can be different in each dimension (e.g., 2,3,4-ary 3-cube)

13 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Examples of k-ary d-cubes 1D Ring = k-ary 1-cube –d = 1 [always] –k = N [always] = 4 [here] –Degree = 2 (or 3, if you include host node) –Diameter = ? Ave dist = ? –Bisection = ? 2D Torus = k-ary 2-cube –d = 2 [always] –k = log d N (always) = 3 [here] –Degree = 4 (or 5 with host node) [always] –Diameter = ? Ave dist = ? –Bisection = ?

14 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 k-ary d-cubes in Real World Compaq Alpha (and 21464, R.I.P.) –2D torus (k-ary 2-cube) Cray T3D and T3E –3D torus (k-ary, 3-cube)

15 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Indirect Topologies Indirect topology – most switches not attached to nodes Some common indirect topologies –Crossbar –Clos –Tree –Butterfly Each of the above topologies comes in many flavors

16 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Indirect Topologies: Crossbar Crossbar = single switch that directly connects n inputs to m outputs –Logically equivalent to m n:1 muxes Very useful component that is used frequently in0 in1 in2 in3 out0 out3 out2 out1 out4

17 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Indirect Topologies: Clos Networks Clos = multi-stage network composed of crossbars –Example: m=3, n=3, r=4  r = 4 nxm input switches, m = 3 rxr middle switches, and r = 4 mxn output switches 3x3 crossbar 3x3 crossbar 3x3 crossbar 3x3 crossbar 4x4 crossbar 4x4 crossbar 4x4 crossbar 3x3 crossbar 3x3 crossbar 3x3 crossbar 3x3 crossbar

18 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Indirect Topologies: Trees Indirect topology – most switches not attached to nodes Tree: send message up from leaf to closest common ancestor, then down to recipient N host nodes at leaves k = branching factor of tree (k=2  binary tree) –Switch degree = k+1 (k down links and one uplink) d = dimension = height of tree = log k N Diameter = 2log k N (up and then down)

19 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Indirect Topologies: Fat Trees CM-5 “Thinned” Fat Tree Problem with trees: too much contention at or near root Fat tree: same as tree, but with more bandwidth near the root (by adding multiple roots and high order switches)

20 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Indirect Topologies: Butterflies Multistage: nodes at ends, switches in middle Exactly one path between each pair of nodes Each node sees a tree rooted at itself

21 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Indirect Topologies: More Butterflies Benes (pronounced “BEN-ish”) Network N Butterfly Reversed N Butterfly °°°°°° Routes all permutations w/o conflict Notice similarity to fat tree (fold in half) Randomization is major breakthrough In general, called k-ary, n-flies n stages of radix-k switches Have many nice features, esp. log n distances But conflicts cause tree saturation How can we spread the traffic more evenly?

22 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Indirect Networks in Real World Thinking Machines CM-5 –Fat tree Sun UltraEnterprise E10000 –4 trees (interleaved by address)

23 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Outline Topology Routing Flow Control Designing Switch Hardware Case Studies 3 main aspects of networks

24 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Packet Routing There are three issues involved in routing 1.What to do with packets at each switch Store-and-forward Cut-through 2.Routing algorithms 3.Avoiding deadlock

25 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Store and Forward Store-and-forward policy: each switch waits for the full packet to arrive in the switch before it is sent on to the next switch

26 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Cut Through Cut-through routing: switch examines the header, decides where to send the message, and then starts forwarding it immediately Two flavors of cut-through based on what switch does if output port is blocked …

27 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Virtual Cut-Through What to do if output port is blocked? Allow the tail to continue when the head is blocked, absorbing the whole message into a single switch –Requires a buffer large enough to hold the largest packet Degenerates to store-and-forward with high contention

28 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Wormhole When the head of the message is blocked, the message stays strung out over the network –Potentially blocks other messages (needs only buffer the piece of the packet that is sent between switches). –CM-5 used it, with each switch buffer being 4 bits per port –Myrinet uses it Can cause tree saturation

29 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Store and Forward vs. Cut-Through Store and Forward latency is function of –Number of intermediate switches times the size of the packet Cut-through latency is function of –time for 1st part of packet to negotiate the switches + (packet size ÷ interconnect bandwidth) Which seems better?

30 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Routing Algorithm How do I know where a packet should go? –Topology does NOT determine routing (e.g., many paths through torus) Many routing algorithms exist 1)Arithmetic 2)Source-based 3)Table lookup 4)Adaptive—route based on network state (e.g., contention)

31 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 (1) Arithmetic Routing For regular topology, use simple arithmetic to determine route E.g., 3D Torus –Packet header contains signed offset to destination (per dimension) –At each hop, switch +/- to reduce offset in a dimension –When x == 0 and y == 0, then at correct processor Drawbacks –Requires ALU in switch –Must re-compute CRC at each hop (0,0,0) (1,0,0) (0,0,1) (1,0,1) (0,1,1) (1,1,1) (0,1,0) (1,1,0)

32 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 (2) Source Based & (3) Table Lookup Routing Source Based Source specifies output port for each switch in route Very simple switches –No control state –Strip output port off header Myrinet uses this Can’t be made adaptive Table Lookup Very small header, index into table for output port Big tables, must be kept up-to-date

33 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS Deterministic vs. Adaptive Routing Deterministic (static)—follows a pre-specified route –K-ary d-cube: dimension-order routing »(x1, y1)  (x2, y2) »First Dx = x2 - x1, »Then Dy = y2 - y1, –Tree: common ancestor Adaptive—route determined by contention for output port

34 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 (4) Adaptive Routing Essential for fault tolerance –At least multipath Can improve utilization of the network Simple deterministic algorithms easily run into bad permutations Fully/partially adaptive, minimal/non-minimal Can introduce complexity or anomalies A little adaptation goes a long way!

35 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Hot Potato Routing Every cycle, each switch takes each input and routes it to an output –But not necessarily to the “desired” output No switch buffering! Possibility of livelock if no precautions taken –E.g., could grant priority based on age of packet Also known as “deflection routing” or “mad postman routing”

36 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Deadlock Necessary conditions to achieve deadlock –Use more than one resource –Not willing to release resource in use –Cycle in order of recourse use

37 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Two Causes of Deadlock P1 P2 Response full of requests Response Message M1 full of messages Message M2 Endpoint Deadlock Switch Deadlock switch1 switch2

38 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Avoiding Deadlock Simple but wasteful solution: full buffering –But it’s rare that we ever need full buffering More efficient solution: virtual channels (networks) Endpoint deadlock solution: virtual networks –Need a virtual network per type of message Switch deadlock solution #1: virtual channels Switch deadlock solution #2: deadlock-free routing

39 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Virtual Channels Need some number of virtual channels per virtual network, which depends on network topology and routing scheme Not to be confused with “virtual cut-through” Add buffers so flits of wormhole packets can be interleaved You can read more about this in Dally’s paper Upshot: total #virtual channels equals product of #virtual networks times #virtual channels for avoiding switch deadlock

40 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Deadlock Free Routing Up*-Down* –For spanning trees (superposed on any topology) –Number switches: higher = farther away from processors –Route up, make one turn, route down Turn Model Routing –Restrict order of turns »West first »North last »Negative first –Can increase number of hops

41 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Minimal turn restrictions in 2D north-lastnegative first -x +x +y -y

42 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Outline Topology Routing Flow Control Designing Switch Hardware Case Studies 3 main aspects of networks

43 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Buffer-less Flow Control Circuit Switching Establish route then send data Like the telephone system No buffers needed This approach differs from packet switching, which is what we’ve implicitly assumed until this slide Hot Potato Routing No buffers needed, since all incoming packets get sent out on some link without waiting Packet Discarding If two packets contend for same resource, one gets dropped  relies on higher-order mechanism (retry)

44 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Buffered Flow Control Packet switched networks do not reserve bandwidth, which can lead to contention Solution: prevent packets from entering until contention is reduced (e.g., metering lights) Flow control: between pairs of receivers and senders; use feedback to tell the sender when it is allowed to send the next packet –Link-level: flow control done on per-link basis –End-to-end: flow control done over entire path length

45 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Link-Level Flow Control Data Ready Transfer single flit when receiver is ready Could have long links with many flits in flight

46 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Credit-based (Window) Flow Control Receiver gives N credits to sender –Sender decrements count –Stops sending if zero –Receiver sends back credit as it drains its buffer –Bundle credits to reduce overhead Must account for link latency

47 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Water Level High water, low water “Stop” & “go” sent back to source switch (Myrinet) Can send redundant stop/go Stop Go Incoming phits Outgoing phits

48 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Outline Topology Routing Flow Control Designing Switch Hardware Case Studies 3 main aspects of networks

49 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 A Generic Switch At minimum, must route inputs to outputs Input Buffer Output Buffer Crossbar Control Routing, Scheduling Receiver Transmitter Output Ports Input Ports

50 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Switch Operation Each packet (flit) traverses the switch’s pipeline –Arrive in input buffer and wait to get to head of queue –Compute route (once per packet) –Allocate virtual channel (once per packet) –Allocate crossbar and output buffer entry –Traverse crossbar –Wait in output buffer to be allocated output link Switch is like very simple in-order processor pipeline –Packet can stall at any stage –Only head flit, though, can stall when computing route or allocating virtual channel

51 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Switch Buffering Must absorb burstiness in arriving traffic –Unless using hot potato routing Must also hold flits that are stalled Option #1: Shared buffer pool –Need high bandwidth to buffer (bottleneck) –One congested output port could hog all buffer space Option #2: Input buffering –#2a) Separate buffer per input port –#2b) Separate buffer per virtual channel per input port

52 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 More Input Buffering If buffer per input port, then could suffer from head of line (HOL) blocking –Subsequent packet may be routed to unused output port Either way (#2a or #2b), still likely to need output buffering, but this doesn’t need to be divided up by virtual channel

53 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Resource Allocation Policies for arbitration for crossbar, output link, etc. –Static priority –Random –Round-robin –Oldest-first Effects of adaptive routing? –Select output link based on availability –Requires feedback from output port

54 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 For Future Reading We have covered only the tip of the iceberg, and we have hidden most of the complexity Issues we’ve brushed under the rug: –Physical design of buffers, arbitration logic, etc. –Non-crossbar implementations (e.g., using a bus) –Control logic for managing switch –Using speculation to reduce switch pipeline depth –How flow control fits into the switch design –Etc. Once again, I refer you to the textbook by Dally and Towles for a more comprehensive treatment of this subject

55 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Outline Topology Routing Flow Control Designing Switch Hardware Case Studies 3 main aspects of networks

56 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Case Study Cray T3D 1024 switch nodes each connected to 2 processors 3D torus, bidirectional, 300 MB/s Link: 16 bits, 8 control bits Variable size packet (multiple of 16 bits) Logical request & response networks –2 virtual channels each for deadlock Stacked dimension routing Wormhole for large packets, virtual cut-through for small packets

57 (C) 2012 Alvin R. Lebeck from Adve, Falsafi, Hill, Lebeck, Reinhardt, Singh, Sorin ECE 259 / CPS 221 Real (But Old) Machines