Fast and deterministic hash table lookup using discriminative bloom filters
NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters
-
Upload
giuseppe-bishop -
Category
Documents
-
view
32 -
download
1
description
Transcript of NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters
![Page 1: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/1.jpg)
1
NameFilter: Achieving fast name lookup with low memory
cost via applying two-stage Bloom filters
Authors: Yi Wang, Tian Pan, Zhian Mi, Huichen Dai, Xiaoyu Guo, Ting Zhang, Bin Liu, and Qunfeng Dong
Publisher: INFOCOM 2013 mini
Presenter: Chai-Yi Chu
Date: 2013/04/24
![Page 2: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/2.jpg)
2
Introduction Architecture◦Bloom filter and Hash table◦Replace Hash table to Bloom filter◦Merged Bloom filter◦Update
Experimental Evaluation
Outline
![Page 3: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/3.jpg)
3
A two-stage Bloom filter-based scheme for Named Data Networking name lookup.
The first stage determines the length of a name prefix, and the second stage looks up the prefix in a narrowed group of Bloom filters based on the results from the first stage.
Introduction
![Page 4: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/4.jpg)
4
Bloom filter and Hash table1. Name prefixes are thus classified into different subsets
according to their prefix length, and each subset is organized has a hash table.
2. The hash table stores the first name prefix corresponding to the hash value with other conflicted name prefixes chained downwards.
Architecture
![Page 5: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/5.jpg)
5
Replace Hash table to Bloom filter◦Bloom filters could be used as classifiers for name prefixes
to the same outgoing ports. The number of required Bloom filters in the second stage is
equal to the number of router’s ports.
![Page 6: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/6.jpg)
6
![Page 7: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/7.jpg)
7
Merged Bloom filter◦Set the Bloom filters to be equal size and apply the same
group of hash functions to all the 𝑁 Bloom filters.◦Combines the 𝑁 Bloom filters bound to 𝑁 forwarding ports,
with 𝑁 bits in the same location aggregated into one bit string.◦ From the most significant bit to the least significant bit, the -𝑁
th bit store the corresponding hash results from the -th 𝑁Bloom filter and the remaining unused bits are padded with 0.
![Page 8: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/8.jpg)
8
◦ There are 𝑘 hash computations required when a prefix looks for its forwarding port by obtaining the 𝑘 bit strings corresponding to the 𝑘 hash functions with an ′AND′ operation finally implemented on them. The locations of ′1′ in the results represent the final forwarding decision.
◦ For example, in the Figure 2, the bit strings are 11...1, 11...1, 10...0, 11...1, and the ′AND′ result of them is 10...0, which denotes that the forwarding port is 1.
![Page 9: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/9.jpg)
9
![Page 10: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/10.jpg)
Prefix table◦ 3M : 2,763,780 entries ◦ 10M: 10,000,000 entries – crawled from Internet
10
Experimental Evaluation
![Page 11: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/11.jpg)
11
Name Trace◦Two types of name traces are generated to measure the
lookup performance.1. Average workload: randomly selected from prefix tables.2. Heavy workload: randomly chosen from the top 10% longest
prefixes in the prefix tables.
![Page 12: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/12.jpg)
12
Computational platform
![Page 13: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/13.jpg)
13
(Million Search Per Second)
![Page 14: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/14.jpg)
14
![Page 15: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/15.jpg)
15
![Page 16: NameFilter : Achieving fast name lookup with low memory cost via applying two-stage Bloom filters](https://reader030.fdocuments.net/reader030/viewer/2022033021/56812a46550346895d8d7f97/html5/thumbnails/16.jpg)
16