skip to main content
10.1145/2742854.2742862acmconferencesArticle/Chapter ViewAbstractPublication PagescfConference Proceedingsconference-collections
research-article

Fast packet forwarding engine based on software circuits

Published: 06 May 2015 Publication History

Abstract

Forwarding packets is part of the performance critical path of routing devices, and affects the network performance at any scale. This operation is typically performed by dedicated routing boxes, which are fast, but expensive and inflexible. Recent work has shown that in many cases commodity hardware is becoming an alternative to these specialized boxes.
In this work, we present a new technique - based on bitslicing - to improve the performance of forward decision-making on modern commodity hardware. Specifically, we propose to replace memory lookups with logical operations, by evaluating the packet header information as a Boolean circuit. Being less memory-intensive, our algorithm has the potential to achieve high performance on both modern CPUs and GPUs. To measure and qulify the performance of our algorithm, we implemented it in OpenCL and performed a large set of experiments on 5 different platforms - two CPUs and three GPUs. Our results show that bitslicing has the ability to outperform the traditional, memory lookup approach in 70% of the cases, depending on the type of traffic and routing parameters.

References

[1]
H. Bos, W. De Bruijn, M.-L. Cristea, T. Nguyen, and G. Portokalidis, "Ffpf: Fairly fast packet filters.," in OSDI, vol. 4, pp. 24--24, 2004.
[2]
N. Egi, A. Greenhalgh, M. Handley, M. Hoerdt, F. Huici, and L. Mathy, "Towards high performance virtual routers on commodity hardware," in Proceedings of the 2008 ACM CoNEXT Conference, p. 20, ACM, 2008.
[3]
R. Bolla and R. Bruschi, "Pc-based software routers: high performance and application service support," in Proceedings of the ACM workshop on Programmable routers for extensible services of tomorrow, pp. 27--32, ACM, 2008.
[4]
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 Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, pp. 15--28, ACM, 2009.
[5]
S. Han, K. Jang, K. Park, and S. Moon, "Packetshader: a gpu-accelerated software router," ACM SIGCOMM Computer Communication Review, vol. 40, no. 4, pp. 195--206, 2010.
[6]
A. Branover, D. Foley, and M. Steinman, "Amd fusion apu: Llano," Micro, IEEE, vol. 32, no. 2, pp. 28--37, 2012.
[7]
M. Yuffe, E. Knoll, M. Mehalel, J. Shor, and T. Kurts, "A fully integrated multi-cpu, gpu and memory controller 32nm processor," in Solid-State Circuits Conference Digest of Technical Papers (ISSCC), 2011 IEEE International, pp. 264--266, IEEE, 2011.
[8]
K.-T. Cheng and Y.-C. Wang, "Using mobile gpu for general-purpose computing--a case study of face recognition on smartphones," in VLSI Design, Automation and Test (VLSI-DAT), 2011 International Symposium on, pp. 1--4, IEEE, 2011.
[9]
M. Waldvogel, G. Varghese, J. Turner, and B. Plattner, Scalable high speed IP routing lookups, vol. 27. ACM, 1997.
[10]
D. E. White, Bit-Slice Design Controllers and Alu's. Garland Publishing, Inc., 1984.
[11]
D. J. Bernstein and P. Schwabe, "New aes software speed records," in Progress in Cryptology-INDOCRYPT 2008, pp. 322--336, Springer, 2008.
[12]
K. Sklower, "A tree-based packet routing table for berkeley unix.," in USENIX Winter, vol. 1991, pp. 93--99, 1991.
[13]
S. Nilsson and G. Karlsson, "Ip-address lookup using lc-tries," Selected Areas in Communications, IEEE Journal on, vol. 17, no. 6, pp. 1083--1092, 1999.
[14]
V. Srinivasan and G. Varghese, "Faster ip lookups using controlled prefix expansion," in ACM SIGMETRICS Performance Evaluation Review, vol. 26, pp. 1--10, ACM, 1998.
[15]
P. Gupta, S. Lin, and N. McKeown, "Routing lookups in hardware at memory access speeds," in INFOCOM'98. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE, vol. 3, pp. 1240--1247, IEEE, 1998.
[16]
M. Degermark, A. Brodnik, S. Carlsson, and S. Pink, Small forwarding tables for fast routing lookups, vol. 27. ACM, 1997.
[17]
H. Song, F. Hao, M. Kodialam, and T. Lakshman, "Ipv6 lookups using distributed and load balanced bloom filters for 100gbps core router line cards," in INFOCOM 2009, IEEE, pp. 2518--2526, IEEE, 2009.
[18]
T.-c. Chiueh and P. Pradhan, "High-performance ip routing table lookup using cpu caching," in INFOCOM'99. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE, vol. 3, pp. 1421--1428, IEEE, 1999.
[19]
Y. Zhu, Y. Deng, and Y. Chen, "Hermes: an integrated cpu/gpu microarchitecture for ip routing," in Proceedings of the 48th Design Automation Conference, pp. 1044--1049, ACM, 2011.
[20]
J. Zhao, X. Zhang, X. Wang, Y. Deng, and X. Fu, "Exploiting graphics processors for high-performance ip lookup in software routers," in INFOCOM, 2011 Proceedings IEEE, pp. 301--305, IEEE, 2011.
[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 Proceedings of the ninth ACM/IEEE symposium on Architectures for networking and communications systems, pp. 1--12, IEEE Press, 2013.
[22]
M. V. Wilkes, "Edsac 2," IEEE Annals of the History of Computing, vol. 14, no. 4, pp. 49--56, 1992.
[23]
M. Kwan, "Reducing the gate count of bitslice des.," IACR Cryptology ePrint Archive, vol. 2000, p. 51, 2000.
[24]
A. Munshi et al., "The opencl specification," Khronos OpenCL Working Group, vol. 1, pp. 11--15, 2009.
[25]
E. J. McCluskey, "Minimization of boolean functions*," Bell system technical Journal, vol. 35, no. 6, pp. 1417--1444, 1956.
[26]
J. Shen, J. Fang, H. Sips, and A. L. Varbanescu, "An application-centric evaluation of opencl on multi-core cpus," Parallel Computing, vol. 39, no. 12, pp. 834--850, 2013.
[27]
J. H. Lee, K. Patel, N. Nigania, H. Kim, and H. Kim, "Opencl performance evaluation on modern multi core cpus," in Parallel and Distributed Processing Symposium Workshops PhD Forum (IPDPSW), 2013 IEEE 27th International, pp. 1177--1185, May 2013.
[28]
A. Ali, U. Dastgeer, and C. Kessler, "OpenCL for programming shared memory multicore CPUs," in 5th Workshop on MULTIPROG, with HiPEAC (2012), January 2012.
[29]
R. Strijkers, M. X. Makkes, C. de Laat, and R. Meijer, "Internet factories: Creating application-specific networks on-demand," Computer Networks, vol. 68, pp. 187--198, 2014.

Index Terms

  1. Fast packet forwarding engine based on software circuits

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image ACM Conferences
        CF '15: Proceedings of the 12th ACM International Conference on Computing Frontiers
        May 2015
        413 pages
        ISBN:9781450333580
        DOI:10.1145/2742854
        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 ACM 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]

        Sponsors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 06 May 2015

        Permissions

        Request permissions for this article.

        Check for updates

        Author Tags

        1. OpenCL
        2. bitslicing
        3. commodity hardware
        4. routing
        5. traffic forwarding

        Qualifiers

        • Research-article

        Conference

        CF'15
        Sponsor:
        CF'15: Computing Frontiers Conference
        May 18 - 21, 2015
        Ischia, Italy

        Acceptance Rates

        CF '15 Paper Acceptance Rate 33 of 96 submissions, 34%;
        Overall Acceptance Rate 273 of 785 submissions, 35%

        Upcoming Conference

        CF '25

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • 0
          Total Citations
        • 123
          Total Downloads
        • Downloads (Last 12 months)5
        • Downloads (Last 6 weeks)1
        Reflects downloads up to 16 Feb 2025

        Other Metrics

        Citations

        View Options

        Login options

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Figures

        Tables

        Media

        Share

        Share

        Share this Publication link

        Share on social media