An Introduction to Packet Switching Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford University

Slides:



Advertisements
Similar presentations
© Jörg Liebeherr ECE 1545 Packet-Switched Networks.
Advertisements

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 High Speed Router Design Shivkumar Kalyanaraman Rensselaer Polytechnic Institute
Router Architecture : Building high-performance routers Ian Pratt
Nick McKeown CS244 Lecture 6 Packet Switches. What you said The very premise of the paper was a bit of an eye- opener for me, for previously I had never.
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.
Routers with a Single Stage of Buffering Sundar Iyer, Rui Zhang, Nick McKeown High Performance Networking Group, Stanford University,
May 28th, 2002Nick McKeown 1 Scaling routers: Where do we go from here? HPSR, Kobe, Japan May 28 th, 2002 Nick McKeown Professor of Electrical Engineering.
Making Parallel Packet Switches Practical Sundar Iyer, Nick McKeown Departments of Electrical Engineering & Computer Science,
High-Speed Router Design. Content Classes of Routers Components of a Router High-Speed Router Lookup Advances in Switching Fabrics Speeding Up Output.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 High Speed Router Design Shivkumar Kalyanaraman Rensselaer Polytechnic Institute
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
Analysis of a Packet Switch with Memories Running Slower than the Line Rate Sundar Iyer, Amr Awadallah, Nick McKeown Departments.
1 Architectural Results in the Optical Router Project Da Chuang, Isaac Keslassy, Nick McKeown High Performance Networking Group
1 OR Project Group II: Packet Buffer Proposal Da Chuang, Isaac Keslassy, Sundar Iyer, Greg Watson, Nick McKeown, Mark Horowitz
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion The.
1 Internet Routers Stochastics Network Seminar February 22 nd 2002 Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University.
EE 122: Router Design Kevin Lai September 25, 2002.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Introduction.
CS 268: Lecture 12 (Router Design) Ion Stoica March 18, 2002.
Nick McKeown 1 Memory for High Performance Internet Routers Micron February 12 th 2003 Nick McKeown Professor of Electrical Engineering and Computer Science,
1 EE384Y: Packet Switch Architectures Part II Load-balanced Switches Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University.
1 Trend in the design and analysis of Internet Routers University of Pennsylvania March 17 th 2003 Nick McKeown Professor of Electrical Engineering and.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering.
1 Achieving 100% throughput Where we are in the course… 1. Switch model 2. Uniform traffic  Technique: Uniform schedule (easy) 3. Non-uniform traffic,
1 Netcomm 2005 Communication Networks Recitation 5.
Surprise Quiz EE384Z: McKeown, Prabhakar ”Your Worst Nightmares in Packet Switching Architectures”, 3 units [Total time = 15 mins, Marks: 15, Credit is.
Router Architectures An overview of router architectures.
Router Architectures An overview of router architectures.
Pipelined Two Step Iterative Matching Algorithms for CIOQ Crossbar Switches Deng Pan and Yuanyuan Yang State University of New York, Stony Brook.
Localized Asynchronous Packet Scheduling for Buffered Crossbar Switches Deng Pan and Yuanyuan Yang State University of New York Stony Brook.
4: Network Layer4b-1 Router Architecture Overview Two key router functions: r run routing algorithms/protocol (RIP, OSPF, BGP) r switching datagrams from.
Chapter 4 Queuing, Datagrams, and Addressing
1 IP routers with memory that runs slower than the line rate Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford.
Computer Networks Switching Professor Hui Zhang
Professor Yashar Ganjali Department of Computer Science University of Toronto
CS 552 Computer Networks IP forwarding Fall 2005 Rich Martin (Slides from D. Culler and N. McKeown)
1 Copyright © Monash University ATM Switch Design Philip Branch Centre for Telecommunications and Information Engineering (CTIE) Monash University
Summary of switching theory Balaji Prabhakar Stanford University.
Designing Packet Buffers for Internet Routers Friday, October 23, 2015 Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford.
EE384y EE384Y: Packet Switch Architectures Part II Scaling Crossbar Switches Nick McKeown Professor of Electrical Engineering and Computer Science,
Winter 2006EE384x1 EE384x: Packet Switch Architectures I Parallel Packet Buffers Nick McKeown Professor of Electrical Engineering and Computer Science,
Nick McKeown1 Building Fast Packet Buffers From Slow Memory CIS Roundtable May 2002 Nick McKeown Professor of Electrical Engineering and Computer Science,
1 Performance Guarantees for Internet Routers ISL Affiliates Meeting April 4 th 2002 Nick McKeown Professor of Electrical Engineering and Computer Science,
Winter 2006EE384x1 EE384x: Packet Switch Architectures I a) Delay Guarantees with Parallel Shared Memory b) Summary of Deterministic Analysis Nick McKeown.
Forwarding.
Winter 2006EE384x Handout 11 EE384x: Packet Switch Architectures Handout 1: Logistics and Introduction Professor Balaji Prabhakar
Buffered Crossbars With Performance Guarantees Shang-Tse (Da) Chuang Cisco Systems EE384Y Thursday, April 27, 2006.
Lecture Note on Switch Architectures. Function of Switch.
1 A quick tutorial on IP Router design Optics and Routing Seminar October 10 th, 2000 Nick McKeown
1 How scalable is the capacity of (electronic) IP routers? Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University
Packet Switch Architectures The following are (sometimes modified and rearranged slides) from an ACM Sigcomm 99 Tutorial by Nick McKeown and Balaji Prabhakar,
The Fork-Join Router Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford University
Network Layer4-1 Chapter 4 Network Layer All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down.
Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
Network layer (addendum) Slides adapted from material by Nick McKeown and Kevin Lai.
1 Building big router from lots of little routers Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford University.
Graciela Perera Department of Computer Science and Information Systems Slide 1 of 18 INTRODUCTION NETWORKING CONCEPTS AND ADMINISTRATION CSIS 3723 Graciela.
Weren’t routers supposed
Packet Forwarding.
Addressing: Router Design
Chapter 4: Network Layer
Lecture 11 Switching & Forwarding
Packet Switch Architectures
EE 122: Lecture 7 Ion Stoica September 18, 2001.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
Chapter 3 Part 3 Switching and Bridging
Write about the funding Sundar Iyer, Amr Awadallah, Nick McKeown
Techniques and problems for
Chapter 4: Network Layer
Packet Switch Architectures
Presentation transcript:

An Introduction to Packet Switching Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford University

Sir William Preece, Chief of the British Postal System, 1876: “The Americans may have need of the telephone, but we do not. We have plenty of messenger boys.”

Outline Introduction What is a packet-switch? The Memory Bandwidth Problem Input-Queued Switches Reducing memory bandwidth requirements Combined Input-Output Queued Switches Making input-queued switches useful Parallel Packet Switches Further reducing memory b/width requirements

Introduction What is a Packet Switch? Introduction What is a packet-switch? –Basic Architectural Components –Some Example Packet Switches –The Evolution of IP Routers The Memory Bandwidth Problem Input-Queued Switches Reducing memory bandwidth requirements Combined Input-Output Queued Switches Making input-queued switches useful Parallel Packet Switches Further reducing memory b/width requirements

Basic Architectural Components Policing Output Scheduling Switching Routing Congestion Control Reservation Admission Control Datapath: per-packet processing

Basic Architectural Components Datapath: per-packet processing Forwarding Decision Forwarding Decision Forwarding Decision Forwarding Table Forwarding Table Forwarding Table Interconnect Output Scheduling

Where high performance packet switches are used Enterprise WAN access & Enterprise Campus Switch - Carrier Class Core Router - ATM Switch - Frame Relay Switch The Internet Core Edge Router

Introduction What is a Packet Switch? Introduction What is a packet-switch? –Basic Architectural Components –Some Example Packet Switches –The Evolution of IP Routers The Memory Bandwidth Problem Input-Queued Switches Reducing memory bandwidth requirements Combined Input-Output Queued Switches Making input-queued switches useful Parallel Packet Switches Further reducing memory b/width requirements

ATM Switch Lookup cell VCI/VPI in VC table. Replace old VCI/VPI with new. Forward cell to outgoing interface. Transmit cell onto link.

Ethernet Switch Lookup frame DA in forwarding table. –If known, forward to correct port. –If unknown, broadcast to all ports. Learn SA of incoming frame. Forward frame to outgoing interface. Transmit frame onto link.

IP Router Lookup packet DA in forwarding table. –If known, forward to correct port. –If unknown, drop packet. Decrement TTL, update header Cksum. Forward packet to outgoing interface. Transmit packet onto link.

