improving matching algorithms for iq switches abhishek das john j kim

20
Improving Matching algorithms for IQ switches Abhishek Das John J Kim

Upload: lewis-simpson

Post on 18-Jan-2018

216 views

Category:

Documents


0 download

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 Matching

TRANSCRIPT

Page 1: Improving Matching algorithms for IQ switches Abhishek Das John J Kim

Improving Matching algorithms for IQ switches

Abhishek DasJohn J Kim

Page 2: Improving Matching algorithms for IQ switches Abhishek Das John J Kim

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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