Skip to main content

Less Hashing, Same Performance: Building a Better Bloom Filter

  • Conference paper

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 4168)

Abstract

A standard technique from the hashing literature is to use two hash functions h 1(x) and h 2(x) to simulate additional hash functions of the form g i (x) = h 1(x) + ih 2(x). We demonstrate that this technique can be usefully applied to Bloom filters and related data structures. Specifically, only two hash functions are necessary to effectively implement a Bloom filter without any loss in the asymptotic false positive probability. This leads to less computation and potentially less need for randomness in practice.

Keywords

  • Hash Function
  • Hash Table
  • Moment Generate Function
  • Bloom Filter
  • Partition Scheme

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/11841036_42
  • Chapter length: 12 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   149.00
Price excludes VAT (USA)
  • ISBN: 978-3-540-38876-0
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   189.00
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Billingsley, P.: Probability and Measure, 3rd edn. John Wiley & Sons, Chichester (1995)

    MATH  Google Scholar 

  2. Bose, P., Guo, H., Kranakis, E., Maheshwari, A., Morin, P., Morrison, J., Smid, M., Tang, Y.: On the false-positive rate of Bloom filters (submitted), http://cg.scs.carleton.ca/~morin/publications/ds/bloom-submitted.pdf

  3. Broder, A., Mitzenmacher, M.: Network Applications of Bloom Filters: A Survey. Internet Mathematics 1(4), 485–509 (2004)

    MATH  MathSciNet  CrossRef  Google Scholar 

  4. Cormode, G., Muthukrishnan, S.: Improved Data Stream Summaries: The Count-Min Sketch and its Applications. DIMACS Technical Report 2003-20 (2003)

    Google Scholar 

  5. Dillinger, P.C., Manolios, P.: Bloom Filters in Probabilistic Verification. In: Hu, A.J., Martin, A.K. (eds.) FMCAD 2004. LNCS, vol. 3312, pp. 367–381. Springer, Heidelberg (2004)

    CrossRef  Google Scholar 

  6. Dillinger, P.C., Manolios, P.: Fast and Accurate Bitstate Verification for SPIN. In: Graf, S., Mounier, L. (eds.) SPIN 2004. LNCS, vol. 2989, pp. 57–75. Springer, Heidelberg (2004)

    CrossRef  Google Scholar 

  7. Dubhashi, D.P., Ranjan, D.: Balls and Bins: A Case Study in Negative Dependence. Random Structures and Algorithms 13(2), 99–124 (1998)

    MATH  CrossRef  MathSciNet  Google Scholar 

  8. Fan, L., Cao, P., Almeida, J., Broder, A.Z.: Summary cache: A scalable wide-area Web cache sharing protocol. IEEE/ACM Transactions on Networking 8(3), 281–293 (2000)

    CrossRef  Google Scholar 

  9. Ireland, K., Rosen, M.: A Classical Introduction to Modern Number Theory, 2nd edn. Springer, Heidelberg (1990)

    MATH  Google Scholar 

  10. Kirsch, A., Mitzenmacher, M.: Building a Better Bloom Filter. Harvard University Computer Science Technical Report TR-02-05 (2005), ftp://ftp.deas.harvard.edu/techreports/tr-02-05.pdf

  11. Knuth, D.: The Art of Computer Programming, Sorting and Searching, vol. 3. Addison-Wesley, Reading (1973)

    Google Scholar 

  12. Lueker, G., Molodowitch, M.: More analysis of double hashing. In: Proceedings of the Twentieth Annual ACM Symposium on Theory of Computing (STOC 1988), pp. 354–359 (1988)

    Google Scholar 

  13. Mitzenmacher, M.: Compressed Bloom Filters. IEEE/ACM Transactions on Networking 10(5), 613–620 (2002)

    CrossRef  Google Scholar 

  14. Mitzenmacher, M., Upfal, E.: Probability and Computing: Randomized Algorithms and Probabilistic Analysis. Cambridge University Press, Cambridge (2005)

    MATH  Google Scholar 

  15. Pagh, A., Pagh, R., Srinivas Rao, S.: An Optimal Bloom Filter Replacement. In: Proceedings of the Sixteenth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2005), pp. 823–829 (2005)

    Google Scholar 

  16. Ramakrishna, M.V.: Practical performance of Bloom filters and parallel free-text searching. Communications of the ACM 32(10), 1237–1239 (1989)

    CrossRef  Google Scholar 

  17. Schmidt, J.P., Siegel, A.: The analysis of closed hashing under limited randomness. In: Proceedings of the Twenty-Second Annual ACM Symposium on Theory of Computing (STOC 1990), pp. 224–234 (1990)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kirsch, A., Mitzenmacher, M. (2006). Less Hashing, Same Performance: Building a Better Bloom Filter. In: Azar, Y., Erlebach, T. (eds) Algorithms – ESA 2006. ESA 2006. Lecture Notes in Computer Science, vol 4168. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11841036_42

Download citation

  • DOI: https://doi.org/10.1007/11841036_42

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-38875-3

  • Online ISBN: 978-3-540-38876-0

  • eBook Packages: Computer ScienceComputer Science (R0)