Switching Hardware. Spring 2018 CS 438 Staff, University of Illinois 1

Similar documents
Switch Construction CS

Switching Hardware. Spring 2015 CS 438 Staff, University of Illinois 1

Announcements. Reading. Project #4 is on the web. Homework #1. Midterm #2. Chapter 4 ( ) Note policy about project #3 missing components

Quality of Service. Spring 2018 CS 438 Staff - University of Illinois 1

Reliable Transmission. Spring 2018 CS 438 Staff - University of Illinois 1

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

Introduction to Wireless & Mobile Systems. Chapter 6. Multiple Radio Access Cengage Learning Engineering. All Rights Reserved.

15-859E: Advanced Algorithms CMU, Spring 2015 Lecture #2: Randomized MST and MST Verification January 14, 2015

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Single-Cycle Disadvantages & Advantages

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19

Chapter 4 The Datapath

Message Integrity and Hash Functions. TELE3119: Week4

Traditional queuing behaviour in routers. Scheduling and queue management. Questions. Scheduling mechanisms. Scheduling [1] Scheduling [2]

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

CMSC Computer Architecture Lecture 11: More Caches. Prof. Yanjing Li University of Chicago

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Part A Datapath Design

Media Access Protocols. Spring 2018 CS 438 Staff, University of Illinois 1

1 Graph Sparsfication

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000.

Multi-Threading. Hyper-, Multi-, and Simultaneous Thread Execution

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago

Lecture 6. Lecturer: Ronitt Rubinfeld Scribes: Chen Ziv, Eliav Buchnik, Ophir Arie, Jonathan Gradstein

Term Project Report. This component works to detect gesture from the patient as a sign of emergency message and send it to the emergency manager.

K-NET bus. When several turrets are connected to the K-Bus, the structure of the system is as showns

Computer Science Foundation Exam. August 12, Computer Science. Section 1A. No Calculators! KEY. Solutions and Grading Criteria.

CSE 417: Algorithms and Computational Complexity

1. SWITCHING FUNDAMENTALS

Solution printed. Do not start the test until instructed to do so! CS 2604 Data Structures Midterm Spring, Instructions:

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5.

Ones Assignment Method for Solving Traveling Salesman Problem

Big-O Analysis. Asymptotics

Recursion. Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Review: Method Frames

CS 111 Green: Program Design I Lecture 27: Speed (cont.); parting thoughts

Lower Bounds for Sorting

Transitioning to BGP

Appendix D. Controller Implementation

prerequisites: 6.046, 6.041/2, ability to do proofs Randomized algorithms: make random choices during run. Main benefits:

CS 111: Program Design I Lecture # 7: First Loop, Web Crawler, Functions

CIS 121 Data Structures and Algorithms with Java Spring Stacks and Queues Monday, February 12 / Tuesday, February 13

CS 111: Program Design I Lecture 19: Networks, the Web, and getting text from the Web in Python

Computational Geometry

IS-IS in Detail. ISP Workshops

BGP Attributes and Path Selection. ISP Training Workshops

Randomized and Quantum Protocols in Distributed Computation

CSE 2320 Notes 8: Sorting. (Last updated 10/3/18 7:16 PM) Idea: Take an unsorted (sub)array and partition into two subarrays such that.

Numerical Methods Lecture 6 - Curve Fitting Techniques

CS 111: Program Design I Lecture 21: Network Analysis. Robert H. Sloan & Richard Warner University of Illinois at Chicago April 10, 2018

One advantage that SONAR has over any other music-sequencing product I ve worked

CS 111: Program Design I Lecture 16: Module Review, Encodings, Lists

CS200: Hash Tables. Prichard Ch CS200 - Hash Tables 1

Multiprocessors. HPC Prof. Robert van Engelen

Lecture 28: Data Link Layer

How do we evaluate algorithms?

Elementary Educational Computer

Overview. Some Definitions. Some definitions. High Performance Computing Programming Paradigms and Scalability Part 2: High-Performance Networks

Python Programming: An Introduction to Computer Science

On Nonblocking Folded-Clos Networks in Computer Communication Environments

Workflow model GM AR. Gumpy. Dynagump. At a very high level, this is what gump does. We ll be looking at each of the items described here seperately.

The Penta-S: A Scalable Crossbar Network for Distributed Shared Memory Multiprocessor Systems

CMSC Computer Architecture Lecture 10: Caches. Prof. Yanjing Li University of Chicago

Alpha Individual Solutions MAΘ National Convention 2013

n Explore virtualization concepts n Become familiar with cloud concepts

DESIGN AND ANALYSIS OF LDPC DECODERS FOR SOFTWARE DEFINED RADIO

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5

Reversible Realization of Quaternary Decoder, Multiplexer, and Demultiplexer Circuits

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

CIS 121 Data Structures and Algorithms with Java Fall Big-Oh Notation Tuesday, September 5 (Make-up Friday, September 8)

Python Programming: An Introduction to Computer Science

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Greedy Algorithms. Interval Scheduling. Greedy Algorithms. Interval scheduling. Greedy Algorithms. Interval Scheduling

Exact Minimum Lower Bound Algorithm for Traveling Salesman Problem

condition w i B i S maximum u i

Optimal Mapped Mesh on the Circle

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Analysis of Algorithms

Computers and Scientific Thinking

Examples and Applications of Binary Search

Page 1. Why Care About the Memory Hierarchy? Memory. DRAMs over Time. Virtual Memory!

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Lecture 3. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram

Design of efficient, virtual non-blocking optical switches

Lecturers: Sanjam Garg and Prasad Raghavendra Feb 21, Midterm 1 Solutions

Throughput-Delay Scaling in Wireless Networks with Constant-Size Packets

9 x and g(x) = 4. x. Find (x) 3.6. I. Combining Functions. A. From Equations. Example: Let f(x) = and its domain. Example: Let f(x) = and g(x) = x x 4

Our second algorithm. Comp 135 Machine Learning Computer Science Tufts University. Decision Trees. Decision Trees. Decision Trees.

EM375 STATISTICS AND MEASUREMENT UNCERTAINTY LEAST SQUARES LINEAR REGRESSION ANALYSIS

Module 8-7: Pascal s Triangle and the Binomial Theorem

Data Structures and Algorithms. Analysis of Algorithms

Lecture 5. Counting Sort / Radix Sort

n Based on unrealistic growth forecast n Overcapacity: Fiber 5x100 in three years n Wireless: Expensive spectrum licenses n Fibers

ECE4050 Data Structures and Algorithms. Lecture 6: Searching

UNIVERSITY OF MORATUWA

CMSC22200 Computer Architecture Lecture 9: Out-of-Order, SIMD, VLIW. Prof. Yanjing Li University of Chicago

quality/quantity peak time/ratio

Global Support Guide. Verizon WIreless. For the BlackBerry 8830 World Edition Smartphone and the Motorola Z6c

Data diverse software fault tolerance techniques

Security of Bluetooth: An overview of Bluetooth Security

Homework 1 Solutions MA 522 Fall 2017

CMSC Computer Architecture Lecture 5: Pipelining. Prof. Yanjing Li University of Chicago

Recursive Procedures. How can you model the relationship between consecutive terms of a sequence?

Transcription:

Switchig Hardware Sprig 208 CS 438 Staff, Uiversity of Illiois

Where are we? Uderstad Differet ways to move through a etwork (forwardig) Read sigs at each switch (datagram) Follow a kow path (virtual circuit) Carry istructios (source routig) Bridge approach to extedig LAN cocept Next: how switches are built ad cotetio withi switches Sprig 208 CS 438 Staff, Uiversity of Illiois 2

Switch Desig Chicago Bloomigto Champaig St. Louis Sprigfield Effigham Idiaapolis How should we desig Champaig to accommodate traffic flows? Sprig 208 CS 438 Staff, Uiversity of Illiois 3

Switch architecture Juiper EX2200 Juiper EX8200 Sprig 208 CS 438 Staff, Uiversity of Illiois Cisco Catalyst 6500 4

Switch Desig Iput Port Iput Port Iput Port Iput Port Switch Fabric Iput Port Iput Port Sprig 208 CS 438 Staff, Uiversity of Illiois 5

Switch Architecture Problem Iput Port Coect N iputs to M outputs Iput Port Iput Port Iput Port Switch Fabric NxM ( N by M ) switch Iput Port Commo case: N = M Iput Port Goals Avoid cotetio High throughput Good scalability Near-liear size/cost growth Sprig 208 CS 438 Staff, Uiversity of Illiois 6

Switch high level architecture Ports hadle complexity Iput Port Forwardig decisios at iput ports Iput Port Iput Port Iput Port Switch Fabric Bufferig at output ad possibly iput ports Iput Port Iput Port Simple fabric (it seems ) Move packets from iputs to outputs May have a small amout of iteral bufferig Sprig 208 CS 438 Staff, Uiversity of Illiois 7

Switch Desig Goals Miimize Cotetio Avoid cotetio through itelliget bufferig Use output bufferig whe possible Apply back pressure through switch fabric Improve iput bufferig through o-fifo buffers Reduces head-of-lie blockig Drop packets if iput buffers overflow Sprig 208 CS 438 Staff, Uiversity of Illiois 8

Switch Desig Goals Maximize Throughput Mai problem is cotetio Need a good traffic model Arrival time Destiatio port Packet legth Telephoy modelig is well uderstood Util faxes ad modems Data traffic has differet properties E.g., phoe call arrivals are Poisso, but packet arrivals are heavy-tailed Sprig 208 CS 438 Staff, Uiversity of Illiois 9

Cotetio Problem Some packets may be destied for the same output port Solutios Oe packet gets set first Other packets get delayed or dropped Delayig packets requires bufferig Buffers are fiite, so we may still have to drop Bufferig at iput ports Icreases, adds false cotetio Sometimes ecessary Bufferig at output ports Bufferig iside switch Sprig 208 CS 438 Staff, Uiversity of Illiois 0

Bufferig stadard checkout lies customer service Waitig to buy food We eed bufferig, places where people ca wait before they get service Waitig for Cust. service Sprig 208 CS 438 Staff, Uiversity of Illiois

Bufferig stadard checkout lies customer service Waitig to buy food Waitig for Cust. service How big should buffers be? à Should make sure we ca hold eough à But do t wat people to wait forever Sprig 208 CS 438 Staff, Uiversity of Illiois 2

Switch Desig Iput Port Output Queues Iput Port 2 2 Iput Port 3 3 Iput Port 4 4 Iput Port 5 Iput Port 6 5 Add output queues to hold packets Packet remais queued here util 6 output port available to sed Sprig 208 CS 438 Staff, Uiversity of Illiois 3

Iput Port Bufferig stadard checkout lies customer service Waitig to buy food People waitig to get ito the store We also eed bufferig at the iput, sice processig ca be slower tha iput rate, or delays at output Waitig for Cust. service Sprig 208 CS 438 Staff, Uiversity of Illiois 4

Switch Desig Iput Port Iput Queues Output Queues Iput Port 2 2 Iput Port 3 3 Iput Port 4 Add iput queues to temporarily hold received packets util they ca be processed Packet Iput remais Port 5 queued util iput queue empties, util output queue has free slots Iput Port 6 4 5 6 Sprig 208 CS 438 Staff, Uiversity of Illiois 5

Switch desig: puttig the pieces together Iput Port Iput Queues Itercoectio Network Output Queues Iput Port 2 2 Iput Port 3 3 Iput Port 4 4 Iput Port 5 5 Iput Port 6 6 Sprig 208 CS 438 Staff, Uiversity of Illiois 6

Switch desig: puttig the pieces together Iput Port Looks i forwardig table, fids output port 3 is associated Itercoectio with Iput destiatio Network Output Queues Queues Iput Port 2 2 Iput Port 3 3 Iput Port 4 4 Packet remais queued util Iput iput Port queue 5 empties ad output queue 3 has free slots Iput Port 6 5 Packet remais queued util output port available to sed 6 Sprig 208 CS 438 Staff, Uiversity of Illiois 7

Cotetio Head of Lie Blockig stadard checkout lies customer service cashiers are stadig by! waitig for free slots i cust. svc lie People waitig to get ito the store Head of lie blockig slows throughput Sprig 208 CS 438 Staff, Uiversity of Illiois 8

Head of Lie Blockig Iput Port Two packets with same output port à cotetio Itercoectio Iput etwork: Queues switch fabric Output Queues Iput Port 2 2 Iput Port 3 3 Iput Port 4 4 Iput Port 5 5 Iput Port 6 We ca t sed this packet, eve though it s ot cotedig for resources! 6 Sprig 208 CS 438 Staff, Uiversity of Illiois 9

Ublockig head of lie blockig Solutio : No iput queue Switchig fabric (hopefully) keeps up with iput rate Solutio 2: No eed to always serve packet at head of queue. Could pick ay! Each iput port has separate queue for each output port Next questio: which packet do we pick? Sprig 208 CS 438 Staff, Uiversity of Illiois 20

