1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11.

Slides:



Advertisements
Similar presentations
EE384y: Packet Switch Architectures
Advertisements

Lecture 7. Network Flows We consider a network with directed edges. Every edge has a capacity. If there is an edge from i to j, there is an edge from.
1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11.
1 Outline  Why Maximal and not Maximum  Definition and properties of Maximal Match  Parallel Iterative Matching (PIM)  iSLIP  Wavefront Arbiter (WFA)
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 8 Network models.
CSE 421 Algorithms Richard Anderson Lecture 23 Network Flow Applications.
Introduction To Algorithms CS 445 Discussion Session 8 Instructor: Dr Alon Efrat TA : Pooja Vaswani 04/04/2005.
1 Augmenting Path Algorithm s t G: Flow value = 0 0 flow capacity.
Advanced Algorithm Design and Analysis (Lecture 8) SW5 fall 2004 Simonas Šaltenis E1-215b
Lectures on Network Flows
Nick McKeown Spring 2012 Maximum Matching Algorithms EE384x Packet Switch Architectures.
1 Efficient implementation of Dinic’s algorithm for maximum flow.
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.
Towards Simple, High-performance Input-Queued Switch Schedulers Devavrat Shah Stanford University Berkeley, Dec 5 Joint work with Paolo Giaccone and Balaji.
CSC 2300 Data Structures & Algorithms April 17, 2007 Chapter 9. Graph Algorithms.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2001 Lecture 4 Tuesday, 2/19/02 Graph Algorithms: Part 2 Network.
Algorithm Orals Algorithm Qualifying Examination Orals Achieving 100% Throughput in IQ/CIOQ Switches using Maximum Size and Maximal Matching Algorithms.
1 Augmenting Path Algorithm s t G: Flow value = 0 0 flow capacity.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Input-Queued.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion MSM.
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.
CSIT560 By M. Hamdi 1 Packet Scheduling/Arbitration in Virtual Output Queues and Others.
CSIT560 by M. Hamdi 1 Packet Scheduling/Arbitration in Virtual Output Queues and Others.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2004 Lecture 5 Wednesday, 10/6/04 Graph Algorithms: Part 2.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Maximal.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Scheduling.
Flow Networks Formalization Basic Results Ford-Fulkerson Edmunds-Karp Bipartite Matching Min-cut.
Lecture 16 Maximum Matching. Incremental Method Transform from a feasible solution to another feasible solution to increase (or decrease) the value of.
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,
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 25.
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
Chapter 7 May 3 Ford-Fulkerson algorithm Step-by-step walk through of an example Worst-case number of augmentations Edmunds-Karp modification Time complexity.
Data Structures & Algorithms Network Flow Richard Newman based on book by R. Sedgewick.
CSEP 521 Applied Algorithms Richard Anderson Lecture 8 Network Flow.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
Theory of Computing Lecture 12 MAS 714 Hartmut Klauck.
Input buffered switches (1)
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Maximum Flow Problem Definitions and notations The Ford-Fulkerson method.
11/21/02CSE Max Flow CSE Algorithms Max Flow Problems.
ENGM 631 Maximum Flow Solutions. Maximum Flow Models (Flow, Capacity) (0,3) (2,2) (5,7) (0,8) (3,6) (6,8) (3,3) (4,4) (4,10)
TU/e Algorithms (2IL15) – Lecture 8 1 MAXIMUM FLOW (part II)
scheduling for local-area networks”
Balaji Prabhakar Departments of EE and CS Stanford University
BIPARTITE GRAPHS AND ITS APPLICATIONS
Packet Forwarding.
Richard Anderson Lecture 23 Network Flow
Lecture 22 Network Flow, Part 2
Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Maximum Flow Solutions
Maximum Flow Problem flow capacity Actual flow  capacity
Lecture 16 Maximum Matching
Edmonds-Karp Algorithm
Packet Scheduling/Arbitration in Virtual Output Queues and Others
Lecture 10 Network flow Max-flow and Min-cut Ford-Fulkerson method
Stability Analysis of MNCM Class of Algorithms and two more problems !
Problem Solving 4.
Balaji Prabhakar Departments of EE and CS Stanford University
Flow Networks and Bipartite Matching
Scheduling Crossbar Switches
Maximum Flow Neil Tang 4/8/2008
Lecture 22 Network Flow, Part 2
Maximum Bipartite Matching
Presentation transcript:

1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11

2 History 1. [Karol et al. 1987] Throughput limited to by head- of-line blocking for Bernoulli IID uniform traffic. 2. [Tamir 1989] Observed that with “Virtual Output Queues” (VOQs) Head-of-Line blocking is reduced and throughput goes up.

3 Basic Switch Model A 1 (n) S(n) N N L NN (n) A 1N (n) A 11 (n) L 11 (n) 11 A N (n) A NN (n) A N1 (n) D 1 (n) D N (n)

4 Some definitions 3. Queue occupancies: Occupancy L 11 (n) L NN (n)

5 Finding a maximum size match  How do we find the maximum size (weight) match? A B C D E F

6 Network flows and bipartite matching Finding a maximum size bipartite matching is equivalent to solving a network flow problem with capacities and flows of size 1. A1 Source s Sink t B C D E F

7 Network Flows Source s Sink t ac bd Let G = [V,E] be a directed graph with capacity cap(v,w) on edge [v,w]. A flow is an (integer) function, f, that is chosen for each edge so that We wish to maximize the flow allocation.

8 A maximum network flow example By inspection Source s Sink t ac bd Step 1: Source s Sink t ac bd 10, , , 10 Flow is of size 10

9 A maximum network flow example Source s Sink t ac bd 10, 10 10, 1 10, , 1 10, 1 10, 10 Step 2: Flow is of size 10+1 = 11 Source s Sink t ac bd 10, 10 10, 2 10, 9 1,1 10, 2 10, 10 Maximum flow: Flow is of size 10+2 = 12 Not obvious

10 Ford-Fulkerson method of augmenting paths 1. Set f(v,w) = -f(w,v) on all edges. 2. Define a Residual Graph, R, in which res(v,w) = cap(v,w) – f(v,w) 3. Find paths from s to t for which there is positive residue. 4. Increase the flow along the paths to augment them by the minimum residue along the path. 5. Keep augmenting paths until there are no more to augment.

11 Example of Residual Graph st ac bd 10, , , 10 Flow is of size 10 t ac bd s res(v,w) = cap(v,w) – f(v,w) Residual Graph, R Augmenting path

12 Example of Residual Graph st ac bd 10, 10 10, 1 10, , 1 10, 1 10, 10 Step 2: Flow is of size 10+1 = 11 st ac bd Residual Graph 9 9

13 Complexity of network flow problems  In general, it is possible to find a solution by considering at most VE paths, by picking shortest augmenting path first.  There are many variations, such as picking most augmenting path first.  Best Algorithm based on work by Dinic.  Complexity: O(  n m)

14 Finding a maximum size match  How do we find the maximum size (weight) match? A B C D E F

15 Network flows and bipartite matching Finding a maximum size bipartite matching is equivalent to solving a network flow problem with capacities and flows of size 1. A1 Source s Sink t B C D E F

16 Network flows and bipartite matching Ford-Fulkerson method A1 s t B C D E F Residual Graph for first three paths:

17 Network flows and bipartite matching A1 s t B C D E F Residual Graph for next two paths:

18 Network flows and bipartite matching A1 s t B C D E F Residual Graph for augmenting path:

19 Network flows and bipartite matching A1 s t B C D E F Residual Graph for last augmenting path: Note that the path augments the match: no input and output is removed from the match during the augmenting step.

20 Network flows and bipartite matching A1 s t B C D E F Maximum flow graph:

21 Network flows and bipartite matching A1 B C D E F Maximum Size Matching:

22 Complexity of Maximum Matchings  Maximum Size Matchings:  Algorithm by Dinic (~1970) O(n 1/2 m)  Maximum Weight Matchings (assignment problem)  Algorithm by Kuhn (1955) O(N 3 )  In general:  Hard to implement in hardware  Slooooow.

23 Another algorithm: Longest Port First (LPF)

24 LPF

25 Properties of LPF  LPF is stable for all admissible Bernoulli traffic.  An LPF match is a maximum size match.  How can this be stable?