Post on 30-Dec-2015
description
1
Outline
Why Maximal and not Maximum Definition and properties of Maximal
Match Parallel Iterative Matching (PIM) iSLIP Wavefront Arbiter (WFA)
2
Why doesn’t maximizing instantaneous throughput give 100% throughput for non-
uniform traffic?
2/1
2/1
2/1
32
21
1211Three possiblematches, S(n):
100%). t(throughpu stable not is switch 0.0358 if so And
But
most at is served is 1 input which at rate total The
. w.p. serviced is 1 Input ) w.p.( arrivals have
both and and , time at that Assume
.)21(31121
.)21(311
)21(11)21(32
32)21(
)()(0)(0)(
21
2
22
2
32211211
-δ// - -λ
//
/-//
/-δ/
nQnQ n, L nn, L
3
Maximal Matching
A maximal matching is one in which each edge is added one at a time, and is not later removed from the matching.
i.e. no augmenting paths allowed (they remove edges added earlier).
No input and output are left unnecessarily idle.
4
Example of Maximal Size Matching
A 1
B
C
D
E
F
2
3
4
5
6
A 1
B
C
D
E
F
2
3
4
5
6
Maximal Size Matching
Maximum Size Matching
A
B
C
D
E
F
1
2
3
4
5
6
5
Maximal Matchings
In general, maximal matching is simpler to implement, and has a faster running time.
A maximal size matching is at least half the size of a maximum size matching.
A maximal weight matching is defined in the obvious way.
A maximal weight matching is at least half the weight of a maximum weight matching.
6
Outline
Definition and properties of Maximal Match
Parallel Iterative Matching (PIM) iSLIP Wavefront Arbiter (WFA)
7
Parallel Iterative Matching
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1: Requests
1
2
3
4
1
2
3
42: Grant
1
2
3
4
1
2
3
43: Accept/Match
uar selection
1
2
3
4
1
2
3
4
uar selection
1
2
3
4
1
2
3
4
#1
#2
Itera
tion
:
8
Parallel Iterative MatchingConvergence Time
E C Nlog
E Ui N2
4i------- C # of iterations required to resolve connections=
N # of ports =
Ui # of unresolved connections after iteration i=
Number of iterations to converge:
Number of iterations to converge:
Q
k inputs with no other grant
n-k inputs with grants from others
with prob. 1 all n inputs are resolved
A. grant is accepted – all are resolvedB. grant rejected – n-k are resolved
At most (n-k)(1-k/n) are unresolved n/4
13
Outline
Definition and properties of Maximal Match
Parallel Iterative Matching (PIM) iSLIP Wavefront Arbiter (WFA)
14
iSLIP
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1: Requests
1
2
3
4
1
2
3
42: Grant
1
2
3
4
1
2
3
43: Accept/Match
1
2
3
4
1
2
3
4
#1
#2
Round-Robin Selection
1
2
3
4
1
2
3
4
Round-Robin Selection
15
SLIP vs. Round Robin
1. Request: each input send a request to every output i, |VOQi|>0
2. Grant: chose a request next in RR order and advance pointer beyond it.
3. Accept:chose the among the grants the one after the pointer and advance the pointer beyond.
16
SLIP vs. Round Robin
1. Request: each input send a request to every output i, |VOQi|>0
2. Grant: chose a request next in RR order and advance pointer beyond it if accepted.
3. Accept:chose the among the grants the one after the pointer and advance the pointer beyond.
17
iSLIP vs. Round Robin
1. Request: each input send a request to every output i, |VOQi|>0
2. Grant: chose a request next in RR order and advance pointer beyond it if accepted.
3. Accept:chose the among the grants the one after the pointer and advance the pointer beyond only if matched in 1st iteration.
in 1st iteration
18
why update pointers only in the 1st round?
assume all pointers point at 1.
time 1: 1st: 1-1 is matched 2nd: 2-2 is matched
time 2 1st: 1-3 & 3-2 are
matched
time 3: 1st: 1-1 is matched 2nd: 2-2 is matched
1
3
2 2
3
1
19
iSLIPProperties
Random under low load TDM under high load Lowest priority to MRU 1 iteration: fair to outputs Converges in at most N iterations. On
average < log2N Implementation: N priority encoders Up to 100% throughput for uniform i.i.d.
traffic
22
iSLIPImplementation
Grant
Grant
Grant
Accept
Accept
Accept
1
2
N
1
2
N
State
N
N
N
Decision
log2N
log2N
log2N
ProgrammablePriority Encoder
23
iSLIP Variations
L priority levels replace each pointer by L pointers
threshold SLIP
Weighted SLIP
24
Outline
Definition and properties of Maximal Match
Parallel Iterative Matching (PIM) iSLIP Wavefront Arbiter (WFA)
27
Wave Front ArbiterImplementation
1,1 1,2 1,3 1,4
2,1 2,2 2,3 2,4
3,1 3,2 3,3 3,4
4,1 4,2 4,3 4,4
Simple combinational logic blocks