Introduction What is a Packet Switch? Introduction What is a packet-switch? –Basic Architectural Components –Some Example Packet Switches –The Evolution of IP Routers The Memory Bandwidth Problem Input-Queued Switches Reducing memory bandwidth requirements Combined Input-Output Queued Switches Making input-queued switches useful Parallel Packet Switches Further reducing memory b/width requirements

First Generation Packet Switches Shared Backplane Line Interface CPU Memory CPU Buffer Memory Line Interface DMA MAC Line Interface DMA MAC Line Interface DMA MAC Fixed length “DMA” blocks or cells. Reassembled on egress linecard Fixed length cells or variable length packets

Second Generation Packet Switches CPU Buffer Memory Line Card DMA MAC Local Buffer Memory Line Card DMA MAC Local Buffer Memory Line Card DMA MAC Local Buffer Memory

Third Generation Packet Switches Line Card MAC Local Buffer Memory CPU Card Line Card MAC Local Buffer Memory Switched Backplane Line Interface CPU Memory

Fourth Generation Packet Switches

Outline Introduction What is a packet-switch? The Memory Bandwidth Problem Input-Queued Switches Reducing memory bandwidth requirements Combined Input-Output Queued Switches Making input-queued switches useful Parallel Packet Switches Further reducing memory b/width requirements

Two Basic Techniques Input-queued Crossbar Shared Memory 1+1 = 2 operations per cell time N+N = 2N operations per cell time

Shared Memory The Ideal A ZZ A ZZZ A A Z A ZPIKTD AAAAAAA FXHBAD Numerous work has proven and made possible: –Fairness –Delay Guarantees –Delay Variation Control –Loss Guarantees –Statistical Guarantees

A Comparison Memory speeds for 32x32 switch Line RateMemory BW Access Time Per cell Memory BW Access Time Shared-Memory Input-queued 100 Mb/s6.4 Gb/s80 ns200 Mb/s2.12  s 1 Gb/s64 Gb/s8 ns2 Gb/s212 ns 2.5 Gb/s160 Gb/s3.2 ns5 Gb/s84.8 ns 10 Gb/s640 Gb/s 0.8 ns 20 Gb/s21.2 ns

Buffer Memory How Fast Can I Make a Packet Buffer? Buffer Memory 5ns SRAM Rough Estimate: –5ns per memory operation. –Two memory operations per packet. –Therefore, maximum 51.2Gb/s. –In practice, closer to 40Gb/s. 64-byte wide bus

Buffer Memory Is It Going to Get Better? time Specmarks, Memory size, Gate density time Memory Bandwidth (to core)

Progression Shared Memory Input Queued Combined Input and Output Queued Parallel Packet Switches Batcher SorterSelf-Routing Network Multi stage

Outline Introduction What is a packet-switch? The Memory Bandwidth Problem Input-Queued Switches Reducing memory bandwidth requirements Combined Input-Output Queued Switches Making input-queued switches useful Parallel Packet Switches Further reducing memory b/width requirements

Input Queueing configuration Data In Data Out Scheduler Memory b/w = 2R

Input Queueing Head of Line Blocking Delay Load 58.6% 100%

Head of Line Blocking

Input Queueing Virtual output queues

Input Queues Virtual Output Queues Delay Load 100% Proof by Lyapunov function

Outline Introduction What is a packet-switch? The Memory Bandwidth Problem Input-Queued Switches Reducing memory bandwidth requirements Combined Input-Output Queued Switches Making input-queued switches useful Parallel Packet Switches Further reducing memory b/width requirements

The Speedup Problem Find a compromise: 1 < Speedup << N - to get the performance of a shared memory switch - close to the cost of an IQ switch

Some Early Approaches Probabilistic Analyses - assume traffic models (Bernoulli, Markov-modulated, Numerical Methods - use actual and simulated traffic traces - run different algorithms - set the “speedup dial” at various values non-uniform loading, “friendly correlated”) - obtain mean throughput and delays, bounds on tails - analyze different fabrics (crossbar, multistage, etc)

The findings Very tantalizing... - under different settings (traffic, loading, algorithm, etc) - and even for varying switch sizes A speedup of between 2 and 5 was sufficient!

Using Speedup

