A practical methodology to validate the statistical behavior of bloom filters Conference Paper uri icon

abstract

  • 2016 ACM. Bloom filters are commonly used to test for set membership. A Bloom filter consists of a series of hash functions, whose combined signature is used to construct a composite hash. Applications are broad, and include networking, transactional memory, server load balancing etc. Several realizations, both in hardware and software, have been proposed in academia and industry, but a reliable means to empirically test the statistical behavior of Bloom filters is lacking. In this paper, we present an efficient, practical methodology to validate the statistical performance of Bloom filters. This paper does not focus on the design of a new Bloom filter. Our scheme is based on the use of the NIST test suite, which is a widely accepted means to test for randomness in the cryptography community. In particular, we first test the randomness of the hash functions that comprise the Bloom filter in isolation, and then test for randomness of the Bloom filter, which is constructed by combining the hash functions. We also prove that randomness is a sufficient condition for the uniformity of the hash function and the Bloom filter output. Finally, we test our approach using two classes of Bloom filters, and based on the results, we provide practical guidelines for designing Bloom filters.

name of conference

  • Proceedings of the Eleventh IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis

published proceedings

  • Proceedings of the Eleventh IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis

author list (cited authors)

  • Kottapalli, V., & Khatri, S.

citation count

  • 0

complete list of authors

  • Kottapalli, Venkateshwar||Khatri, Sunil

publication date

  • October 2016