hexa: compact data structures or faster packet processing
DESCRIPTION
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) - PowerPoint PPT PresentationTRANSCRIPT
1
HEXA: Compact Data Structuresor Faster Packet Processing
Author: Sailesh Kumar, Jonathan Turner, Patrick Crowley, Michael Mitzenmacher.
Publisher: ICNP 2007Presenter: Yu-Ping ChiangDate: 2009/02/10
2
Outline HEXA
(History-based Encoding, eXecution and Addressing)Main idea & exampleOne-to-one mappingUpdate 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 Search operation
IP: _11010….
Not prefix node & right child existCINTINUE!!
6
HEXA - Main idea & example Search operation
IP: 11010….
prefix node & right child existCINTINUE!!
(longest prefix next hop = P1)
7
HEXA - Main idea & example Search operation
IP: 11010….
prefix node & left child not existSTOP!!
(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
12 c
9
10
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.
11
Outline HEXA
(History-based Encoding, eXecution and Addressing)Main idea & exampleOne-to-one mappingUpdate method
bHEXA (Bounded HEXA )Main idea & example
Experimental Evaluation
12
bHEXA - Main idea & example Standard representation:
1(match flag) + 3*4(node id) = 13 bits/node
13
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
14
bHEXA - Main idea & example
15
bHEXA - Main idea & example
h = 1*1 = 1
16
bHEXA - Main idea & example
17
bHEXA - Main idea & example
18
bHEXA - Main idea & example
19
bHEXA - Main idea & example
Pattern: _ a b c a……
Match operation
( 0*0 ) mod 10 = 0
20
bHEXA - Main idea & example
Pattern: a b c a……
Match operation
( 1*1 ) mod 10 = 1
21
bHEXA - Main idea & example
Pattern: a b c a……
Match operation
( 1*1 + 2*2 ) mod 10 = 5
22
bHEXA - Main idea & example
Pattern: a b c a……
Match operation
( 1*2 + 2*3 ) mod 10 = 8
23
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.
24
Outline HEXA
(History-based Encoding, eXecution and Addressing)Main idea & exampleOne-to-one mappingUpdate method
bHEXA (Bounded HEXA )Main idea & example
Experimental Evaluation
25
Experimental Evaluation
For ip lookup - Binary trie
26
Experimental Evaluation For ip lookup - Multi-bit trie
Improve only pointers to child to child’s discriminator.So less improve in large stride.
27
Experimental Evaluation For ip lookup - Incremental update
28
Experimental Evaluation For pattern match
Cisco622 contains a string that repeat a same symbol 50 times.
29
Experimental Evaluation For pattern match