On Adding Bloom Filters to Longest Prefix Matching Algorithms

advertisement
1
On Adding Bloom Filters to Longest
Prefix Matching Algorithms
Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park
Publisher: IEEE TRANSACTIONS ON COMPUTERS
Presenter: Yuen-Shuo Li
Date: 2012/09/17
Outline

Idea

Bloom Filter

Parallel Multiple-Hashing

Binary Search on Trie Levels

Performance

Conclusion
2
Idea
3
Bloom Filter(1/4)

used to test whether an element is a member of a set

have a strong space and time advantage

Elements can be added to the set, but not removed
4
FAST!
Bloom Filter(2/4)

False positives retrieval results are possible.

But false negatives are not.
5
positive may be wrong!
Bloom Filter(3/4)

a bit-vector

multiple hash function
6
Bloom Filter(4/4)
7
It is important to properly control the rate of the false positive in designing a
Bloom filter.
𝑘=
𝑚
2 log2 𝑛
ln 2
k: hash functions
m: array size
n: element size
Parallel Multiple-Hashing(1/3)

parallel hashing for each prefix length

use multiple-hash functions to reduce
collisions
8
Parallel Multiple-Hashing(2/3)
Adding a Bloom Filter

to reduce the implementation complexity
9
Parallel Multiple-Hashing(3/3)
10
reduce the implementation complexity
parallel is not necessary since filter filters out the length of the input
Binary Search on Trie Levels(1/4)

separates the binary trie, according to the level of the trie

markers are pre-computed in the internal nodes
11
Binary Search on Trie Levels(2/4)

12
for a 6-bit input 111000
P5
done!
not match
Binary Search on Trie Levels(3/4)
Bloom filter

filters out each input that does not have a node in the binary trie
13
Binary Search on Trie Levels(4/4)
Leaf-Pushed Trie

uses leaf-pushing to make every prefix disjoint

finishes a search when a match to a prefix occurs
14
Performance
search performance with and without Bloom filter for PMH
15
Performance
search performance with and without Bloom filter for W-BSL
16
Performance
search performance with and without Bloom filter for L-BSL
17
Conclusion
Bloom filter is a simple but extremely powerful data structure that will
improve the performance.
18
19
Thanks
Download