1 Building big router from lots of little routers Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford University.

Slides:



Advertisements
Similar presentations
Router Internals CS 4251: Computer Networking II Nick Feamster Spring 2008.
Advertisements

Router Internals CS 4251: Computer Networking II Nick Feamster Fall 2008.
1 ELEN 602 Lecture 18 Packet switches Traffic Management.
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.
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,
4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side, delivers.
1 Circuit Switching in the Core OpenArch April 5 th 2003 Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University
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
Scaling Internet Routers Using Optics Isaac Keslassy, Shang-Tse Da Chuang, Kyoungsik Yu, David Miller, Mark Horowitz, Olav Solgaard, Nick McKeown Department.
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.
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.
Stanford University August 22, 2001 TCP Switching: Exposing Circuits to IP Pablo Molinero-Fernández Nick McKeown Stanford University.
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 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
Nick McKeown CS244 Lecture 7 Valiant Load Balancing.
Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education.
Optics in Internet Routers Mark Horowitz, Nick McKeown, Olav Solgaard, David Miller Stanford University
How Emerging Optical Technologies will affect the Future Internet NSF Meeting, 5 Dec, 2005 Nick McKeown Stanford University
TO p. 1 Spring 2006 EE 5304/EETS 7304 Internet Protocols Tom Oh Dept of Electrical Engineering Lecture 9 Routers, switches.
Designing Packet Buffers for Internet Routers Friday, October 23, 2015 Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford.
Winter 2006EE384x1 EE384x: Packet Switch Architectures I Parallel Packet Buffers Nick McKeown Professor of Electrical Engineering and Computer Science,
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #14 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
Computer Networks: Switching and Queuing Ivan Marsic Rutgers University Chapter 4 – Switching and Queuing Delay Models.
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,
1 Router Design Bruce Davie with help from Hari Balakrishnan & Nick McKeown.
An Introduction to Packet Switching Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford University
Winter 2006EE384x1 EE384x: Packet Switch Architectures I a) Delay Guarantees with Parallel Shared Memory b) Summary of Deterministic Analysis Nick McKeown.
Winter 2006EE384x Handout 11 EE384x: Packet Switch Architectures Handout 1: Logistics and Introduction Professor Balaji Prabhakar
Opticomm 2001Nick McKeown1 Do Optics Belong in Internet Core Routers? Keynote, Opticomm 2001 Denver, Colorado Nick McKeown Professor of Electrical Engineering.
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
The Fork-Join Router Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford University
Multiprotocol Label Switching (MPLS) Routing algorithms provide support for performance goals – Distributed and dynamic React to congestion Load balance.
Network layer (addendum) Slides adapted from material by Nick McKeown and Kevin Lai.
Graciela Perera Department of Computer Science and Information Systems Slide 1 of 18 INTRODUCTION NETWORKING CONCEPTS AND ADMINISTRATION CSIS 3723 Graciela.
Chapter 3 Part 3 Switching and Bridging
scheduling for local-area networks”
Weren’t routers supposed
CS 268: Router Design Ion Stoica February 27, 2003.
Queue Management Jennifer Rexford COS 461: Computer Networks
Addressing: Router Design
Chapter 4: Network Layer
Chapter 3 Part 3 Switching and Bridging
Chapter 7 Backbone Network
Lecture 11 Switching & Forwarding
Parallelism in Network Systems Joint work with Sundar Iyer
What’s “Inside” a Router?
Advance Computer Networking
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.
COMP/ELEC 429 Introduction to Computer Networks
Chapter 3 Part 3 Switching and Bridging
Project proposal: Questions to answer
CIS679: Two Planes and Int-Serv Model
Write about the funding Sundar Iyer, Amr Awadallah, Nick McKeown
Techniques and problems for
Computer Networks: Switching and Queuing
Introduction to Packet Scheduling
An Engineering Approach to Computer Networking
Chapter 4: Network Layer
Introduction to Packet Scheduling
Presentation transcript:

1 Building big router from lots of little routers Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford University

2 Current/Recent Projects 1.Packet Switching: –Scheduling Crossbar Switches –Speedup and QoS –Parallel Packet Switches 2.Router algorithms –IP Lookups –IP Packet Classification 3.Internet –Evolving the Internet to circuit switching and optics –Internet traffic analysis 4. Router Architectures –The Fork Join Router –Incorporating Optics into Routers –The Design of Fast Packet Buffers 5. Teaching Tools –Network hardware lab: NetFPGA –Network software lab: Virtual Router More details:

3 Why might this be interesting? Widely held assumption: Electronic IP routers will not keep up with link capacity. Background: Router Capacity = (number of lines) x (line-rate) Biggest router capacity 4 years ago ~= 10Gb/s Biggest router capacity 2 years ago ~= 40Gb/s Biggest router capacity today ~= 160Gb/s Next couple of generations: ~1-40Tb/s

4 Larger overall routing capacity Processing power Link speed

