Scheduling algorithms for CIOQ switches Balaji Prabhakar.

Slides:



Advertisements
Similar presentations
1 Maintaining Packet Order in Two-Stage Switches Isaac Keslassy, Nick McKeown Stanford University.
Advertisements

Lecture 12. Emulating the Output Queue So far we have shown that it is possible to obtain the same throughput with input queueing as with output queueing.
Courtesy: Nick McKeown, Stanford 1 Intro to Quality of Service Tahir Azim.
EECB 473 Data Network Architecture and Electronics Lecture 3 Packet Processing Functions.
COMP680E by M. Hamdi 1 Can we make these scheduling algorithms simpler? Using a Simpler Architecture.
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,
Towards Simple, High-performance Input-Queued Switch Schedulers Devavrat Shah Stanford University Berkeley, Dec 5 Joint work with Paolo Giaccone and Balaji.
Worst-case Fair Weighted Fair Queueing (WF²Q) by Jon C.R. Bennett & Hui Zhang Presented by Vitali Greenberg.
A Scalable Switch for Service Guarantees Bill Lin (University of California, San Diego) Isaac Keslassy (Technion, Israel)
Algorithm Orals Algorithm Qualifying Examination Orals Achieving 100% Throughput in IQ/CIOQ Switches using Maximum Size and Maximal Matching Algorithms.
Making Parallel Packet Switches Practical Sundar Iyer, Nick McKeown Departments of Electrical Engineering & Computer Science,
1 Input Queued Switches: Cell Switching vs. Packet Switching Abtin Keshavarzian Joint work with Yashar Ganjali, Devavrat Shah Stanford University.
CS 268: Router Design Ion Stoica March 1, 2004.
1 Comnet 2006 Communication Networks Recitation 5 Input Queuing Scheduling & Combined Switches.
Analyzing Single Buffered Routers Sundar Iyer, Rui Zhang, Nick McKeown (sundaes, rzhang, High Performance Networking Group Departments.
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
Packet-Mode Emulation of Output-Queued Switches David Hay, CS, Technion Joint work with Hagit Attiya (CS) and Isaac Keslassy (EE)
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion MSM.
CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Scaling.
1 Internet Routers Stochastics Network Seminar February 22 nd 2002 Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University.
CS 268: Lecture 12 (Router Design) Ion Stoica March 18, 2002.
COMP680E by M. Hamdi 1 Course Exam: Review April 17 (in-Class)
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.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Maximal.
Surprise Quiz EE384Z: McKeown, Prabhakar ”Your Worst Nightmares in Packet Switching Architectures”, 3 units [Total time = 15 mins, Marks: 15, Credit is.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Scheduling.
CS144, Stanford University Error in Q3-7. CS144, Stanford University Using longest prefix matching, the IP address will match which entry? a /8.
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.
1 IP routers with memory that runs slower than the line rate Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford.
A Scalable, Cache-Based Queue Management Subsystem for Network Processors Sailesh Kumar, Patrick Crowley Dept. of Computer Science and Engineering.
Load Balanced Birkhoff-von Neumann Switches
Nick McKeown CS244 Lecture 7 Valiant Load Balancing.
Enabling Class of Service for CIOQ Switches with Maximal Weighted Algorithms Thursday, October 08, 2015 Feng Wang Siu Hong Yuen.
Summary of switching theory Balaji Prabhakar Stanford University.
1 IK1500 Communication Systems IK1500 Anders Västberg
Routers. These high-end, carrier-grade 7600 models process up to 30 million packets per second (pps).
Packet Forwarding. A router has several input/output lines. From an input line, it receives a packet. It will check the header of the packet to determine.
1 Performance Guarantees for Internet Routers ISL Affiliates Meeting April 4 th 2002 Nick McKeown Professor of Electrical Engineering and Computer Science,
Stress Resistant Scheduling Algorithms for CIOQ Switches Prashanth Pappu Applied Research Laboratory Washington University in St Louis “Stress Resistant.
An Introduction to Packet Switching Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford University
Nick McKeown Spring 2012 Lecture 2,3 Output Queueing EE384x Packet Switch Architectures.
Winter 2006EE384x1 EE384x: Packet Switch Architectures I a) Delay Guarantees with Parallel Shared Memory b) Summary of Deterministic Analysis Nick McKeown.
Belgrade University Aleksandra Smiljanić: High-Capacity Switching Switches with Input Buffers (Cisco)
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 18: Quality of Service Slides used with.
Buffered Crossbars With Performance Guarantees Shang-Tse (Da) Chuang Cisco Systems EE384Y Thursday, April 27, 2006.
SNRC Meeting June 7 th, Crossbar Switch Scheduling Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University
1 A quick tutorial on IP Router design Optics and Routing Seminar October 10 th, 2000 Nick McKeown
Improving Matching algorithms for IQ switches Abhishek Das John J Kim.
Topics in Internet Research: Project Scope Mehreen Alam
Reduced Rate Switching in Optical Routers using Prediction Ritesh K. Madan, Yang Jiao EE384Y Course Project.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Energy-aware QoS packet scheduling.
Block-Based Packet Buffer with Deterministic Packet Departures Hao Wang and Bill Lin University of California, San Diego HSPR 2010, Dallas.
The Fork-Join Router Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford University
Input buffered switches (1)
1 Building big router from lots of little routers Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford University.
scheduling for local-area networks”
CS 268: Router Design Ion Stoica February 27, 2003.
Packet Forwarding.
EE384x: Packet Switch Architectures
EE 122: Lecture 7 Ion Stoica September 18, 2001.
Write about the funding Sundar Iyer, Amr Awadallah, Nick McKeown
Techniques and problems for
Presentation transcript:

Scheduling algorithms for CIOQ switches Balaji Prabhakar

2 Outline of lecture notes We have seen a brief overview of switches and routers –Practice and theory: the commonalities, the divergence –The evolution of switch architectures The CIOQ switch architecture –Overview –Current practice: separate fabric and output schedulers –Stable marriage algorithms for integrating the two schedulers –Why they were unsuccessful –Why they are interesting again…

3 A Detailed Sketch of a Router Network Processor Lookup Engine Network Processor Lookup Engine Network Processor Lookup Engine Interconnection Fabric Switch Output Scheduler Line cardsOutputs Packet Buffers Packet Buffers Packet Buffers Fabric Scheduler

4 Note Typically, there are two interlocking schedulers –Fabric scheduler and the output scheduler –Speedup is the “grease” that smoothes their interaction

5 What is speedup Switch with speedup S: In each time slot –At most 1 packet arrives at (departs from) each input (output) –At most S packets switched from (to) each input (output) Crossbar Fabric with Speedup S Crossbar Fabric with Speedup 1 Fabric with Speedup N Input-queued switchOutput-queued switch Memory Bandwidth = S+1 Memory Bandwidth = S+1 M.B. = N + 1M.B. = 2

6 CIOQ Switches Probabilistic analyses: Assume traffic models –Bruzzi and Patavina ‘90, Chen and Stern ‘91, Iliadis and Denzel ‘93, Lin and Sylvester ‘93, Chang, Paulraj and Kailath ‘94 Numerical methods: Use simulated or actual traffic –Murata, Kubota, Miyahara ’89, Lee and Li ’91, Goli and Kumar ’92, Lee and Liu ’94, Bianchini and Kim ’95, etc. Showed that switches which use a speedup of between 2 and 5 achieve the same mean delay and throughput as an output- queued switch (whose speedup is N) IQCIOQOQ Speedup = 1 Inexpensive Poor performance Speedup = 2--5 ? Inexpensive Good performance Speedup = N Expensive Great performance

7 Our approach Arbitrary inputs and emulation of OQ switch –Can we say something about delay irrespective of traffic statistics? –Competitive analysis: The idea is to compete with an o/q switch The setup –Under arbitrary, but identical inputs (packet-by-packet) –Is it possible to replace an o/q switch by a CIOQ switch and schedule the CIOQ switch so that the outputs are identical, packet-by-packet? –If yes, what is the scheduling algorithm?

8 More specifically Consider an N × N switch with (integer) speedup S > 1 Apply the same inputs, cell-by-cell, to both switches –We will assume that the o/q switch sends out packets in FIFO order –And we’ll see if the CIOQ switch can match cells on the output side