Pickig packets ports Iput port 2 3 Output port Iput port 2 Iput port 3 4 4 4 Switchig fabric Output port 2 Output port 3 Iput port 4 2 4 Output port 4 Sprig 208 CS 438 Staff, Uiversity of Illiois 2

Pickig packets ports Iput port 2 3 Output port Iput port 2 Iput port 3 4 4 4 Switchig fabric Output port 2 Output port 3 Iput port 4 2 4 Output port 4 Uderlyig problem for max throughput i sigle timestep: bipartite matchig Pick max subset of edges usig edge per ode Sprig 208 CS 438 Staff, Uiversity of Illiois 22

Pickig packets ports Iput port 2 3 Output port Iput port 2 Iput port 3 4 4 4 Switchig fabric Output port 2 Output port 3 Iput port 4 2 4 Output port 4 Switches may ot fid optimal solutio: we also wat Fairess Simplicity of implemetatio Sprig 208 CS 438 Staff, Uiversity of Illiois 23

What we kow so far Bufferig masks temporary cotetio Need to carefully maage queues Head-of-lie blockig problem Fairess Throughput Sprig 208 CS 438 Staff, Uiversity of Illiois 24

What we kow so far Did we completely solve cotetio problem? Could a packet ever be dropped? Yes: queues ca still overflow Solutio : pla allowed packet rates i advace virtual circuit switchig Solutio 2: dyamically request rate reductio backpressure Sprig 208 CS 438 Staff, Uiversity of Illiois 25

Cotetio Back Pressure Let the receiver tell the seder to slow dow Propagatio delay requires that the receiver react before the buffer is full Typically used i etworks with small propagatio delay switch switch 2 o more, please Sprig 208 CS 438 Staff, Uiversity of Illiois 26

Cotetio Back Pressure Need to sed backpressure before queue fills So, better whe propagatio delay small e.g., switch fabrics e.g., Etheret pause-based flow cotrol (IEEE 802.3x) used to ru FibreChael over Etheret Switch stop stop stop 23 45 96 78 2 34 85 67 9 2 37 45 68 9 6 Switch 5 4 3 2 Discard: 78 9 Sprig 208 CS 438 Staff, Uiversity of Illiois 27

Switch Desig Goals High Throughput Number of packets a switch ca forward per secod High Scalability How may iput/output ports ca it coect Low Cost Per port moetary costs Sprig 208 CS 438 Staff, Uiversity of Illiois 28

Two simple fabrics Two simple fabrics for very large highperformace switches! Shared bus or memory: Low $, low throughput Full mesh: High $, high throughput Sprig 208 CS 438 Staff, Uiversity of Illiois 29

Special Purpose Switches Problem Coect N iputs to M outputs NxM ( N by M ) switch Ofte N = M Goals Iput Port Iput Port Iput Port Iput Port Iput Port Iput Port High throughput Best is MIN(sum of iputs, sum of outputs) Avoid cotetio Good scalability Liear size/cost growth Switch Fabric Sprig 208 CS 438 Staff, Uiversity of Illiois 30

Switch Desig Ports hadle complexity Forwardig decisios Bufferig Simple fabric Iput Port Iput Port Iput Port Iput Port Iput Port Iput Port Move packets from iputs to outputs Switch Fabric May have a small amout of iteral bufferig Sprig 208 CS 438 Staff, Uiversity of Illiois 3

Switch Desig Goals Throughput Mai problem is cotetio Need a good traffic model Arrival time Destiatio port Packet legth Telephoy modelig is well uderstood Util faxes ad modems Modelig of data traffic is ew Not well uderstood Will good models help? Sprig 208 CS 438 Staff, Uiversity of Illiois 32

Switch Desig Goals Cotetio Avoid cotetio through itelliget bufferig Use output bufferig whe possible Apply back pressure through switch fabric Improve iput bufferig through o-fifo buffers Reduces head-of-lie blockig Drop packets if iput buffers overflow Sprig 208 CS 438 Staff, Uiversity of Illiois 33

Switch Desig Goals Scalability O(N) ports Port desig complexity O(N) gives O(N 2 ) for etire switch Port desig complexity of O() gives O(N) for etire switch Sprig 208 CS 438 Staff, Uiversity of Illiois 34

Switch Desig Crossbar Switches Baya Networks Batcher Networks Sushie Switch Sprig 208 CS 438 Staff, Uiversity of Illiois 35

Crossbar Switch Every iput port is coected to every output port NxN Output ports Complexity scales as O(N 2 ) Sprig 208 CS 438 Staff, Uiversity of Illiois 36