The Ideal Solution NN Output Queued Switch 1 N = ? Combined Input-Output Queued Switch 1 N

Interesting Result Theorem: For a switch with combined input and output queueing to exactly mimic an output queued switch, for all types of traffic, a speedup of 2-1/N is necessary and sufficient. Joint work with Balaji Prabhakar, Ashish Goel and Shang-tse Chuang.

Outline Introduction What is a packet-switch? The Memory Bandwidth Problem Input-Queued Switches Reducing memory bandwidth requirements Combined Input-Output Queued Switches Making input-queued switches useful Parallel Packet Switches Further reducing memory b/width requirements

Optical Physical Layers… …are Going to Make Things “Worse” DWDM: –More ’s per fiber  more ports per switch. –# ports: 16, …, 1000’s. Data rate: –More b/s per  higher capacity. –Data rates: 2.5Gb/s, 10Gb/s, 40Gb/s, 160Gb/s, …

Approach #1: Ping-pong Buffering Buffer Memory 64-byte wide bus Buffer Memory 64-byte wide bus

Approach #1: Ping-pong Buffering Buffer Memory 64-byte wide bus Buffer Memory 64-byte wide bus Memory bandwidth doubled to ~80 Gb/s

Approach #2: Multiple Parallel Buffers aka Banking, Interleaving Buffer Memory Buffer Memory Buffer Memory Buffer Memory

The Fork Join Router 1 2 k 1 N rate, R 1 N Router Bufferless

The Fork Join Router Advantages –k  memory bandwidth  –k  lookup/classification rate  –k  routing/classification table size  Problems –How to demultiplex prior to lookup/classification? –How does the system perform/behave? –Can we predict/guarantee performance?

A Parallel Packet Switch 1 N rate, R 1 N Output Queued Switch Output Queued Switch Output Queued Switch 1 2 k

Parallel Packet Switch Questions 1.Can it be work-conserving? 2.Can it emulate a single big shared memory switch? 3.Can it support delay guarantees, strict-priorities, WFQ, …?

Parallel Packet Switch Work Conservation rate, R k 1 R/k Input Link Constraint Output Link Constraint

Parallel Packet Switch Work Conservation rate, R k 1 R/k Output Link Constraint

Parallel Packet Switch Work Conservation 1 N rate, R 1 N Output Queued Switch Output Queued Switch Output Queued Switch 1 2 k S(R/k)

Parallel Packet Switch Theorems 1.If S > 2k/(k+2)  2 then a parallel packet switch can be work- conserving for all traffic. 2.If S > 2k/(k+2)  2 then a parallel packet switch can precisely emulate a FCFS output-queued switch for all traffic.

Parallel Packet Switch Theorems 3. If S > 3k/(k+3)  3 then a parallel packet switch can be precisely emulate a switch with WFQ, strict priorities, and other types of QoS, for all traffic. With Sundar Iyer and Amr Awadallah

Precise Emulation of an FCFS Shared Memory Switch NN Shared Memory 1 N Parallel Packet Switch = ? 1 N 1 N

An aside Unbuffered Clos Circuit Switch Expansion factor required = 2-1/N

Clos Network I1I1 IXIX a b c O1O1 OXOX m { }m}m }m}m O 1 O 2 O 3 O x I 1 I 2 I 3 I x b <= min(R,m) entries in each row <= min(R,m) entries in each column R middle stage switches

Clos Network I1I1 IXIX a b c O1O1 OXOX m { }m}m }m}m O 1 O 2 O 3 O x I 1 I 2 I 3 I x b <= min(R,m) entries in each row <= min(R,m) entries in each column R middle stage switches Define: UIL(I i ) = used links at switch I i to connect to middle stages. UOL(O i ) = used links at switch O i to connect to middle stages. If we wish to connect I i to O i : When adding connection: |UIL(I i )| <= m-1 and |UOL(O i )| <= m-1 Worst-case: |UIL(I i ) U UOL(O i )| = 2m -2 Therefore, if R >= 2m-2 there are always enough middle stages.

An aside Unbuffered Clos Circuit Switch Expansion factor required = 2-1/N

Outline Introduction What is a packet-switch? The Memory Bandwidth Problem Input-Queued Switches Reducing memory bandwidth requirements Combined Input-Output Queued Switches Making input-queued switches useful Parallel Packet Switches Further reducing memory b/width requirements