Scheduling Crossbar Switches

Slides:



Advertisements
Similar presentations
Maximum flow Main goals of the lecture:
Advertisements

EE384y: Packet Switch Architectures
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.
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 8 Network models.
CSE 421 Algorithms Richard Anderson Lecture 23 Network Flow Applications.
1 Augmenting Path Algorithm s t G: Flow value = 0 0 flow capacity.
1 Maximum Flow w s v u t z 3/33/3 1/91/9 1/11/1 3/33/3 4/74/7 4/64/6 3/53/5 1/11/1 3/53/5 2/22/2 
Nick McKeown Spring 2012 Maximum Matching Algorithms EE384x Packet Switch Architectures.
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.
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 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.
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.
1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11.
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).
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.
SNRC Meeting June 7 th, Crossbar Switch Scheduling Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
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.
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)
scheduling for local-area networks”
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
BIPARTITE GRAPHS AND ITS APPLICATIONS
Packet Forwarding.
Lectures on Network Flows
Richard Anderson Lecture 23 Network Flow
Maximum Flow 9/13/2018 6:12 PM Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015.
Lecture 22 Network Flow, Part 2
Max Flow min Cut.
Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Maximum Flow Solutions
Lecture 16 Maximum Matching
Edmonds-Karp Algorithm
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
CSE Algorithms Max Flow Problems 11/21/02 CSE Max Flow.
Packet Scheduling/Arbitration in Virtual Output Queues and Others
Lecture 10 Network flow Max-flow and Min-cut Ford-Fulkerson method
Outline Why Maximal and not Maximum
Stability Analysis of MNCM Class of Algorithms and two more problems !
Richard Anderson Lecture 21 Network Flow
Flow Networks General Characteristics Applications
Flow Networks and Bipartite Matching
Complexity of Ford-Fulkerson
Algorithms (2IL15) – Lecture 7
Network Flow CSE 373 Data Structures.
EE5900 Advanced Embedded System For Smart Infrastructure
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Lecture 21 Network Flow, Part 1
Maximum Flow Neil Tang 4/8/2008
Lecture 22 Network Flow, Part 2
Maximum Bipartite Matching
Richard Anderson Lecture 22 Network Flow
Presentation transcript:

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

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

Basic Switch Model S(n) 1 1 N N D1(n) A1(n) DN(n) AN(n) L11(n) A11(n) ANN(n) LNN(n)

Some definitions 3. Queue occupancies: Occupancy L11(n) LNN(n)

Finding a maximum size match B C D E F 1 2 3 4 5 6 How do we find the maximum size (weight) match?

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

Network Flows a c Source s Sink t b d 10 1 Source s Sink t b d 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.

A maximum network flow example By inspection 10 1 Source s Sink t b d Step 1: Source s Sink t a c b d 10, 10 10 1 Flow is of size 10

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

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

Example of Residual Graph c 10, 10 10, 10 1 s 10, 10 t 1 10 10 b d 1 Flow is of size 10 Residual Graph, R res(v,w) = cap(v,w) – f(v,w) a c 10 10 10 1 s t 1 10 10 b d 1 Augmenting path

Example of Residual Graph Step 2: a c 10, 10 s t 10, 10 1 10, 10 1 10, 1 b d 10, 1 1, 1 Flow is of size 10+1 = 11 Residual Graph a c 10 s t 10 10 1 1 1 1 b d 1 9 9

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)

Finding a maximum size match B C D E F 1 2 3 4 5 6 How do we find the maximum size (weight) match?

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

Network flows and bipartite matching Ford-Fulkerson method Residual Graph for first three paths: A 1 B 2 t s C 3 D 4 E 5 F 6

Network flows and bipartite matching Residual Graph for next two paths: A 1 B 2 t s C 3 D 4 E 5 F 6

Network flows and bipartite matching Residual Graph for augmenting path: A 1 B 2 t s C 3 D 4 E 5 F 6

Network flows and bipartite matching Residual Graph for last augmenting path: A 1 B 2 t s C 3 D 4 E 5 F 6 Note that the path augments the match: no input and output is removed from the match during the augmenting step.

Network flows and bipartite matching Maximum flow graph: A 1 B 2 t s C 3 D 4 E 5 F 6

Network flows and bipartite matching Maximum Size Matching: A 1 B 2 C 3 D 4 E 5 F 6

Complexity of Maximum Matchings Maximum Size Matchings: Algorithm by Dinic (~1970) O(n1/2m) Maximum Weight Matchings (assignment problem) Algorithm by Kuhn (1955) O(N3) In general: Hard to implement in hardware Slooooow.

Another algorithm: Longest Port First (LPF)

LPF

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