Outline Why Maximal and not Maximum v Definition

  • Slides: 29
Download presentation
Outline Why Maximal and not Maximum v Definition and properties of Maximal Match v

Outline Why Maximal and not Maximum v Definition and properties of Maximal Match v Parallel Iterative Matching (PIM) v i. SLIP v Wavefront Arbiter (WFA) v 1

Why doesn’t maximizing instantaneous throughput give 100% throughput for nonuniform traffic? Three possible matches,

Why doesn’t maximizing instantaneous throughput give 100% throughput for nonuniform traffic? Three possible matches, S(n): 2

Maximal Matching A maximal matching is one in which each edge is added one

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. v i. e. no augmenting paths allowed (they remove edges added earlier). v No input and output are left unnecessarily idle. v 3

Example of Maximal Size Matching A 1 A 1 B 2 B 2 C

Example of Maximal Size Matching A 1 A 1 B 2 B 2 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

Maximal Matchings In general, maximal matching is simpler to implement, and has a faster running time. v A maximal size matching is at least half the size of a maximum size matching. v A maximal weight matching is defined in the obvious way. v A maximal weight matching is at least half the weight of a maximum weight matching. v 5

Outline Definition and properties of Maximal Match v Parallel Iterative Matching (PIM) v i.

Outline Definition and properties of Maximal Match v Parallel Iterative Matching (PIM) v i. SLIP v Wavefront Arbiter (WFA) v 6

Iteration: #1 Parallel Iterative Matching uar selection 1 2 3 1 2 3 4

Iteration: #1 Parallel Iterative Matching uar selection 1 2 3 1 2 3 4 4 4 f 1: Requests f 2: Grant f 3: Accept/Match 1 2 #2 3 1 2 3 1 2 3 4 4 4 7

Parallel Iterative Matching Convergence Time Number of iterations to converge: with prob. 1 all

Parallel Iterative Matching Convergence Time 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 16 x 16 switch 9

Parallel Iterative Matching 16 x 16 switch 9

Parallel Iterative Matching PIM with a single iteration 10

Parallel Iterative Matching PIM with a single iteration 10

Parallel Iterative Matching PIM with 4 iterations 11

Parallel Iterative Matching PIM with 4 iterations 11

PIM Fairness Problems: (under inadmissible load ) 12

PIM Fairness Problems: (under inadmissible load ) 12

Outline Definition and properties of Maximal Match v Parallel Iterative Matching (PIM) v i.

Outline Definition and properties of Maximal Match v Parallel Iterative Matching (PIM) v i. SLIP v Wavefront Arbiter (WFA) v 13

i. SLIP Round-Robin Selection #1 1 2 3 1 2 3 4 4 4

i. SLIP Round-Robin Selection #1 1 2 3 1 2 3 4 4 4 F 1: Requests F 2: Grant F 3: Accept/Match 1 2 #2 3 1 2 3 1 2 3 4 4 4 14

SLIP vs. Round Robin 1. 2. 3. Request: each input send a request to

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

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

i. SLIP vs. Round Robin 1. 2. 3. Request: each input send a request

i. 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. in 1 st iteration Accept: chose the among the grants the one after the pointer and advance the pointer beyond only if matched in 1 st iteration. 17

why update pointers only in the 1 st round? v v assume all pointers

why update pointers only in the 1 st round? v v assume all pointers point at 1. time 1: Ø Ø v time 2 Ø v 1 st: 1 -1 is matched 2 nd: 2 -2 is matched 1 1 2 2 3 3 1 st: 1 -3 & 3 -2 are matched time 3: Ø Ø 1 st: 1 -1 is matched 2 nd: 2 -2 is matched 18

i. SLIP Properties Random under low load v TDM under high load v Lowest

i. SLIP Properties Random under low load v TDM under high load v Lowest priority to MRU v 1 iteration: fair to outputs v Converges in at most N iterations. On average < log 2 N v Implementation: N priority encoders v Up to 100% throughput for uniform i. i. d. traffic v 19

i. SLIP 16 x 16 switch 20

i. SLIP 16 x 16 switch 20

i. SLIP 21

i. SLIP 21

i. SLIP Match Size 22

i. SLIP Match Size 22

Programmable Priority Encoder N N i. SLIP Implementation 1 Grant 1 Accept log 2

Programmable Priority Encoder N N i. SLIP Implementation 1 Grant 1 Accept log 2 N 2 2 log 2 N Grant Accept State Decision N N Grant N Accept log 2 N 23

i. SLIP Variations v v L priority levels Ø replace each pointer by L

i. SLIP Variations v v L priority levels Ø replace each pointer by L pointers Ø threshold SLIP Weighted SLIP 24

Outline Definition and properties of Maximal Match v Parallel Iterative Matching (PIM) v i.

Outline Definition and properties of Maximal Match v Parallel Iterative Matching (PIM) v i. SLIP v Wavefront Arbiter (WFA) v 25

Wave Front Arbiter (Tamir) Requests Match 1 1 2 2 3 3 4 4

Wave Front Arbiter (Tamir) Requests Match 1 1 2 2 3 3 4 4 26

Wave Front Arbiter Requests Match 27

Wave Front Arbiter Requests Match 27

Wave Front Arbiter Implementation 1, 1 1, 2 1, 3 1, 4 2, 1

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 28

Wave Front Arbiter Wrapped WFA (WWFA) N steps instead of 2 N-1 Requests Match

Wave Front Arbiter Wrapped WFA (WWFA) N steps instead of 2 N-1 Requests Match 29