On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara...

19
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 1

Transcript of On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara...

Page 1: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

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

Page 2: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

2Outline

Idea

Bloom Filter

Parallel Multiple-Hashing

Binary Search on Trie Levels

Performance

Conclusion

Page 3: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

3Idea

Page 4: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

4Bloom 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

FAST!

Page 5: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

5Bloom Filter(2/4)

False positives retrieval results are possible.

But false negatives are not.

positive may be wrong!

Page 6: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

6Bloom Filter(3/4)

a bit-vector multiple hash function

Page 7: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

7Bloom Filter(4/4)

It is important to properly control the rate of the false positive in designing a Bloom filter.

k: hash functionsm: array sizen: element size

𝑘=𝑚

2⌈ log2𝑛⌉ln 2

Page 8: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

8Parallel Multiple-Hashing(1/3)

parallel hashing for each prefix length

use multiple-hash functions to reduce collisions

Page 9: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

9Parallel Multiple-Hashing(2/3)

Adding a Bloom Filter

to reduce the implementation complexity

Page 10: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

10

reduce the implementation complexity

Parallel Multiple-Hashing(3/3)

parallel is not necessary since filter filters out the length of the input

Page 11: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

11Binary 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

Page 12: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

12Binary Search on Trie Levels(2/4)

for a 6-bit input 111000

P5

not matchdone!

Page 13: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

13Binary Search on Trie Levels(3/4)

Bloom filter filters out each input that does not have a node in the binary

trie

Page 14: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

14Binary 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

Page 15: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

15Performance

search performance with and without Bloom filter for PMH

Page 16: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

16Performance

search performance with and without Bloom filter for W-BSL

Page 17: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

17Performance

search performance with and without Bloom filter for L-BSL

Page 18: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

18Conclusion

Bloom filter is a simple but extremely powerful data structure that will improve the performance.

Page 19: On Adding Bloom Filters to Longest Prefix Matching Algorithms Author: Hyesook Lim, Kyuhee Lim, Nara Lee, and Kyong-hye Park Publisher: IEEE TRANSACTIONS.

19

Thanks