1 hexa: compact data structures or faster packet processing author: sailesh kumar, jonathan turner,...
Post on 21-Dec-2015
213 views
TRANSCRIPT
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
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
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
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
26
Experimental Evaluation For ip lookup - Multi-bit trie
Improve only pointers to child to child’s discriminator.So less improve in large stride.
28
Experimental Evaluation For pattern match
Cisco622 contains a string that repeat a same symbol 50 times.