improving matching algorithms for iq switches abhishek das john j kim
DESCRIPTION
Fluid model equations for switch Queue-lengths represented by ij (t) 1. ij (t) = ij (0) + A ij (t) - D ij (t) 0 2. ij (t) = ij (t) - D ij (t) 3. D ij (t) = ij m 1 { ij (t)>0} for any admissible load matrix, , (t) W * (using Birkhoff-von Neumann decomposition), where W * is the weight of Maximum Weight MatchingTRANSCRIPT
![Page 1: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/1.jpg)
Improving Matching algorithms for IQ switches
Abhishek DasJohn J Kim
![Page 2: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/2.jpg)
Motivation
Results known: 1. With speedup 2, OQ switch can be emulated [Shang-Tse
Chuang et al] 2. Maximum Weight Matching (MWM) provides 100%
throughput [McKeown et al]3. With speedup 2, any maximal matching can achieve 100%
throughput [Dai and Prabhakar]
What about maximal matching algorithms with weights within a factor of k of MWM (k-approximation)?
Is speedup s < 2 sufficient to guarantee stability?
![Page 3: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/3.jpg)
Fluid model equations for switch
Queue-lengths represented by ij(t)
1. ij(t) = ij(0) + Aij(t) - Dij(t) 0
2. ij (t) = ij(t) - Dij
(t)
3. Dij(t) = ij
m 1{ij(t)>0}
for any admissible load matrix , , (t) W* (using Birkhoff-von Neumann decomposition), where W* is the weight of Maximum Weight Matching
![Page 4: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/4.jpg)
K-approximation to MWM
Lyapunov function L(t) = (t), (t) L(t) = 2(t), (t) = 2[(t), (t) - D(t), (t)] 2[W* - D(t), (t)]
Using speedup s, D(t), (t) = s. ijm , (t)
L(t) 2[W* - s. ijm , (t)]
= 2[W* - s.w] (w is weight of the matching) 0 if W* s.w
Now for a k-approximation matching algorithm, k.w W*
If k s, we satisfy W* k.w s.w and achieve 100% throughput.
![Page 5: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/5.jpg)
K-approximation to MWM (contd.)
Greedy iLQF is 2-approximation– requires speedup s >= 2 (but so does any maximal
matching) Any other k-approximation to weighted
matching? Weighted matching algorithms use min-cost
max-flow algorithms Futile attempts at coming up with other
Lyapunov functions – Cij(n) = Xi(n) + Yj(n) - ij(n)
where Xi(n) = j ij(n) and Yj(n) = i ij(n)
![Page 6: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/6.jpg)
Why look at VOQ sizes?
Disappointed souls looking at the bigger picture!!
Weights are bad for hardware complexity– Requires multi-bit integer comparators
LPF is already stable without speedup LPF vs LQF(MWM)
– Ratio of matching weights vary from 1 (~70% load) to 20 (90% load)
![Page 7: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/7.jpg)
Matching size with speedup s
Maximum size matching is not stable – Requires speedup?
L(t) = (t), 1 L(t) = (t), 1 = (t), 1 - D(t), 1
(t), 1 N because iij 1 and jij
1 D(t), 1 ij
m , 1 since D ij(t) = ij
m 1{ij(t)>0} L(t) N - i|Mi|
– speedup s: s matchings – |M| is the size of the matching
0 if i|Mi| N, thus achieving 100% throughput.
– Note that its total load ((t), 1) and not N
![Page 8: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/8.jpg)
K-approximation vs Heuristics
Many approximate matching algorithms known (linear and poly-logarithmic)
Approximate matching algorithms compare to the maximum size matching (not to the load)
Heuristics to improve the matching size of practical iterative matching algorithms
– speedup
![Page 9: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/9.jpg)
Holi-PIM (or HIM)
Attempt to improve upon PIM by generating bigger size matching in each iteration
Observation: poor matching occurs in PIM when inputs receive multiple grants
Increase the size of matching by considering the number of requests from each input
– equivalent to considering the number of HOL packets or the “fanout” from each input
Similar to lonely output allocator (Interconnection Networks – Dally&Towles)
![Page 10: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/10.jpg)
HIM implementation
Requires log(N) control bits from each input
Weights are assigned based on the fanout of each input
How to break ties– Randomly – Round-robin manner
Weighted probability vs strict weights
![Page 11: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/11.jpg)
HIM1 vs PIM1 Matching Size
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
load
% o
f max
siz
e m
atch
pimhim
![Page 12: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/12.jpg)
HIM1 vs PIM1 Latency
0.01
0.1
1
10
100
1000
10000
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
load
late
ncy
PIM1
HIM1
![Page 13: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/13.jpg)
Problems with HIM
HIM performs better than PIM but still does not give 100% throughput
Fairness issue: HIM is not a fair algorithm as it will favor the shorter queues
iSLIP1 is known to give 100% throughput on uniform traffic and has simple hardware complexity
Can iSLIP take advantage of the HIM weights?
![Page 14: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/14.jpg)
iSLIP+HIM
Add the HIM weights to iSLIP The weight of each edge of the request is
determined by combining the iSLIP weights (priority pointers) and the HIM weights
At intermediate loads, HIM weight should improve the performance
At high load, the HIM weights should be identical and iSLIP should dominate
![Page 15: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/15.jpg)
iSLIP+HIM Size Matching
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
load
% o
f max
siz
e m
atch
islip1islip1-himislip1-him2
![Page 16: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/16.jpg)
iSLIP+HIM Latency
0.01
0.1
1
10
100
1000
10000
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
load
late
ncy
islip1
islip-him
islip-him2
![Page 17: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/17.jpg)
Non-uniform Traffic
iSLIP is known to behave poorly on non-uniform traffic pattern
HIM does not significantly improve on non-uniform as it is an attempt of maximum size matching, not maximum weight
![Page 18: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/18.jpg)
Non-uniform Traffic Results
0.01
0.1
1
10
100
1000
10000
100000
0 0.2 0.4 0.6 0.8 1
HIM
PIM
ISLIP
ISLIP-HIM
![Page 19: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/19.jpg)
Future Improvements
Incorporate weights into HIM– Have predetermined threshold on the size of the
VOQ and use them as priorities
![Page 20: Improving Matching algorithms for IQ switches Abhishek Das John J Kim](https://reader036.vdocument.in/reader036/viewer/2022082600/5a4d1b4f7f8b9ab0599a7293/html5/thumbnails/20.jpg)
Conclusions
Showed required stability conditions for matching algorithms (with and without weight)
Introduced and studied a new practical iterative matching algorithm: Holi-PIM under unform traffic