280 likes | 386 Views
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):.
E N D
Outline • Why Maximal and not Maximum • Definition and properties of Maximal Match • Parallel Iterative Matching (PIM) • iSLIP • Wavefront Arbiter (WFA)
Why doesn’t maximizing instantaneous throughput give 100% throughput for non-uniform traffic? Three possible matches, S(n):
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.
A 1 A 1 A 1 2 B 2 B 2 B 3 C 3 C 3 C 4 D 4 4 D D 5 E 5 5 E E 6 F 6 6 F F Example of Maximal Size Matching Maximal Size Matching Maximum Size Matching
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.
Outline • Definition and properties of Maximal Match • Parallel Iterative Matching (PIM) • iSLIP • Wavefront Arbiter (WFA)
Iteration: 1 1 1 1 2 2 2 2 #1 1 1 3 3 3 3 2 2 4 4 4 4 f2: Grant f3: Accept/Match 3 3 1 1 1 1 1 1 4 4 2 2 2 2 2 2 #2 3 3 3 3 3 3 4 4 4 4 4 4 Parallel Iterative Matching uar selection uar selection f1: Requests
with prob. 1 all n inputs are resolved • grant is accepted – all are resolved • grant rejected – n-k are resolved Parallel Iterative MatchingConvergence Time Number of iterations to converge: Number of iterations to converge: k inputs with no other grant Q n-k inputs with grants from others At most k(1-k/n) are unresolved n/4
Parallel Iterative Matching PIM with a single iteration
Parallel Iterative Matching PIM with 4 iterations
PIM Fairness Problems: (under inadmissible load )
Outline • Definition and properties of Maximal Match • Parallel Iterative Matching (PIM) • iSLIP • Wavefront Arbiter (WFA)
1 1 1 1 2 2 2 2 #1 1 1 3 3 3 3 2 2 4 4 4 4 F2: Grant F3: Accept/Match 3 3 1 1 1 1 1 1 4 4 2 2 2 2 2 2 #2 3 3 3 3 3 3 4 4 4 4 4 4 iSLIP Round-Robin Selection Round-Robin Selection F1: Requests
SLIP vs. Round Robin • 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.
SLIP vs. Round Robin • 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.
iSLIP vs. Round Robin • 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 only if matchedin 1st iteration. in 1st iteration
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 1 2 2 3 3
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
iSLIPImplementation Programmable Priority Encoder 1 State 1 log2N Decision N Grant Accept 2 2 N Grant Accept log2N N N Grant Accept log2N N
iSLIP Variations • L priority levels • replace each pointer by L pointers • threshold SLIP • Weighted SLIP
Outline • Definition and properties of Maximal Match • Parallel Iterative Matching (PIM) • iSLIP • Wavefront Arbiter (WFA)
Wave Front Arbiter(Tamir) Requests Match 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4
Wave Front Arbiter Requests Match
2,4 1,4 4,4 3,4 4,3 4,2 4,1 3,3 3,2 3,1 2,2 2,1 1,3 1,2 1,1 2,3 Wave Front ArbiterImplementation Simple combinational logic blocks
Wave Front ArbiterWrapped WFA (WWFA) N steps instead of 2N-1 Match Requests