Support Optimality and Adaptive Cuckoo Filters

05/22/2021
by   Tsvi Kopelowitz, et al.
0

Filters (such as Bloom Filters) are data structures that speed up network routing and measurement operations by storing a compressed representation of a set. Filters are space efficient, but can make bounded one-sided errors: with tunable probability epsilon, they may report that a query element is stored in the filter when it is not. This is called a false positive. Recent research has focused on designing methods for dynamically adapting filters to false positives, reducing the number of false positives when some elements are queried repeatedly. Ideally, an adaptive filter would incur a false positive with bounded probability epsilon for each new query element, and would incur o(epsilon) total false positives over all repeated queries to that element. We call such a filter support optimal. In this paper we design a new Adaptive Cuckoo Filter and show that it is support optimal (up to additive logarithmic terms) over any n queries when storing a set of size n. Our filter is simple: fixing previous false positives requires a simple cuckoo operation, and the filter does not need to store any additional metadata. This data structure is the first practical data structure that is support optimal, and the first filter that does not require additional space to fix false positives. We complement these bounds with experiments showing that our data structure is effective at fixing false positives on network traces, outperforming previous Adaptive Cuckoo Filters. Finally, we investigate adversarial adaptivity, a stronger notion of adaptivity in which an adaptive adversary repeatedly queries the filter, using the result of previous queries to drive the false positive rate as high as possible. We prove a lower bound showing that a broad family of filters, including all known Adaptive Cuckoo Filters, can be forced by such an adversary to incur a large number of false positives.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/06/2021

Telescoping Filter: A Practical Adaptive Filter

Filters are fast, small and approximate set membership data structures. ...
research
10/17/2019

The Distributed Bloom Filter

The Distributed Bloom Filter is a space-efficient, probabilistic data st...
research
06/05/2020

Partitioned Learned Bloom Filter

Bloom filters are space-efficient probabilistic data structures that are...
research
01/19/2019

Dynamic Partition Bloom Filters: A Bounded False Positive Solution For Dynamic Set Membership (Extended Abstract)

Dynamic Bloom filters (DBF) were proposed by Guo et. al. in 2010 to tack...
research
06/23/2021

A Bloom Filter Survey: Variants for Different Domain Applications

There is a plethora of data structures, algorithms, and frameworks deali...
research
11/19/2019

Concurrent Expandable AMQs on the Basis of Quotient Filters

A quotient filter is a cache efficient AMQ data structure. Depending on ...
research
08/28/2019

Bloom filter variants for multiple sets: a comparative assessment

In this paper we compare two probabilistic data structures for associati...

Please sign up or login with your details

Forgot password? Click here to reset