outline
DESCRIPTION
Outline. Why Maximal and not Maximum Definition and properties of Maximal Match Parallel Iterative Matching (PIM) i SLIP Wavefront Arbiter (WFA). Why doesn’t maximizing instantaneous throughput give 100% throughput for non-uniform traffic?. Three possible matches, S (n):. - PowerPoint PPT PresentationTRANSCRIPT
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 U i N2
4i------- C # of iterations required to resolve connections=
N # of ports =
U i # 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 k(1-k/n) are unresolved n/4
9
16x16 switch
Parallel Iterative Matching
10
Parallel Iterative Matching
PIM with a single iteration
11
Parallel Iterative Matching
PIM with 4 iterations
12
PIM Fairness Problems:(under inadmissible load )
1
1
21
1211
4/3
4/3
4/1
21
12
11
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
20
16x16 switch
iSLIP
21
iSLIP
iSLIP Match Size
22
23
iSLIPImplementation
Grant
Grant
Grant
Accept
Accept
Accept
1
2
N
1
2
N
State
N
N
N
Decision
log2N
log2N
log2N
ProgrammablePriority Encoder
24
iSLIP Variations
L priority levels replace each pointer by L pointers
threshold SLIP
Weighted SLIP
25
Outline
Definition and properties of Maximal Match
Parallel Iterative Matching (PIM) iSLIP Wavefront Arbiter (WFA)
26
Wave Front Arbiter(Tamir)
Requests Match
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
27
Wave Front Arbiter
Requests Match
28
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
29
Wave Front ArbiterWrapped WFA (WWFA)
Requests Match
N steps instead of2N-1