1 / 22

On Finding an Optimal TCAM Encoding Scheme for Packet Classification

On Finding an Optimal TCAM Encoding Scheme for Packet Classification. Ori Rottenstreich (Technion, Israel). Joint work with Isaac Keslassy (Technion, Israel) Avinatan Hassidim (Google Israel & Bar-Ilan Univ.) Haim Kaplan (Tel Aviv Univ.) Ely Porat (Bar-Ilan Univ.). Network Structure.

zalman
Télécharger la présentation

On Finding an Optimal TCAM Encoding Scheme for Packet Classification

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. On Finding an Optimal TCAM Encoding Scheme for Packet Classification Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) Avinatan Hassidim (Google Israel & Bar-Ilan Univ.) Haim Kaplan (Tel Aviv Univ.) Ely Porat (Bar-Ilan Univ.)

  2. Network Structure Accept?

  3. Packet Classification Forwarding Engine Packet Classification Policy Database (classifier) Rule Action ---- ---- ---- ---- ---- ---- Switch HEADER Action Incoming Packet

  4. TCAM Architecture 0 0 1 0 2 0 3 1 4 0 0 5 6 1 7 1 0 8 9 1 TCAM Array deny 001110111111 deny Each entry is a word in {0,1,}W 1000000110 accept 1001011001000 deny row 3 001110 accept 11100100 Encoder deny 111001001 deny 0011100 accept 1010 deny 11111111111 accept   Match lines Source Port 0011101000011100 Width W Packet Header

  5. Range Rules Range rule = rule that contains range field Usually source-port or destination-port How many entries are required to represent one range field?

  6. TCAM Encoding Example • Reducing number of TCAM entries by exploiting TCAM • properties • Example: R=[1,6] • Basic encoding • with 6 entries 000 001 010 011 100 101 110 111

  7. TCAM Encoding Example • Reducing number of TCAM entries by exploiting TCAM • properties • Example: R=[1,6] • Shorter encoding • with 4 entries 000 001 010 011 100 101 110 111

  8. TCAM Encoding Example • Reducing number of TCAM entries by exploiting TCAM • properties • Example: R=[1,6] • Improved encoding • with only 3 entries 000 001 010 011 100 101 110 111

  9. Past Work: Prefix Encoding • Definition: An encoding in which in all entries “*”-s appear only as a suffix • Example: Encoding of the range R = [0,2] • Property:For a general function F, it is easy to find an optimal prefix encoding • TCAM enables non-prefix encoding • Can we use this TCAM property to do better than past algorithms? • Prefix encoding Non-prefix encoding [Suri et al. ’03]

  10. Outline Introduction Optimal Encoding of Extremal Ranges Average Expansion of Extremal Ranges Bounds on the Worst-Case Expansion

  11. General Functions • Given a function F, we define • - The size of a smallest encoding of F. • - The size of a smallest prefix encoding of F. • Property:For a general function F, the equality • does not necessarily hold. • Example: Optimal prefix encoding • Optimal encoding 000 001 010 011

  12. Range Functions • Given a range R, does necessarily ? • Extremal ranges = Ranges that start or end a sub-tree (e.g. [0,2] or [4,6] in tree [0,7]) • Real life database: 97% of all rules are extremal ranges • Theorem:For an extremal range R, • Corollary: Finding an optimal encoding of extremal ranges is easy • Open Question:Non–extremal ranges? 000 001 010 011 100 101 110 111

  13. Optimal Encoding • Given a subtree T and a range R, we define • - The size of a smallest encoding of R∩T with a last entry of • - The size of a smallest encoding of R∩T with a last entry of • Example: If and then • and • Property: D

  14. Algorithm Illustration • Illustration of the algorithm for the extremal range R=[0,22] • Values are calculated recursively for T0,…,T5 • The range R can be encoded in entries: T0 :[22,22] TW=5:(3,4) 1 T4:(3,3) T1 :[22,23] 0 T3:(2,3) 1 T2 :(2,3) T2 :[20,23] 1 T1 :(2,2) 0 T0 :(1,2) 22 31 0 R = [0,22]

  15. Another Way to Look at it… • For simplicity, let’s focus on the simple extremal ranges [0,y] TW=5:(3,4) 1 T4:(3,3) 0 0 0 1 0 T3:(2,3) 1 start T2 :(2,3) A (a,a+1) B (b,b) C (c+1,c) 1 T1 :(2,2) 0 T0 :(1,2) 1 1 0 22 31 Deterministic Finite Automaton (DFA) R = [0,22]=[00000,10110]

  16. Another Way to Look at it… • For simplicity, let’s focus on the simple extremal ranges [0,y] • Theorem: For a range , let be the number of blue transitions of the DFA in the processing of . • Then, . start 0 0 1 0 A (a,a+1) B (b,b) C (c+1,c) 1 1 Deterministic Finite Automaton (DFA)

  17. Another Way to Look at it… • For simplicity, let’s focus on the simple extremal ranges [0,y] • Theorem: For a range , let be the number of blue transitions of the DFA in the processing of . • Then, . • Corollary:is affected by the average number of blue transitions (among the first W transitions) in the Markov Chain derived from the DFA. 1/2 1/2 1/2 A (a,a+1) B (b,b) C (c+1,c) 1/2 start 0 0 1 0 1/2 1/2 A (a,a+1) B (b,b) C (c+1,c) Corresponding Markov Chain 1 1 Deterministic Finite Automaton (DFA)

  18. Average Expansion of Simple Extremal Ranges • Theorem: The average range expansion of simple extremal ranges [0,y] satisfies: • Corollary:

  19. Outline Introduction Optimal Encoding of Extremal Ranges Average Expansion of Extremal Ranges Bounds on the Worst-Case Expansion

  20. Bounds on the Worst-Case Expansion - Worst-case expansion over all ranges of W bits: = Optimality over all coding schemes for 1-D ranges = Optimality over all coding schemes for 2-D ranges

  21. Concluding Remarks • Optimal encoding of extremal ranges • Formula for the average range expansion of simple extremal ranges • Tight worst-case bounds • r(W) (1-D ranges, all coding schemes) • r2(W) (2-D ranges, all coding schemes)

  22. Thank You

More Related