1 / 29

HEXA: Compact Data Structures or Faster Packet Processing

HEXA: Compact Data Structures or Faster Packet Processing. Author: Sailesh Kumar, Jonathan Turner, Patrick Crowley, Michael Mitzenmacher. Publisher: ICNP 2007 Presenter: Yu-Ping Chiang Date: 2009/02/10. Outline. HEXA (History-based Encoding, eXecution and Addressing)

bond
Download Presentation

HEXA: Compact Data Structures or Faster Packet Processing

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