skip to main content
10.1145/2833312.2833449acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicdcnConference Proceedingsconference-collections
research-article

Counting with TinyTable: every bit counts!

Published:04 January 2016Publication History

ABSTRACT

Counting Bloom filters (CBF) and their variants are data structures that support membership or multiplicity queries with a low probabilistic error. Yet, they incur a significant memory space overhead when compared to lower bounds as well as to (plain) Bloom filters, which can only represent set membership without removals.

This work presents TinyTable, an efficient hash table based algorithm that supports membership queries, removals and multiplicity queries (statistics). TinyTable improves space efficiency by as much as 28% compared to CBF variants and as much as 60% for monitoring flow statistics. When the required false positive rate is smaller than 1%, TinyTable is even slightly more space efficient than (plain) Bloom filters. Our performance study shows that TinyTable has acceptable runtime overheads.

References

  1. squid-cache.org. http://www.squid-cache.org/.Google ScholarGoogle Scholar
  2. TinyTable: An open source Java based implementation. https://code.google.com/p/tinytable/.Google ScholarGoogle Scholar
  3. B. H. Bloom. Space/time trade-offs in hash coding with allowable errors. Commun. ACM, 13(7):422--426, July 1970. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. F. Bonomi, M. Mitzenmacher, R. Panigrahy, S. Singh, and G. Varghese. Beyond bloom filters: from approximate membership checks to approximate state machines. In SIGCOMM, pages 315--326, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. F. Bonomi, M. Mitzenmacher, R. Panigrahy, S. Singh, and G. Varghese. Bloom filters via d-left hashing and dynamic bit reassignment. In Proc. of the Allerton Conf. on Communication, Control and Computing, 2006.Google ScholarGoogle Scholar
  6. F. Bonomi, M. Mitzenmacher, R. Panigrahy, S. Singh, and G. Varghese. An improved construction for counting bloom filters. In 14th Annual European Symposium on Algorithms, LNCS 4168, pages 684--695, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Broder, M. Mitzenmacher, and A. B. I. M. Mitzenmacher. Network applications of bloom filters: A survey. In Internet Mathematics, pages 636--646, 2002.Google ScholarGoogle Scholar
  8. L. Carter, R. Floyd, J. Gill, G. Markowsky, and M. Wegman. Exact and approximate membership testers. In Proc. of the 10th Annual ACM Symposium on Theory of Computing, STOC, pages 59--65, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. F. Chang, J. Dean, S. Ghemawat, W. C. Hsieh, D. A. Wallach, M. Burrows, T. Chandra, A. Fikes, and R. E. Gruber. Bigtable: A distributed storage system for structured data. ACM Trans. Comput. Syst., 26(2):4:1--4:26, June 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. B. Chazelle, J. Kilian, R. Rubinfeld, and A. Tal. The bloomier filter: An efficient data structure for static support lookup tables. In Proc. of the 15th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA, pages 30--39, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. Cohen and Y. Matias. Spectral bloom filters. In Proc. of the 2003 ACM SIGMOD Int. Conf. on Management of Data, pages 241--252, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. G. Cormode and S. Muthukrishnan. An improved data stream summary: The count-min sketch and its applications. J. Algorithms, 55: 29--38, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Dharmapurikar, P. Krishnamurthy, and D. E. Taylor. Longest prefix matching using bloom filters. In Proc. of ACM SIGCOMM, pages 201--212, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. G. Einziger and R. Friedman. Postman: An elastic highly resilient publish/subscribe framework for self sustained service independent P2P networks. In Stabilization, Safety, and Security of Distributed Systems (SSS), 2014.Google ScholarGoogle Scholar
  15. G. Einziger and R. Friedman. TinyLFU: A highly efficient cache admission policy. In Euromicro PDP, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. G. Einziger and R. Friedman. TinySet - an access efficient self adjusting bloom filter construction. In Proc. 24th Int. Conf. on Computer Communications and Networks (ICCCN), 2015.Google ScholarGoogle ScholarCross RefCross Ref
  17. G. Einziger, R. Friedman, and Y. Kantor. Shades: Expediting Kademlia's lookup process. In Euro-Par, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  18. L. Fan, P. Cao, J. Almeida, and A. Z. Broder. Summary cache: A scalable wide-area web cache sharing protocol. IEEE/ACM Trans. Netw., 8(3):281--293, June 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. D. Ficara, A. D. Pietro, S. Giordano, G. Procissi, and F. Vitucci. Enhancing counting bloom filters through huffman-coded multilayer structures. IEEE/ACM Trans. Netw., 18(6):1977--1987, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. P. Hick. CAIDA Anonymized 2008 Internet Trace, equinix-chicago 2008-03-19 19:00--20:00 UTC, Direction A.Google ScholarGoogle Scholar
  21. P. Hick. CAIDA Anonymized 2008 Internet Trace, equinix-chicago 2008-03-19 19:00--20:00 UTC, Direction B.Google ScholarGoogle Scholar
  22. P. Hick. CAIDA Anonymized 2013 Internet Trace, equinix-sanjose 2013-1-17 13:55 UTC, Direction B.Google ScholarGoogle Scholar
  23. P. Hick. CAIDA Anonymized 2014 Internet Trace, equinix-chicago 2014-03-20 13:55 UTC, Direction B.Google ScholarGoogle Scholar
  24. N. Hua, B. Lin, J. J. Xu, and H. C. Zhao. Brick: A novel exact active statistics counter architecture. In Proc. of the 4th ACM/IEEE Symposium on Architectures for Networking and Communications Systems, ANCS, pages 89--98, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. N. Hua, H. C. Zhao, B. Lin, and J. Xu. Rank-indexed hashing: A compact construction of bloom filters and variants. In ICNP, pages 73--82. IEEE, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. A. Lakshman and P. Malik. Cassandra: A decentralized structured storage system. SIGOPS Oper. Syst. Rev., 44(2):35--40, Apr. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. T. Lee, K. Kim, and H.-J. Kim. Join processing using bloom filter in mapreduce. In Proc. of the 2012 ACM Research in Applied Computation Symposium, RACS, pages 100--105, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. L. Li, B. Wang, and J. Lan. A variable length counting bloom filter. In Computer Engineering and Technology (ICCET), 2010 2nd International Conf. on, volume 3, pages V3--504--V3--508, 2010.Google ScholarGoogle Scholar
  29. W. Li, K. Huang, D. Zhang, and Z. Qin. Accurate counting bloom filters for large-scale data processing. Mathematical Problems in Engineering, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  30. Y. Lu, A. Montanari, B. Prabhakar, S. Dharmapurikar, and A. Kabbani. Counter braids: a novel counter architecture for per-flow measurement. In Proc. of the ACM SIGMETRICS Int. Conf. on Measurement and modeling of computer systems, pages 121--132, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Y. Matsumoto, H. Hazeyama, and Y. Kadobayashi. Adaptive bloom filter: A space-efficient counting algorithm for unpredictable network traffic. IEICE - Trans. Inf. Syst., E91-D(5):1292--1299, May 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. M. Mitzenmacher and E. Upfal. Probability and Computing: Randomized Algorithms and Probabilistic Analysis. Cambridge University Press, New York, NY, USA, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. S. Quinlan and S. Dorward. Venti: A new approach to archival data storage. In Proc. of the 1st USENIX Conf. on File and Storage Technologies, FAST, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. O. Rottenstreich, Y. Kanizo, and I. Keslassy. The variable-increment counting bloom filter. In INFOCOM, pages 1880--1888, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  35. H. Song, F. Hao, M. S. Kodialam, and T. V. Lakshman. Ipv6 lookups using distributed and load balanced bloom filters for 100gbps core router line cards. In INFOCOM, pages 2518--2526. IEEE, 2009.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Counting with TinyTable: every bit counts!

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Other conferences
        ICDCN '16: Proceedings of the 17th International Conference on Distributed Computing and Networking
        January 2016
        370 pages
        ISBN:9781450340328
        DOI:10.1145/2833312

        Copyright © 2016 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 4 January 2016

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader