A Memory-Efficient Hashing by Multi-Predicate Bloom Filters for Packet Classification Author: Heeyeol Yu; Mahapatra, R.; Publisher: IEEE INFOCOM 2008 Presenter: Yu-Ping Chiang Date: 2008/12/17
Outline Related Works – Basic Bloom filter Multi-predicate Bloom-filter Hash Table (MBHT) Benefits Architecture Insert Query Delete Analysis and Simulation On/Off-chip memory usage Average access of search URL switching
Related Works – Basic Bloom filter set S = n elements. represented in m bits array, initially set to 0. using k independent hash functions mapping. …… ………………… …… 1 2 3 m-1
Related Works – Basic Bloom filter The probability that a bit is 0 Probability of false-positive In requirement of by [17] A. Broder and M. Mitzenmacher, “Network Applications of Bloom Filters: A Survey,” pp. 485–509, 2002. [Online]. Available:citeseer.ist.psu.edu/broder02network.html
Related Works – Basic Bloom filter Linear property Given f, n is linearly proportionate to m. Reverse Exponential Property Given n, m is exponential effect on f.
Outline Related Works – Basic Bloom filter Multi-predicate Bloom-filter Hash Table (MBHT) Benefits Architecture Insert Query Delete Analysis and Simulation On/Off-chip memory usage Average access of search URL switching
MBHT - Benefits On-chip Off-chip Reduce memory size in base- number system by x times compares to that of base- number system. Insert and delete operations are done in constant time in parallel. Off-chip Saves memory by removing linked list mechanism. Does not save the duplicate items.
MBHT - Architecture 01
MBHT - Insert Partition address space. n elements Base-b number system, → digits Address with r digits of x bits : is covered by
MBHT - Insert
MBHT - Insert Transform to base-4 number system Fewer columns in each address space. Not affect addressing off-chip memory.
MBHT - Insert Memory usage : .
MBHT - Insert Memory change rate with f and n. →larger base- is advantageous because x times on-chip memory saving. (hard in real hardware.)
MBHT - Insert Algorithm : → Θ(1) → Θ(1) Execute each column Set bloom filter → Θ(1)
MBHT - Query Algorithm Consider only on-chip operation. Need to be called twice on l-MBHT and r-MBHT Θ(1)
MBHT - Delete Algorithm Need to be called twice on l-MBHT and r-MBHT Θ(1)
Outline Related Works – Basic Bloom filter Multi-predicate Bloom-filter Hash Table (MBHT) Benefits Architecture Insert Query Delete Analysis and Simulation On/Off-chip memory usage Average access of search URL switching
On/Off-chip memory usage R = # of layers B = # of bits in one layer (in FHT memory consumption, 4 is bits for counter.) Memory efficiency ratio :
On/Off-chip memory usage Better memory efficiency ratio begins at b =
Average access of search The lower successful search rate, the better access time performance
URL switching on-chip memory reduction 1.7 times to LHT 2 times to FHT AAS* = average access for a successful search