Abstract

Bloom filters are space-efficient randomized data structures for fast membership queries, allowing false positives. Counting Bloom Filters (CBFs) perform the same operations on dynamic sets that can be updated via insertions and deletions. CBFs have been extensively used in MapReduce to accelerate large-scale data processing on large clusters by reducing the volume of datasets. The false positive probability of CBF should be made as low as possible for filtering out more redundant datasets. In this paper, we propose a multilevel optimization approach to building an Accurate Counting Bloom Filter (ACBF) for reducing the false positive probability. ACBF is constructed by partitioning the counter vector into multiple levels. We propose an optimized ACBF by maximizing the first level size, in order to minimize the false positive probability while maintaining the same functionality as CBF. Simulation results show that the optimized ACBF reduces the false positive probability by up to 98.4% at the same memory consumption compared to CBF. We also implement ACBFs in MapReduce to speed up the reduce-side join. Experiments on realistic datasets show that ACBF reduces the false positive probability by 72.3% as well as the map outputs by 33.9% and improves the join execution times by 20% compared to CBF.

Highlights

  • A Bloom filter [1] is a simple space-efficient randomized data structure for representing a set to support fast membership queries

  • Accurate Counting Bloom Filter (ACBF) is constructed by partitioning the counter vector into multiple levels

  • We propose an optimized ACBF named ACBFO which maximize the first level size as 4m-kn, minimizing the false positive probability while maintaining the same functionality as Counting Bloom Filter (CBF), where m is the number of counters, n is the number of elements, and k is the number of hash functions

Read more

Summary

Introduction

A Bloom filter [1] is a simple space-efficient randomized data structure for representing a set to support fast membership queries. A Bloom filter uses m bits to represent n elements by using k independent hash functions. The space savings of Bloom filters often outweigh this drawback when the probability of false positives is made sufficiently low. Due to their simplicity and efficiency, Bloom filters have found widespread applications in databases, network applications [2], and distributed systems [3]. Bloom Filters and CBFs. Bloom filters are space-efficient randomized data structures to perform approximate membership queries. If all bits hi(y) are set to 1, we assume that y is in S with a certain probability

Objectives
Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call