A Case for Partitioned Bloom Filters

by   Paulo Sergio Almeida, et al.

In a partitioned Bloom Filter the m bit vector is split into k disjoint m/k sized parts, one per hash function. Contrary to hardware designs, where they prevail, software implementations mostly adopt standard Bloom filters, considering partitioned filters slightly worse, due to the slightly larger false positive rate (FPR). In this paper, by performing an in-depth analysis, first we show that the FPR advantage of standard Bloom filters is smaller than thought; more importantly, by studying the per-element FPR, we show that standard Bloom filters have weak spots in the domain: elements which will be tested as false positives much more frequently than expected. This is relevant in scenarios where an element is tested against many filters, e.g., in packet forwarding. Moreover, standard Bloom filters are prone to exhibit extremely weak spots if naive double hashing is used, something occurring in several, even mainstream, libraries. Partitioned Bloom filters exhibit a uniform distribution of the FPR over the domain and are robust to the naive use of double hashing, having no weak spots. Finally, by surveying several usages other than testing set membership, we point out the many advantages of having disjoint parts: they can be individually sampled, extracted, added or retired, leading to superior designs for, e.g., SIMD usage, size reduction, test of set disjointness, or duplicate detection in streams. Partitioned Bloom filters are better, and should replace the standard form, both in general purpose libraries and as the base for novel designs.


page 1

page 2

page 3

page 4


Stretching Your Data With Taffy Filters

Popular approximate membership query structures such as Bloom filters an...

Age-Partitioned Bloom Filters

Bloom filters (BF) are widely used for approximate membership queries ov...

Non-Empty Bins with Simple Tabulation Hashing

We consider the hashing of a set X⊆ U with |X|=m using a simple tabulati...

Daisy Bloom Filters

Weighted Bloom filters (Bruck, Gao and Jiang, ISIT 2006) are Bloom filte...

Partitioned Learned Bloom Filter

Bloom filters are space-efficient probabilistic data structures that are...

A Critical Analysis of Classifier Selection in Learned Bloom Filters

Learned Bloom Filters, i.e., models induced from data via machine learni...

Multiple Set Matching and Pre-Filtering with Bloom Multifilters

Bloom filter is a space-efficient probabilistic data structure for check...

Please sign up or login with your details

Forgot password? Click here to reset