skip to main content
research-article
Open Access

Poptrie: A Compressed Trie with Population Count for Fast and Scalable Software IP Routing Table Lookup

Published:17 August 2015Publication History
Skip Abstract Section

Abstract

Internet of Things leads to routing table explosion. An inexpensive approach for IP routing table lookup is required against ever growing size of the Internet. We contribute by a fast and scalable software routing lookup algorithm based on a multiway trie, called Poptrie. Named after our approach to traversing the tree, it leverages the population count instruction on bit-vector indices for the descendant nodes to compress the data structure within the CPU cache. Poptrie outperforms the state-of-the-art technologies, Tree BitMap, DXR and SAIL, in all of the evaluations using random and real destination queries on 35 routing tables, including the real global tier-1 ISP's full-route routing table. Poptrie peaks between 174 and over 240 Million lookups per second (Mlps) with a single core and tables with 500--800k routes, consistently 4--578% faster than all competing algorithms in all the tests we ran. We provide the comprehensive performance evaluation, remarkably with the CPU cycle analysis. This paper shows the suitability of Poptrie in the future Internet including IPv6, where a larger route table is expected with longer prefixes.

Skip Supplemental Material Section

Supplemental Material

p57-asai.webm

webm

166 MB

References

  1. WIDE Project. http://www.wide.ad.jp/.Google ScholarGoogle Scholar
  2. WIDE Project MAWI Working Group Traffic Archive. http://mawi.wide.ad.jp/mawi/.Google ScholarGoogle Scholar
  3. Intel(R) 64 and IA-32 Architectures Software Developer Manuals (version 052), Sept. 2014.Google ScholarGoogle Scholar
  4. M. Bando, Y.-L. Lin, and H. J. Chao. FlashTrie: Beyond 100-Gb/s IP Route Lookup Using Hash-based Prefix-compressed Trie. IEEE/ACM Trans. Netw., 20(4):1262--1275, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Basu and G. Narlikar. Fast Incremental Updates for Pipelined Forwarding Engines. IEEE/ACM Trans. Netw., 13(3):690--703, June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Chiosi et al. Network Functions Virtualisation -- Introductory White Paper. ETSI, 2012.Google ScholarGoogle Scholar
  7. T. H. Cormen, C. Stein, R. L. Rivest, and C. E. Leiserson. Introduction to Algorithms. McGraw-Hill Higher Education, 2nd edition, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Degermark, A. Brodnik, S. Carlsson, and S. Pink. Small Forwarding Tables for Fast Routing Lookups. In ACM SIGCOMM, pages 3--14, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Dharmapurikar, P. Krishnamurthy, and D. E. Taylor. Longest Prefix Matching Using Bloom Filters. IEEE/ACM Trans. Netw., 14(2):397--409, Apr. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Dobrescu, N. Egi, K. Argyraki, B.-G. Chun, K. Fall, G. Iannaccone, A. Knies, M. Manesh, and S. Ratnasamy. RouteBricks: Exploiting Parallelism to Scale Software Routers. In ACM SOSP, pages 15--28, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. W. Eatherton, G. Varghese, and Z. Dittia. Tree Bitmap: Hardware/Software IP Lookups with Incremental Updates. ACM SIGCOMM Comput. Commun. Rev., 34(2):97--122, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. J. Freedman, M. Vutukuru, N. Feamster, and H. Balakrishnan. Geographic Locality of IP Prefixes. In ACM IMC, pages 13--13, Berkeley, CA, USA, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. P. Gupta, S. Lin, and N. McKeown. Routing Lookups in Hardware at Memory Access Speeds. In IEEE INFOCOM, volume 3, pages 1240--1247, 1998.Google ScholarGoogle ScholarCross RefCross Ref
  14. S. Han, K. Jang, K. Park, and S. Moon. PacketShader: A GPU-accelerated Software Router. In ACM SIGCOMM, pages 195--206, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Hasan and T. N. Vijaykumar. Dynamic Pipelining: Making IP-lookup Truly Scalable. In ACM SIGCOMM, pages 205--216, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. W. Jiang, Q. Wang, and V. Prasanna. Beyond TCAMs: An SRAM-Based Parallel Multi-Pipeline Architecture for Terabit IP Lookup. In IEEE INFOCOM, pages 1786--1794, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  17. K. C. Knowlton. A Fast Storage Allocator. Commun. ACM, 8(10):623--624, Oct. 1965. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. E. Knuth. The Art of Computer Programming, Volume 3: Sorting and Searching. Addison Wesley Longman Publishing Co., Inc., 2nd edition, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. E. Kohler, R. Morris, B. Chen, J. Jannotti, and M. F. Kaashoek. The Click Modular Router. ACM Trans. Comput. Syst., 18(3):263--297, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Kumar, M. Becchi, P. Crowley, and J. Turner. CAMP: Fast and Efficient IP Lookup Architecture. In ACM/IEEE ANCS, pages 51--60, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Y. Li, D. Zhang, A. X. Liu, and J. Zheng. GAMT: A Fast and Scalable IP Lookup Engine for GPU-based Software Routers. In ACM/IEEE ANCS, pages 1--12, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. G. Marsaglia. Xorshift RNGs. Journal of Statistical Software, 8(14):1--6, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  23. A. McAuley and P. Francis. Fast Routing Table Lookup using CAMs. In IEEE INFOCOM, volume 3, pages 1382--1391, 1993.Google ScholarGoogle ScholarCross RefCross Ref
  24. D. R. Morrison. PATRICIA--Practical Algorithm To Retrieve Information Coded in Alphanumeric. J. ACM, 15(4):514--534, Oct. 1968. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. G. Rétvári, J. Tapolcai, A. Körösi, A. Majdán, and Z. Heszberger. Compressing IP Forwarding Tables: Towards Entropy Bounds and Beyond. In ACM SIGCOMM, pages 111--122, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. L. Rizzo. Netmap: A Novel Framework for Fast Packet I/O. In USENIX ATC, pages 9--9, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. L. Rizzo and G. Lettieri. VALE, a Switched Ethernet for Virtual Machines. In ACM CoNEXT, pages 61--72, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. L. Rizzo, G. Lettieri, and V. Maffione. Speeding Up Packet I/O in Virtual Machines. In ACM/IEEE ANCS, pages 47--58, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. R. Sedgewick. Algorithms in C, Parts 1--4: Fundamentals, Data Structures, Sorting, Searching. Addison-Wesley Professional, 3rd edition, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. K. Sklower. A Tree-Based Packet Routing Table for Berkeley Unix. In USENIX Winter Conference, pages 93--104, 1991.Google ScholarGoogle Scholar
  31. V. Srinivasan and G. Varghese. Fast Address Lookups Using Controlled Prefix Expansion. ACM Trans. Comput. Syst., 17(1):1--40, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. W. Sun and R. Ricci. Fast and Flexible: Parallel Packet Processing with GPUs and Click. In ACM/IEEE ANCS, pages 25--36, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. University of Oregon. Route Views Project. http://www.routeviews.org/.Google ScholarGoogle Scholar
  34. M. Waldvogel, G. Varghese, J. Turner, and B. Plattner. Scalable High Speed IP Routing Lookups. In ACM SIGCOMM, pages 25--36, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. H. S. Warren. Hacker's delight. Pearson Education, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. T. Yang, G. Xie, Y. Li, Q. Fu, A. X. Liu, Q. Li, and L. Mathy. Guarantee IP Lookup Performance with FIB Explosion. In ACM SIGCOMM, pages 39--50, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. F. Zane, G. Narlikar, and A. Basu. CoolCAMs: Power-Efficient TCAMs for Forwarding Engines. In IEEE INFOCOM, volume 1, pages 42--52, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  38. M. Zec, L. Rizzo, and M. Mikuc. DXR: Towards a Billion Routing Lookups Per Second in Software. ACM SIGCOMM Comput. Commun. Rev., 42(5):29--36, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. K. Zheng, C. Hu, H. Lu, and B. Liu. A TCAM-based Distributed Parallel IP Lookup Scheme and Performance Analysis. IEEE/ACM Trans. Netw., 14(4):863--875, Aug. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Poptrie: A Compressed Trie with Population Count for Fast and Scalable Software IP Routing Table Lookup

      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

      Full Access

      • Published in

        cover image ACM SIGCOMM Computer Communication Review
        ACM SIGCOMM Computer Communication Review  Volume 45, Issue 4
        SIGCOMM'15
        October 2015
        659 pages
        ISSN:0146-4833
        DOI:10.1145/2829988
        Issue’s Table of Contents
        • cover image ACM Conferences
          SIGCOMM '15: Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication
          August 2015
          684 pages
          ISBN:9781450335423
          DOI:10.1145/2785956

        Copyright © 2015 Owner/Author

        Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 17 August 2015

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader