## An Improved Construction for Counting Bloom Filters (2006)

### Cached

### Download Links

- [theory.stanford.edu]
- [www.eecs.harvard.edu]
- [www.cs.ucsd.edu]
- [cseweb.ucsd.edu]
- [www.eecs.berkeley.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | 14th Annual European Symposium on Algorithms, LNCS 4168 |

Citations: | 41 - 3 self |

### BibTeX

@INPROCEEDINGS{Bonomi06animproved,

author = {Flavio Bonomi and Michael Mitzenmacher and Rina Panigrahy and Sushil Singh and George Varghese},

title = {An Improved Construction for Counting Bloom Filters},

booktitle = {14th Annual European Symposium on Algorithms, LNCS 4168},

year = {2006},

pages = {684--695}

}

### OpenURL

### Abstract

Abstract. A counting Bloom filter (CBF) generalizes a Bloom filter data structure so as to allow membership queries on a set that can be changing dynamically via insertions and deletions. As with a Bloom filter, a CBF obtains space savings by allowing false positives. We provide a simple hashing-based alternative based on d-left hashing called a d-left CBF (dlCBF). The dlCBF offers the same functionality as a CBF, but uses less space, generally saving a factor of two or more. We describe the construction of dlCBFs, provide an analysis, and demonstrate their effectiveness experimentally. 1

### Citations

1597 | Space/time trade-offs in hash coding with allowable errors - Bloom - 1970 |

762 | Summary Cache: A Scalable Wide-Area Web Cache Sharing Protocol
- Fan, Cao, et al.
- 1999
(Show Context)
Citation Context ...ndent of the size or number of elements in the set. There has recently been a surge in the popularity of Bloom filters and variants, especially in networking [6]. One variant, a counting Bloom filter =-=[10]-=-, allows the set to change dynamically via insertions and deletions of elements. Counting Bloom filters have been explicitly usedin severalpapers,including forexample[7,8,9,10,12,18,19]. In this paper... |

390 | Network applications of bloom filters: A survey
- Broder, Mitzenmacher
- 2005
(Show Context)
Citation Context ...or a 1% false positive probability, independent of the size or number of elements in the set. There has recently been a surge in the popularity of Bloom filters and variants, especially in networking =-=[6]-=-. One variant, a counting Bloom filter [10], allows the set to change dynamically via insertions and deletions of elements. Counting Bloom filters have been explicitly usedin severalpapers,including f... |

306 |
Probability and computing: Randomized algorithms and probabilistic analysis
- Mitzenmacher, Upfal
- 2005
(Show Context)
Citation Context ...d in 16 trials. These results match what one would obtain using a back-of-the-envelope calculation based on the Poisson approximation of the underlying balls and bins problem, as in e.g. Chapter 5 of =-=[13]-=- (or see also [10]). The approximate probability that a counter is hashed to by 16 elements (giving an overflow) in an optimal CBF configuration, where the expected number of hashed elements per count... |

293 | Virtualizing transactional memory
- Rajwar, Herlihy, et al.
- 2005
(Show Context)
Citation Context ...iant, a counting Bloom filter [10], allows the set to change dynamically via insertions and deletions of elements. Counting Bloom filters have been explicitly usedin severalpapers,including forexample=-=[7,8,9,10,12,18,19]-=-. In this paper, we present a new construction with the same functionality as the counting Bloom filter, based on d-left hashing. We call the resulting structure a d-left counting Bloom filter, or dlC... |

262 | Balanced allocations
- Azar, Broder, et al.
(Show Context)
Citation Context ...lters and Counting Bloom Filters We briefly review Bloom filters; for further details, see [6]. A Bloom filter represents a set S of m elements from a universe U using an array of n bits, denoted by B=-=[1]-=-,...,B[n], initially all set to 0. The filter uses a group H of k independent hash functions h1,...,hk with range {1,...,n} that independently map each element in the universe to a random number unifo... |

174 | Deep packet inspection using parallel Bloom Filters
- Dharmapurikar, Sproull, et al.
- 2003
(Show Context)
Citation Context ...iant, a counting Bloom filter [10], allows the set to change dynamically via insertions and deletions of elements. Counting Bloom filters have been explicitly usedin severalpapers,including forexample=-=[7,8,9,10,12,18,19]-=-. In this paper, we present a new construction with the same functionality as the counting Bloom filter, based on d-left hashing. We call the resulting structure a d-left counting Bloom filter, or dlC... |

136 | Cuckoo Hashing
- Pagh, Rodler
- 2004
(Show Context)
Citation Context ...sible to move other elements in the hash table, as long as each element is properly placed according to one of its d choices. (Allowing such movement of elements was the insight behind cuckoo hashing =-=[15]-=-, and subsequent work based on cuckoo hashing, including [16].) Intuitively, such moves allow one to rectify previous placement decisions that may have subsequently turned out poorly. Recent work has ... |

96 |
Spectral bloom filters
- Cohen, Matias
- 2003
(Show Context)
Citation Context ...iant, a counting Bloom filter [10], allows the set to change dynamically via insertions and deletions of elements. Counting Bloom filters have been explicitly usedin severalpapers,including forexample=-=[7,8,9,10,12,18,19]-=-. In this paper, we present a new construction with the same functionality as the counting Bloom filter, based on d-left hashing. We call the resulting structure a d-left counting Bloom filter, or dlC... |

84 | How Asymmetry Helps Load Balancing
- Vöcking
- 1999
(Show Context)
Citation Context ...loom filters for state machines. See [4] for more details. 2.3 Background: d-Left Hashing Our approach makes use of d-left hashing, a variation of the balanced allocations paradigm [1] due to Vöcking =-=[20]-=-, which we now recall. Often this setting is described in terms of balls and bins; here, for consistency, we use the terms elements and buckets. We have a hash table consisting of n buckets. Initially... |

72 | Longest Prefix Matching using Bloom Filters
- Dharmapurikar, Krishnamurthy, et al.
(Show Context)
Citation Context |

70 | Using multiple hash functions to improve IP lookups
- Broder, Mitzenmacher
(Show Context)
Citation Context ...standard Bloom filter can be derived from a counting Bloom filter by setting all non-zero counts to 1. Counters must be chosen large enough to avoid overflow; for most applications, four bits suffice =-=[5, 10]-=-. We generally use the rule of four bits per counter when comparing results of our data structure with a standard CBF, although we do note that this could be reduced somewhat with some additional comp... |

40 |
An Optimal Bloom Filter Replacement
- Pagh, Pagh, et al.
- 2005
(Show Context)
Citation Context ...ral Bloom filter was desigend for multi-sets, but also considers schemes to improve the efficiency of storing counters [7]. A paper on “optimal” Bloom filter replacements is another work in this vein =-=[17]-=-, introducing a data structure with the same functionality as a counting Bloom filter that is, at least asymptotically, more space-efficient. While this problem has received some attention, the previo... |

34 | Beyond bloom filters: from approximate membership checks to approximate state machines
- Bonomi, Mitzenmacher, et al.
- 2006
(Show Context)
Citation Context ...be very useful in practice. We believe our work is novel in these regards. Our motivation for our general approach came about when considering generalizations of Bloom filters for state machines. See =-=[4]-=- for more details. 2.3 Background: d-Left Hashing Our approach makes use of d-left hashing, a variation of the balanced allocations paradigm [1] due to Vöcking [20], which we now recall. Often this se... |

18 | The asymptotics of selecting the shortest of two, improved
- Mitzenmacher, Vocking
- 1999
(Show Context)
Citation Context ...where the number of elements and buckets grow to infinity but with the ratio between them remaining fixed. The fluid limit is easily represented by a family of differential equations, as described in =-=[5, 14]-=-. The advantage of using the fluid limits in conjunction with simulation is thatsAn Improved Construction for Counting Bloom Filters 687 it provides insight into how d-left hashing scales and the prob... |

17 | Efficient hashing with lookups in two memory accesses
- Panigrahy
- 2005
(Show Context)
Citation Context ...ch element is properly placed according to one of its d choices. (Allowing such movement of elements was the insight behind cuckoo hashing [15], and subsequent work based on cuckoo hashing, including =-=[16]-=-.) Intuitively, such moves allow one to rectify previous placement decisions that may have subsequently turned out poorly. Recent work has shown that even limited ability to move existing elements in ... |

13 | Scalable Coordination Techniques for Distributed Network Monitoring
- Sharma, Byers
(Show Context)
Citation Context |

11 | R.: Balanced Allocation on Graphs
- Kenthapadi, Panigrahy
- 2006
(Show Context)
Citation Context ...h such limited hash functions. However, our simulations, discussed below, suggest the fluid limit is still remarkably accurate. (Some theoretical backing for this comes from the the recent results of =-=[11]-=-; again, further discussion is in the full version.) Using simple invertible permutations Pi may allow further advantages. For example, when inserting an element, it may be possible to move other elem... |

11 | Perfect hashing for network applications
- Prabhakar, Bonomi
- 1999
(Show Context)
Citation Context |

1 |
allocations: the heavily loaded case
- Balanced
- 2000
(Show Context)
Citation Context ...ntents of d buckets must be checked. Note that, if the bucket size is fixed a priori, there is the possibility of overflow. Various combinatorial bounds on the resulting maximum load have been proven =-=[2,20]-=-. For our purposes, we are more interested in obtaining precise estimates of d-left hashing under constant average load per bucket. For the case where elements are only inserted, this can be obtained ... |