CS244a: An Introduction to Computer Networks

Download Report

Transcript CS244a: An Introduction to Computer Networks

Outline
Why Maximal and not Maximum
 Definition and properties of Maximal Match
 Parallel Iterative Matching (PIM)
 iSLIP
 Wavefront Arbiter (WFA)

1
Why doesn’t maximizing instantaneous
throughput give 100% throughput for nonuniform traffic?
 11   12  1 / 2  
Three possible
matches, S(n):
 21  1 / 2  
 32  1 / 2  
Assume that at time n, L11(n)  0 , L12(n)  0, and Q21 (n) and Q32 (n) both
have arrivals(w.p. (1/ 2-δ ) 2 )  Input 1 is servicedw.p. 2 / 3.

 
The total rate at whi chinput1 is served is at most 2 / 3  (1/ 2- ) 2  1 1  (1/ 2   ) 2

 1  1/ 3  (1/ 2   ) 2 .
But λ1  1-2  1 - 1/ 3  (1/ 2 -δ ) 2 .
And so if   0.0358switch is not stable (throughput  100%).
2
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.

3
Example of Maximal Size Matching
A
1
A
1
A
1
B
2
B
2
B
2
C
3
C
3
3
D
4
C
D
4
4
E
5
D
5
F
F
6
E
5
6
E
F
6
Maximal
Size Matching
Maximum
Size Matching
4
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.

5
Outline
Definition and properties of Maximal Match
 Parallel Iterative Matching (PIM)
 iSLIP
 Wavefront Arbiter (WFA)

6
Parallel Iterative
Matching
uar selection
uar selection
#1
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
4
4
4
4
4
4
f1: Requests
f2: Grant
f3: Accept/Match
1
2
#2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
4
4
4
4
4
4
7
Parallel Iterative Matching
Convergence Time
Number of iterations to converge:
N2
E U i   ------4i
E C   log N
C = # of iterations required to resolve connections
N = # of ports
U i = # of unresolved connections after iteration i
Number of iterations to converge:
with prob. 1 all n inputs are resolved
A.
B.
grant is accepted – all are resolved
grant rejected – n-k are resolved
k inputs with no
other grant
Q
n-k inputs with
grants from others
At most k(1-k/n) are unresolved  n/4
8
Parallel Iterative Matching
9
Parallel Iterative Matching
PIM with a
single iteration
10
Parallel Iterative Matching
PIM with 4
iterations
11
PIM Fairness Problems:
(under inadmissible load )
 11   12  1
 11  1 / 4
 12  3 / 4
 21  1
 21  3 / 4
12
Outline
Definition and properties of Maximal Match
 Parallel Iterative Matching (PIM)
 iSLIP
 Wavefront Arbiter (WFA)

13
iSLIP
Round-Robin Selection
Round-Robin Selection
#1
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
4
4
4
4
4
4
F1: Requests
F2: Grant
F3: Accept/Match
1
2
#2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
4
4
4
4
4
4
14
SLIP vs. Round Robin
1.
2.
3.
Request: each input send a request to
every output i, |VOQi|>0
Grant: chose a request next in RR order
and advance pointer beyond it.
Accept:chose the among the grants the
one after the pointer and advance the
pointer beyond.
15
SLIP vs. Round Robin
1.
2.
3.
Request: each input send a request to
every output i, |VOQi|>0
Grant: chose a request next in RR order
and advance pointer beyond it if accepted.
Accept:chose the among the grants the
one after the pointer and advance the
pointer beyond.
16
iSLIP vs. Round Robin
1.
2.
3.
Request: each input send a request to
every output i, |VOQi|>0
Grant: chose a request next in RR order
and advance pointer beyond it if accepted.
in 1st iteration
Accept:chose the among the grants the
one after the pointer and advance the
pointer beyond only if matched in 1st
iteration.
17
why update pointers only in the
1st round?


assume all pointers
point at 1.
time 1:



time 2


1st: 1-1 is matched
2nd: 2-2 is matched
1
1
2
2
3
3
1st: 1-3 & 3-2 are matched
time 3:


1st: 1-1 is matched
2nd: 2-2 is matched
18
iSLIP
Properties
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

19
iSLIP
20
iSLIP
21
Programmable
Priority Encoder
N
N
iSLIP
Implementation
1
1
Grant
Accept
2
2
Grant
Accept
log2N
log2N
State
Decision
N
N
Grant
N
Accept
log2N
22
iSLIP Variations


L priority levels

replace each pointer by L pointers

threshold SLIP
Weighted SLIP
23
Outline
Definition and properties of Maximal Match
 Parallel Iterative Matching (PIM)
 iSLIP
 Wavefront Arbiter (WFA)

24
Wave Front Arbiter
(Tamir)
Requests
Match
1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
4
25
Wave Front Arbiter
Requests
Match
26
Wave Front Arbiter
Implementation
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
27
Wave Front Arbiter
Wrapped WFA (WWFA)
N steps instead of
2N-1
Requests
Match
28