1 / 29

HEXA and bHEXA: Efficient Packet Processing through Advanced Data Structures

This presentation details HEXA (History-based Encoding, eXecution, and Addressing) and its bounded variant, bHEXA. It introduces their main concepts, including one-to-one mapping and update methods for fast memory consumption in packet processing. Experimental evaluations highlight the efficacy of HEXA for IP lookups and pattern matching, showing significant improvements over traditional binary tries. The methods discussed aim to optimize data structure usage for efficient routing and searching, making them vital for modern networking.

bond
Télécharger la présentation

HEXA and bHEXA: Efficient Packet Processing through Advanced Data Structures

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. HEXA: Compact Data Structuresor Faster Packet Processing Author: Sailesh Kumar, Jonathan Turner, Patrick Crowley, Michael Mitzenmacher. Publisher: ICNP 2007 Presenter: Yu-Ping Chiang Date: 2009/02/10

  2. Outline • HEXA (History-based Encoding, eXecution and Addressing) • Main idea & example • One-to-one mapping • Update method • bHEXA (Bounded HEXA ) • Main idea & example • Experimental Evaluation

  3. HEXA - Main idea & example • Standard representation: • Assume next hop information stored in shadow trie. • Fast memory consumption in this example: • 1(prefix flag) + 4(left child id) + 4(right child id) = 9 bits/node

  4. HEXA - Main idea & example • HEXA representation: • Using path as node id • Fast memory consumption in this example: • 1(prefix flag)+1(left child exist)+1(right child exist)= 3 bits/node

  5. HEXA - Main idea & example IP: _11010…. • Search operation Not prefix node & right child exist CINTINUE!!

  6. HEXA - Main idea & example IP: 11010…. • Search operation prefix node & right child exist CINTINUE!! (longest prefix next hop = P1)

  7. HEXA - Main idea & example IP: 11010…. • Search operation prefix node & left child not exist STOP!! (longest prefix next hop = P3)

  8. HEXA - One-to-one mapping • discriminator • c bits → at most memory location can choose • HEXA ID = discriminator + historical path • Information for binary trie: 1(prefix flag)+c(left child discriminator)+c(right child discriminator) = 2c+1 bits/node • Hash: • (Discriminator, Id padding zero, Length) • mod 9

  9. HEXA - Update method • Deletion: • Simply remove relevant node from hash table. • Insertion: • If corresponding position already taken →Find an augmenting path, and remap other nodes to other locations.

  10. Outline • HEXA (History-based Encoding, eXecution and Addressing) • Main idea & example • One-to-one mapping • Update method • bHEXA (Bounded HEXA ) • Main idea & example • Experimental Evaluation

  11. bHEXA - Main idea & example • Standard representation: • 1(match flag) + 3*4(node id) = 13 bits/node

  12. bHEXA - Main idea & example • bHEXA representation • Examine a variable but finite number of symbols in history to identify a node • k transition away from root →id up to k symbol • 1(match flag) + 3*2(id length) = 7 bits/node

  13. bHEXA - Main idea & example

  14. bHEXA - Main idea & example h = 1*1 = 1

  15. bHEXA - Main idea & example

  16. bHEXA - Main idea & example

  17. bHEXA - Main idea & example

  18. bHEXA - Main idea & example Pattern: _a b c a…… • Match operation ( 0*0 ) mod 10 = 0

  19. bHEXA - Main idea & example Pattern: ab c a…… • Match operation ( 1*1 ) mod 10= 1

  20. bHEXA - Main idea & example Pattern: a bc a…… • Match operation ( 1*1 + 2*2 ) mod 10 = 5

  21. bHEXA - Main idea & example Pattern: a b ca…… • Match operation ( 1*2 + 2*3 ) mod 10 = 8

  22. bHEXA • Practical consideration: long path with same symbol • Let length bits indicate superlinear increment of id length • Employ a small on-chip CAM to store – spill fraction.

  23. Outline • HEXA (History-based Encoding, eXecution and Addressing) • Main idea & example • One-to-one mapping • Update method • bHEXA (Bounded HEXA ) • Main idea & example • Experimental Evaluation

  24. Experimental Evaluation • For ip lookup - Binary trie

  25. Experimental Evaluation • For ip lookup - Multi-bit trie Improve only pointers to child to child’s discriminator. So less improve in large stride.

  26. Experimental Evaluation • For ip lookup - Incremental update

  27. Experimental Evaluation • For pattern match Cisco622 contains a string that repeat a same symbol 50 times.

  28. Experimental Evaluation • For pattern match

More Related