Download - 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11
![Page 1: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/1.jpg)
1
Scheduling Crossbar Switches
Who do we chose to traverse the switch in the next time slot?
N N
1 1
![Page 2: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/2.jpg)
2
History1. [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.
%5822
![Page 3: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/3.jpg)
3
Basic Switch Model
A1(n)
S(n)
N NLNN(n)
A1N(n)
A11(n)L11(n)
1 1
AN(n)
ANN(n)
AN1(n)
D1(n)
DN(n)
![Page 4: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/4.jpg)
4
Some definitions
matrix. npermutatio a is and :where
:matrix Service 2.
".admissible" is traffic the say we If
where
:matrix Traffic 1.
SssS
nAE
ijij
jij
iij
ijijij
1,0],[
1,1
)]([:,
3. Queue occupancies:
Occupancy
L11(n) LNN(n)
![Page 5: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/5.jpg)
5
Finding a maximum size match
How do we find the maximum size (weight) match?
A
B
C
D
E
F
1
2
3
4
5
6
![Page 6: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/6.jpg)
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.
A 1
Sources
Sinkt
B
C
D
E
F
2
3
4
5
6
![Page 7: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/7.jpg)
7
Network Flows
Sources
Sinkt
a c
b d
10
10
10
1
1
1
10
10
• 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.
( , ), .( ) capf vv ww
![Page 8: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/8.jpg)
8
A maximum network flow example
By inspectionSource
sSink
t
a c
b d
10
10
10
1
1
1
10
10
Step 1:
Sources
Sinkt
a c
b d
10, 10
10
10, 10
1
1
1
10
10, 10
Flow is of size 10
![Page 9: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/9.jpg)
9
A maximum network flow example
Sources
Sinkt
a c
b d
10, 10
10, 1
10, 10
1
1
1, 1 10, 1
10, 10
Step 2:
Flow is of size 10+1 = 11
Sources
Sinkt
a c
b d
10, 10
10, 2
10, 9
1,1
1,1
1, 1 10, 2
10, 10
Maximum flow:
Flow is of size 10+2 = 12
Not obvious
![Page 10: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/10.jpg)
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.
![Page 11: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/11.jpg)
11
Example of Residual Graph
s t
a c
b d
10, 10
10
10, 10
1
1
1
10
10, 10
Flow is of size 10
t
a c
b d
10
10
10
1
1
1
10
10
s
res(v,w) = cap(v,w) – f(v,w) Residual Graph, R
Augmenting path
![Page 12: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/12.jpg)
12
Example of Residual Graph
s t
a c
b d
10, 10
10, 1
10, 10
1
1
1, 1 10, 1
10, 10
Step 2:
Flow is of size 10+1 = 11
s t
a c
b d
10
1
10
1
1
1
1
10
Residual Graph
9 9
![Page 13: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/13.jpg)
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.
![Page 14: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/14.jpg)
14
Finding a maximum size match
How do we find the maximum size (weight) match?
A
B
C
D
E
F
1
2
3
4
5
6
![Page 15: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/15.jpg)
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.
A 1
Sources
Sinkt
B
C
D
E
F
2
3
4
5
6
![Page 16: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/16.jpg)
16
Network flows and bipartite matchingFord-Fulkerson method
A 1
s t
B
C
D
E
F
2
3
4
5
6
Residual Graph for first three paths:
![Page 17: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/17.jpg)
17
Network flows and bipartite matching
A 1
s t
B
C
D
E
F
2
3
4
5
6
Residual Graph for next two paths:
![Page 18: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/18.jpg)
18
Network flows and bipartite matching
A 1
s t
B
C
D
E
F
2
3
4
5
6
Residual Graph for augmenting path:
![Page 19: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/19.jpg)
19
Network flows and bipartite matching
A 1
s t
B
C
D
E
F
2
3
4
5
6
Residual Graph for last augmenting path:
Note that the path augments the match: no input and outputis removed from the match during the augmenting step.
![Page 20: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/20.jpg)
20
Network flows and bipartite matching
A 1
s t
B
C
D
E
F
2
3
4
5
6
Maximum flow graph:
![Page 21: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/21.jpg)
21
Network flows and bipartite matching
A 1
B
C
D
E
F
2
3
4
5
6
Maximum Size Matching:
![Page 22: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/22.jpg)
22
Complexity of Maximum Matchings
Maximum SizeMatchings: Algorithm by Dinic O(N5/2)
Maximum Weight Matchings Algorithm by Kuhn O(N3)
In general: Hard to implement in hardware Slooooow.
![Page 23: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/23.jpg)
23
Outline Recap of LQF and proof of stability. OCF: Weight equals the age of a cell. Why do we need a weight to stabilize
the switch for non-uniform arrivals? Finding a maximum match.
Maximum network flow problems Maximum size/weight matchings as examples of
maximum network flows
LPF: Another algorithm.
![Page 24: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/24.jpg)
24
Another algorithm (LPF)
( ) ( ), ( ) 0( ) , ( ) ( ), ( ) ( ).
0,
LPF algorithm fi nds maximum weight matching, where weight:
if
else.
Give pref erence to edges that clear backlog at inputs a
j i ijij j ij i ij
i j
C n R n L nw n C n L n R n L n
I ntuition:
2
[ ( )]
2 1 1 0
1 2 0 1( 1) ( 1) ( ) ( ) ( ) ( ) 2 ,
1 0 2 1
0 1 1 2
nd outputs.
I t can be shown that f or LPF, [Mekkittikul]. Method:
where
ij
ijij
E L n
E L n TL n L n TL n L n L n N T
![Page 25: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/25.jpg)
25
LPF
( ) ( ) ( ) ( ),
max max .
I nteresting property of an LPF Match:
Proof (contradiction):
1. Property: The weight of the match
where
ij ij i jij i I j J
S n w n R n C n
A imum weight LPF match is also a imum size match
,
ˆ .
are the set of matched inputs and outputs.
2. Assume LPF Match is , and is smaller than maximum size match,
Start the Ford-Fulkerson algorithm with . I t can be augmented to
a match of the sam
I J
M M
M
ˆe size as . But Ford-Fulkerson never removes
matched inputs/ outputs when augmenting. But (f rom property above)
the augmented graph has greater LPF weight. Theref ore wasn't an
LPF match.
M
M
![Page 26: 1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11](https://reader035.vdocument.in/reader035/viewer/2022070308/551c012d550346ad4f8b4c28/html5/thumbnails/26.jpg)
26
Properties of LPF
LPF is stable for all admissible Bernoulli traffic.
An LPF match is a maximum size match. How can this be stable?