Less Hashing, Same Performance: Building a Better Bloom Filter

  • Adam Kirsch
  • Michael Mitzenmacher
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4168)


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.


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Billingsley, P.: Probability and Measure, 3rd edn. John Wiley & Sons, Chichester (1995)MATHGoogle Scholar
  2. 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. 3.
    Broder, A., Mitzenmacher, M.: Network Applications of Bloom Filters: A Survey. Internet Mathematics 1(4), 485–509 (2004)MATHMathSciNetCrossRefGoogle Scholar
  4. 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. 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)CrossRefGoogle Scholar
  6. 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)CrossRefGoogle Scholar
  7. 7.
    Dubhashi, D.P., Ranjan, D.: Balls and Bins: A Case Study in Negative Dependence. Random Structures and Algorithms 13(2), 99–124 (1998)MATHCrossRefMathSciNetGoogle Scholar
  8. 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)CrossRefGoogle Scholar
  9. 9.
    Ireland, K., Rosen, M.: A Classical Introduction to Modern Number Theory, 2nd edn. Springer, Heidelberg (1990)MATHGoogle Scholar
  10. 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. 11.
    Knuth, D.: The Art of Computer Programming, Sorting and Searching, vol. 3. Addison-Wesley, Reading (1973)Google Scholar
  12. 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. 13.
    Mitzenmacher, M.: Compressed Bloom Filters. IEEE/ACM Transactions on Networking 10(5), 613–620 (2002)CrossRefGoogle Scholar
  14. 14.
    Mitzenmacher, M., Upfal, E.: Probability and Computing: Randomized Algorithms and Probabilistic Analysis. Cambridge University Press, Cambridge (2005)MATHGoogle Scholar
  15. 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. 16.
    Ramakrishna, M.V.: Practical performance of Bloom filters and parallel free-text searching. Communications of the ACM 32(10), 1237–1239 (1989)CrossRefGoogle Scholar
  17. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Adam Kirsch
    • 1
  • Michael Mitzenmacher
    • 1
  1. 1.Division of Engineering and Applied SciencesHarvard UniversityCambridgeUSA

Personalised recommendations