9 An algorithm

10 Key concept: Port threads

11 Theorem (P and McKeown, ‘97)

12 Subsequent work Interestingly (and surprisingly), the MUCF algorithm doesn’t give OQ emulation at speedup 2 –Counterexample due to S-T. Chuang Theorem (Chuang, Goel, McKeown and P, ‘98) –An algorithm, called Critical Cells First (CCF), achieves OQ emulation at speedup of 2 - 1/N; moreover, this is necessary and sufficient –The output scheduling policy can be any “monotone scheduling policy;” e.g. strict priority, WFQ, LIFO Charny et al (‘98) –Showed speedup of 4 is sufficient for monotone scheduling policies with leaky bucket constrained inputs Krishna et al (‘98) –Produced an algorithm that is work-conserving, like an OQ switch is However, none of these algorithms were “implementable”

13 Implementable algorithms In a core router, switching decisions need to be made in 40ns –Therefore, algorithms have to be v.simple –The elaborate information exchange required by the previous algorithms “did them in” What is implemented: the Request-Grant-Accept type algorithm –In each iteration of the matching process… –Inputs send 1-bit requests to outputs –An output grants to one of the requesting inputs –An input, which receives multiple grants, accepts one of the outputs –All of these are 1-bit communications The CIOQ algorithms, while being of the iterative type, lacked the RGA capability –The information exchanged was “global” –E.g. time of arrival, flow id, … So this work seemed fundamentally limited

14 A new perspective The output scheduling algorithms commercially implemented are “port- level fair” –That is, an output link’s bandwidth is partitioned at the level of input ports A policy is “port-level fair” if at any given time the output has a complete ordering of all the inputs for service, based only on the occupancy of the VIQs –FIFO is not port-level fair, because an output can only determine the departure time of a packet when given its arrival time, not just based on which input it arrived at –Flow-level WFQ is also, clearly, not port-level fair

15 Remarks Note that FIFO is the easiest policy for an OQ switch to implement –So, port-level fair algorithms should be harder… –Somewhat surprisingly, in a CIOQ switch, this is inverted, as we will see A port-level fair algorithm is popular in practice because a network operator can guarantee bandwidth at that level, without knowing how many flows there are –Individual flows at an input get bandwidth guarantees from the input’s share (which is known at the input) of the output bandwidth –A 2-step process

16 The algorithm: FLGS We now describe the Fully Local Gale-Shapley (FLGS) algorithm: –It is a “stable marriage” algorithm between inputs and outputs –The ranking list at an output at any time is defined by the port-level fair policy Ranking list at an input: –The VOQs are divided into two groups: empty and non-empty –All empty VOQs have rank “infinity” –When an empty VOQ has an arrival, it becomes ranked 1 –It will remain in this rank until another empty VOQ receives an arrival, or it becomes empty, whichever is first –NOTE: The relative ranks of two non-empty never changes while they remain non-empty

17 The algorithm: FLGS Theorem (Firoozshahian, Manshadi, Goel and P, ‘06): The fully local Gale-Shapley (FLGS) algorithm enables the emulation of an OQ switch employing any port-level fair output scheduler at a speeup of 2 –The algorithm seems counter-intuitive because the ranking at the inputs seems “dumb,” too much so –But, the algorithm works, and it was nearly known to us in 1997 (in the Chuang et al paper); however, we weren’t looking for something so simple at that time!

18 At smaller speedups… The theorem guarantees emulation of an OQ switch at speedup 2 –Using simulations we can see how the algorithm performs relative to an OQ switch at speedups less than 2 –Here the comparison is wrt average packet delays, not packet-by-packet –4 classes with WFQ and Strict Priority, load of 99.9% WFQ: High weight class WFQ: Low weight class

19 Concluding remark So, why did it take “10 years?” –We became aware of “port-level fair” policies only recently –The implementors never really understood our original algorithms; they thought (correctly) that they were too complicated and, perhaps, dismissed the whole approach The big “take away” for me –Try to understand implementors and the process of implementation –This could have saved us a lot of time –The implementors (especially the good ones) aren’t really looking at the theoretical literature