5 Larger overall routing capacity Do we need more? 0, Fiber Capacity (Gbit/s) TDMDWDM Processing PowerLink Speed (Fiber) 2x / 2 years2x / 7 months Source: SPEC95Int & David Miller, Stanford.

6 Instructions per packet time Instructions per packet What we’d like: (more features) QoS, Multicast, Security, … What will happen

7 What limits a router’s capacity? It’s a packet switch: –Must be able to buffer every packet for an unpredictable amount of time. Hop-by-hop routing: –Once per ~1000bits it must index into a forwarding table with ~100k entries. Limited by memory random access time

8 Larger overall capacity What limits capacity today? Memory bandwidth for packet buffers –Shared memory: B = 2NR –Input queued: B = 2R –Would like: <<R –Perhaps via intelligent load-balancing? Memory bandwidth for IP lookups –Must perform lookup for each packet –B ~ R

9 What I’d like: The building blocks I’d like to use: R RR R R R R R NxN

10 Why this might be a good approach Larger overall routing capacity –Reduces aggregate capacity of any one router Slower memory per router Lower power per router Faster line rates Redundancy Familiarity –“After all, this is how the Internet is built”

11 Why this might be a bad idea Manageability: it’s harder to manage, maintain, upgrade, …, a large number of small systems than one large one. The total space & power might be larger. The interconnect between the routers might be highly redundant. How will it perform? (Throughput) Can it provide delay guarantees? (QoS)

12 The interconnect might be highly redundant and wasteful R R R R 1 2 N “Excess” links contribute to power Today: Big routers are limited by their overall power. Chip-to-chip connections make up approx 50% of the power.

13 I’ll be considering Load Balancing architectures 1 2 … … k R R R R/k

14 Method #1: Random packet load- balancing Method: As packets arrive they are randomly distributed, packet by packet over each router. Advantages: –Load-balancer is simple –Load-balancer needs no packet buffering Disadvantages: –Random fluctuations in traffic  each router is loaded differently Packets within a flow may become mis-sequenced It is hard to predict the system performance

15 Method #2: Random flow load- balancing Method: Each new flow (e.g. TCP connection) is randomly assigned to a router. All packets in a flow follow the same path. Advantages: –Load-balancer is simple (e.g. hashing of flow ID). –Load-balancer needs no packet buffering. –No mis-sequencing of packets within a flow. Disadvantages: –Random fluctuations in traffic  each router is loaded differently It is hard to predict the system performance

16 Observations Random load-balancing: It’s hard to predict system performance. Flow-by-flow load-balancing: Worst-case performance is very poor. If designers, system builders, network operators etc. need to know the worst case performance, random load-balancing will not suffice.

17 Method #3: Intelligent packet load-balancing Goal: Each packet is carefully assigned to a middle-stage router so that: Packets within a flow are not mis- sequenced. Throughput is maximized and understood. Delay of packets are controlled. We call this “Parallel Packet Switching”

18 Method #3: Intelligent packet load- balancing Parallel Packet Switching 1 2 k 1 N rate, R 1 N Router Bufferless R/k A packet keeps a link at speed R/k busy for k times longer than a link of speed R.

19 Parallel Packet Switching Advantages –Single-stage of buffering –k  power per subsystem  –k  memory bandwidth  –k  lookup rate 

20 Parallel Packet Switch Questions –Switching: What is the performance? –IP Lookups: How do they work?

21 A Parallel Packet Switch 1 N rate, R 1 N Output Queued Switch Output Queued Switch Output Queued Switch 1 2 k Arriving packet tagged with egress port

22 Performance Questions 1.Can its outputs be busy all the time? i.e. can it be work-conserving? Can it achieve 100% throughput? 2.Can it emulate a single big shared memory switch? 3.Can it support delay guarantees, strict-priorities, WFQ, …?

23 Work Conservation and 100% Throughput rate, R k 1 R/k Input Link Constraint Output Link Constraint Shared memory switch Shared memory switch Shared memory switch

24 Work Conservation rate, R k 1 R/k Output Link Constraint

25 Work Conservation 1 N rate, R 1 N Shared Memory Switch Shared Memory Switch Shared Memory Switch 1 2 k S(R/k)

26 Precise Emulation of a Shared Memory Switch NN Shared Memory Switch 1 N Parallel Packet Switch = ? 1 N 1 N

27 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 shared memory switch for all traffic.

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

29 Parallel Packet Switch Theorems 4. If S = 1 then a parallel packet switch with a small co-ordination buffer at rate R, can precisely emulate a FCFS shared memory switch for all traffic.

30 Co-ordination buffers rate, R Shared Memory Switch Shared Memory Switch Shared Memory Switch 1 2 k R/k Size Nk

31 Parallel Packet Switch Questions –Switching: What is the performance? –Forwarding Lookups: How do they work?

32 Parallel Packet Switch Lookahead Lookups Packet tagged with egress port at next router Lookup performed in parallel at rate R/k

33 Parallel Packet Switch 1 2 k 1 N rate, R 1 N Router Possibly >100Tb/s aggregate capacity Linerates in excess of 100Gb/s