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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Billingsley, P.: Probability and Measure, 3rd edn. John Wiley & Sons, Chichester (1995)
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
Broder, A., Mitzenmacher, M.: Network Applications of Bloom Filters: A Survey. Internet Mathematics 1(4), 485–509 (2004)
Cormode, G., Muthukrishnan, S.: Improved Data Stream Summaries: The Count-Min Sketch and its Applications. DIMACS Technical Report 2003-20 (2003)
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)
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)
Dubhashi, D.P., Ranjan, D.: Balls and Bins: A Case Study in Negative Dependence. Random Structures and Algorithms 13(2), 99–124 (1998)
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)
Ireland, K., Rosen, M.: A Classical Introduction to Modern Number Theory, 2nd edn. Springer, Heidelberg (1990)
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
Knuth, D.: The Art of Computer Programming, Sorting and Searching, vol. 3. Addison-Wesley, Reading (1973)
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)
Mitzenmacher, M.: Compressed Bloom Filters. IEEE/ACM Transactions on Networking 10(5), 613–620 (2002)
Mitzenmacher, M., Upfal, E.: Probability and Computing: Randomized Algorithms and Probabilistic Analysis. Cambridge University Press, Cambridge (2005)
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)
Ramakrishna, M.V.: Practical performance of Bloom filters and parallel free-text searching. Communications of the ACM 32(10), 1237–1239 (1989)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)