Crossbar Switch Iput Port Iput Port Iput Port Iput Port Sprig 208 CS 438 Staff, Uiversity of Illiois 37

Kockout Switch Problem Full crossbar requires each output port to hadle up to N iput packets Assumptio It is ulikely that N iputs will have packets destied for the same output port Istead implemet each port to hadle L<N packets at the same time Challeges What value of L to use Maagig hotspots Sprig 208 CS 438 Staff, Uiversity of Illiois 38

Kockout Switch Output port desig Packet filters Recogize packets destied for a specific port Cocetrator Queue Selects up to L packets from those destied for this port Kocks out (discards) excess packets Legth L Sprig 208 CS 438 Staff, Uiversity of Illiois 39

Kockout Switch Goal Wat some fairess No sigle iput should have its packets always kocked out Approach Essetially a kock out teis touramet with each game of 2 players (packets) chose radomly Overall wier is selected by playig log N rouds, ad keepig the wier Sprig 208 CS 438 Staff, Uiversity of Illiois 40

Kockout Switch Pick L from N packets at a port Output port maitais L cyclic buffers Shifter places up to L packets i oe cycle Each buffer gets oly oe packet Output port uses roud-robi betwee buffers Arrival order is maitaied Output ports scale as O(N) Sprig 208 CS 438 Staff, Uiversity of Illiois 4

Kockout Switch 2 3 4 R R 4 R 2 R 3 Choose L of N Ex: 2 of 4 R 2x2 radom selector 4 4 D Choice R 3 Choice 2 2 3 Discard What happes if more tha L arrive? Discard D Delay uit Sprig 208 CS 438 Staff, Uiversity of Illiois 42

Self-Routig Fabrics Idea Use source routig o etwork i switch Iput port attaches output port umber as header Fabric routes packet based o output port Types Baya Network Batcher-Baya Network Sushie Switch Sprig 208 CS 438 Staff, Uiversity of Illiois 43

Baya Network A etwork of 2x2 switches Each elemet routes to output 0 or based o packet header A switch at stage i looks at bit i i the header 0000 0 Sprig 208 CS 438 Staff, Uiversity of Illiois 44

Baya Network 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Sprig 208 CS 438 Staff, Uiversity of Illiois 45

Baya Network 00 00 00 00 0 0 0 0 0 0 0 0 Sprig 208 CS 438 Staff, Uiversity of Illiois 46

Baya Network Perfect Shuffle N iputs requires log 2 N stages of N/2 switchig elemets Complexity o order of N log 2 N Collisios If two packets arrive at the same switch destied for the same output port, a collisio will occur If all packets are sorted i ascedig order upo arrival to a baya etwork, o collisios will occur! Sprig 208 CS 438 Staff, Uiversity of Illiois 47

Collisio i a Baya Network 0 0 0 00 00 00 00 0 0 0 0 0 0 0 0 0 Collisio! Happes because iput is usorted 0 0 0 0 0 Sprig 208 CS 438 Staff, Uiversity of Illiois 48

Batcher Network Performs merge sort A etwork of 2x2 switches Each elemet routes to output 0 or based o packet header A switch at stage i looks at the whole header Two types of switches Up switch Seds higher umber to top output (0) Dow switch Seds higher umber to bottom output () U D Sprig 208 CS 438 Staff, Uiversity of Illiois 49

Batcher Network 7 3 D 3 7 3 6 D 3 6 3 D 3 6 U Sort 6 7 D 7 Merge 6 6 D 7 7 Merge Sprig 208 CS 438 Staff, Uiversity of Illiois 50

Batcher Network Sort iputs 0 3 i ascedig order D D D D D D U D D D D D Merge 0 3 with 4 7 8x8 Switch D U U D D D U U U D D D Sort iputs 4 7 i descedig order Sprig 208 CS 438 Staff, Uiversity of Illiois 5

Batcher Network How it really works Merger is preseted with a pair of sorted lists, oe i ascedig order, oe i descedig order First stage of merger seds packets to the correct half of the etwork Secod stage seds them to the correct quarter Size N/2 switches per stage log 2 N x ( + log 2 N)/2 stages Complexity = N log 22 N Sprig 208 CS 438 Staff, Uiversity of Illiois 52

Batcher-Baya Network Idea Attach a batcher etwork back-to-back with a baya etwork Arbitrary uique permutatios ca be routed without cotetio Sprig 208 CS 438 Staff, Uiversity of Illiois 53