skip to main content
10.1145/3359989.3365415acmconferencesArticle/Chapter ViewAbstractPublication PagesconextConference Proceedingsconference-collections
research-article

Comparing the performance of state-of-the-art software switches for NFV

Published: 03 December 2019 Publication History

Abstract

Software switches are increasingly used in network function virtualization (NFV) to route traffic between virtualized network functions (VNFs) and physical network interface cards (NICs). Understanding of alternative switch designs remains deficient, however, in the absence of a comprehensive, comparative performance analysis. In this paper, we propose a methodology intended to be fair and use it to compare the performance of seven state-of-the-art software switches. We first explore their respective design spaces and then compare their performance under four representative test scenarios. Each scenario corresponds to a specific case of routing NFV traffic between NICs and/or VNFs. Our experimental results show that no single software switch prevails in all scenarios. It is therefore important to choose the one that is best adapted to a given use-case. The presented results and analysis bring a better understanding of design tradeoffs and identify potential bottlenecks that limit the performance of software switches.

References

[1]
2019. CentOS.org. https://cloud.centos.org/centos/7/images/. (2019).
[2]
2019. Comparing the performance of software switches. https://github.com/ztz1989/software-switches/tree/artifacts. (2019).
[3]
2019. CSIT. https://wiki.fd.io/view/CSIT. (2019).
[4]
2019. CSIT-1904. https://docs.fd.io/csit/rls1904/report/. (2019).
[5]
2019. Home - DPDK. https://www.dpdk.org/. (2019).
[6]
2019. L2 Forwarding Sample Application (in Real and Virtualized Environments). https://doc.dpdk.org/guides-18.08/sample_app_ug/l2_forward_real_virtual.html. (2019).
[7]
2019. netmap/apps/pkt-gen at master. https://github.com/luigirizzo/netmap/tree/master/apps/pkt-gen. (2019).
[8]
2019. Open vSwitch. https://www.openvswitch.org/. (2019).
[9]
2019. Open vSwitch with DPDK. http://docs.openvswitch.org/en/latest/intro/install/dpdk/. (2019).
[10]
2019. PF_RING ZC (Zero Copy). https://www.ntop.org/products/packet-capture/pf_ring/pf_ring-zc-zero-copy/. (2019).
[11]
2019. QEMU fork adding netmap passthrough networking, e1000 paravirtualized adapter, and VMPI support. https://github.com/vmaffione/qemu. (2019).
[12]
2019. snabb: Maximizing deployment performance. https://github.com/snabbco/snabb/blob/master/src/doc/performance-tuning.md. (2019).
[13]
2019. Snabb NFV for OpenStack. https://github.com/snabbco/snabb-nfv. (2019).
[14]
2019. The LuaJIT Project. http://luajit.org/. (2019).
[15]
2019. Vhost-user Protocol. https://github.com/qemu/qemu/blob/master/docs/interop/vhost-user.txt. (2019).
[16]
2019. VPP - fd.io. https://wiki.fd.io/view/VPP. (2019).
[17]
2019. VPP/How To Optimize Performance (System Tuning). https://wiki.fd.io/view/VPP/How_To_Optimize_Performance_(System_Tuning). (2019).
[18]
2019. VSperf Home. https://wiki.opnfv.org/display/vsperf/VSperf+Home. (2019).
[19]
Vamsi Addanki, Leonardo Linguaglossa, James Roberts, and Dario Rossi. 2019. Controlling software router resource sharing by fair packet dropping. In 2018 IFIP Networking Conference (IFIP Networking) and Workshops. IEEE, 1--9.
[20]
D. Barach, L. Linguaglossa, D. Marion, P. Pfister, S. Pontarelli, and D. Rossi. 2018. High-Speed Software Data Plane via Vectorized Packet Processing. IEEE Communications Magazine 56, 12 (December 2018), 97--103.
[21]
Tom Barbette, Cyril Soldani, and Laurent Mathy. 2015. Fast userspace packet processing. In 2015 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS). IEEE, 5--16.
[22]
Theophilus Benson, Ashok Anand, Aditya Akella, and Ming Zhang. 2009. Understanding data center traffic characteristics. In Proceedings of the 1st ACM workshop on Research on enterprise networking. ACM, 65--72.
[23]
Nicola Bonelli, Andrea Di Pietro, Stefano Giordano, and Gregorio Procissi. 2012. On multi-gigabit packet capturing with multi-core commodity hardware. In International Conference on Passive and Active Network Measurement. Springer, 64--73.
[24]
Nicola Bonelli, Gregorio Procissi, Davide Sanvito, and Roberto Bifulco. 2017. The acceleration of OfSoftSwitch. In 2017 IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN). IEEE, 1--6.
[25]
Pat Bosshart, Dan Daly, Glen Gibb, Martin Izzard, Nick McKeown, Jennifer Rexford, Cole Schlesinger, Dan Talayco, Amin Vahdat, George Varghese, et al. 2014. P4: Programming protocol-independent packet processors. ACM SIGCOMM Computer Communication Review 44, 3 (2014), 87--95.
[26]
Scott Bradner and Jim McQuaid. 1999. RFC 2544 - Benchmarking methodology for network interconnect devices (Internet Engineering Task Force (IETF)).
[27]
Sean Choi, Xiang Long, Muhammad Shahbaz, Skip Booth, Andy Keep, John Marshall, and Changhoon Kim. 2017. Pvpp: A programmable vector packet processor. In Proceedings of the Symposium on SDN Research. ACM, 197--198.
[28]
Mihai Dobrescu, Norbert Egi, Katerina Argyraki, Byung-Gon Chun, Kevin Fall, Gianluca Iannaccone, Allan Knies, Maziar Manesh, and Sylvia Ratnasamy. 2009. RouteBricks: exploiting parallelism to scale software routers. In Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles. ACM, 15--28.
[29]
Paul Emmerich, Sebastian Gallenmüller, Daniel Raumer, Florian Wohlfart, and Georg Carle. 2015. Moongen: A scriptable high-speed packet generator. In Proceedings of the 2015 Internet Measurement Conference. ACM, 275--287.
[30]
Paul Emmerich, Daniel Raumer, Sebastian Gallenmüller, Florian Wohlfart, and Georg Carle. 2018. Throughput and Latency of Virtual Switching with Open vSwitch: A Quantitative Analysis. Journal of Network and Systems Management 26, 2 (2018), 314--338.
[31]
Paul Emmerich, Daniel Raumer, Florian Wohlfart, and Georg Carle. 2014. Performance characteristics of virtual switching. In 2014 IEEE 3rd International Conference on Cloud Networking (CloudNet). IEEE, 120--125.
[32]
Vivian Fang, T Lvai, Sangjin Han, Sylvia Ratnasamy, Barath Raghavan, and Justine Sherry. 2018. Evaluating Software Switches: Hard or Hopeless? EECS Department, University of California, Berkeley, Tech. Rep. UCB/EECS-2018-136 (2018).
[33]
Daniel Firestone. 2017. {VFP}: A Virtual Switch Platform for Host {SDN} in the Public Cloud. In 14th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 17). 315--328.
[34]
Sebastian Gallenmüller, Paul Emmerich, Rainer Schönberger, Daniel Raumer, and Georg Carle. 2017. Building Fast but Flexible Software Routers. In 2017 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS). IEEE, 101--102.
[35]
Massimo Gallo and Rafael Laufer. 2018. Clicknf: a modular stack for custom network functions. In 2018 {USENIX} Annual Technical Conference ({USENIX}{ATC} 18). 745--757.
[36]
Massimo Gallo and Fabio Pianese. 2018. vNS: A Modular Programmable Virtual Network Switch. In Proceedings of the ACM SIGCOMM 2018 Conference on Posters and Demos (SIGCOMM '18). ACM, New York, NY, USA, 96--98.
[37]
Han. 2018. BESS connecting to VM. https://github.com/NetSys/bess/issues/874. (2018).
[38]
Sangjin Han, Keon Jang, Aurojit Panda, Shoumik Palkar, Dongsu Han, and Sylvia Ratnasamy. 2015. SoftNIC: A software NIC to augment hardware. Dept. EECS, Univ. California, Berkeley, Berkeley, CA, USA, Tech. Rep. UCB/EECS-2015-155 (2015).
[39]
Sangjin Han, Keon Jang, KyoungSoo Park, and Sue Moon. 2011. PacketShader: a GPU-accelerated software router. ACM SIGCOMM Computer Communication Review 41, 4 (2011), 195--206.
[40]
Michio Honda, Felipe Huici, Giuseppe Lettieri, and Luigi Rizzo. 2015. mSwitch: a highly-scalable, modular software switch. In Proceedings of the 1st ACM SIGCOMM Symposium on Software Defined Networking Research. ACM, 1.
[41]
Eddie Kohler, Robert Morris, Benjie Chen, John Jannotti, and M Frans Kaashoek. 2000. The Click modular router. ACM Transactions on Computer Systems (TOCS) 18, 3 (2000), 263--297.
[42]
Sándor Laki, Dániel Horpácsi, Péter Vörös, Róbert Kitlei, Dániel Leskó, and Máté Tejfel. 2016. High speed packet forwarding compiled from protocol independent data plane specifications. In Proceedings of the 2016 ACM SIGCOMM Conference. ACM, 629--630.
[43]
Rafael Laufer, Massimo Gallo, Diego Perino, and Anandatirtha Nandugudi. 2016. Climb: Enabling network function composition with click middleboxes. ACM SIGCOMM Computer Communication Review 46, 4 (2016), 17--22.
[44]
Giuseppe Lettieri, Vincenzo Maffione, and Luigi Rizzo. 2017. A Survey of Fast Packet I/O Technologies for Network Function Virtualization. In International Conference on High Performance Computing. Springer, 579--590.
[45]
Leonardo Linguaglossa, Stanislav Lange, Salvatore Pontarelli, Gábor Rétvári, Dario Rossi, Thomas Zinner, Roberto Bifulco, Michael Jarschel, and Giuseppe Bianchi. 2019. Survey of Performance Acceleration Techniques for Network Function Virtualization [45pt]. Proc. IEEE (2019).
[46]
Leonardo Linguaglossa, Dario Rossi, Salvatore Pontarelli, Dave Barach, Damjan Marjon, and Pierre Pfister. 2019. High-speed data plane and network functions virtualization by vectorizing packet processing. Computer Networks 149 (2019), 187 -- 199.
[47]
Vincenzo Maffione, Luigi Rizzo, and Giuseppe Lettieri. 2016. Flexible virtual machine networking using netmap passthrough. In 2016 IEEE International Symposium on Local and Metropolitan Area Networks (LANMAN). IEEE, 1--6.
[48]
Zhixiong Niu, Hong Xu, Libin Liu, Yongqiang Tian, Peng Wang, and Zhenhua Li. 2017. Unveiling performance of NFV software dataplanes. In Proceedings of the 2nd Workshop on Cloud-Assisted Networking. ACM, 13--18.
[49]
Michele Paolino, Nikolay Nikolaev, Jeremy Fanguede, and Daniel Raho. 2015. SnabbSwitch user space virtual switch benchmark and performance optimization for NFV. In 2015 IEEE Conference on Network Function Virtualization and Software Defined Network (NFV-SDN). IEEE, 86--92.
[50]
Nikolai Pitaev, Matthias Falkner, Aris Leivadeas, and Ioannis Lambadaris. 2018. Characterizing the performance of concurrent virtualized network functions with OVS-DPDK, FD. IO VPP and SR-IOV. In Proceedings of the 2018 ACM/SPEC International Conference on Performance Engineering. ACM, 285--292.
[51]
Nikolai Pitaev, Matthias Falkner, Aris Leivadeasy, and Ioannis Lambadarisy. 2017. Multi-VNF performance characterization for virtualized network functions. In 2017 IEEE Conference on Network Softwarization (NetSoft). IEEE, 1--5.
[52]
Reza Rahimi, Malathi Veeraraghavan, Yoshihiro Nakajima, Hirokazu Takahashi, S Okamoto, and N Yamanaka. 2016. A high-performance OpenFlow software switch. In 2016 IEEE 17th International Conference on High Performance Switching and Routing (HPSR). IEEE, 93--99.
[53]
Kaushik Kumar Ram, Alan L Cox, Mehul Chadha, and Scott Rixner. 2013. Hyperswitch: A scalable software virtual switching architecture. In Presented as part of the 2013 {USENIX} Annual Technical Conference ({USENIX}{ATC} 13). 13--24.
[54]
Luigi Rizzo. 2012. Netmap: a novel framework for fast packet I/O. In 21st USENIX Security Symposium (USENIX Security 12). 101--112.
[55]
Luigi Rizzo and Giuseppe Lettieri. 2012. Vale, a switched ethernet for virtual machines. In Proceedings of the 8th international conference on Emerging networking experiments and technologies. ACM, 61--72.
[56]
Rusty Russell. 2008. virtio: towards a de-facto standard for virtual I/O devices. ACM SIGOPS Operating Systems Review 42, 5 (2008), 95--103.
[57]
Muhammad Shahbaz, Sean Choi, Ben Pfaff, Changhoon Kim, Nick Feamster, Nick McKeown, and Jennifer Rexford. 2016. Pisces: A programmable, protocol-independent software switch. In Proceedings of the 2016 ACM SIGCOMM Conference. ACM, 525--538.
[58]
Sivasothy Shanmugalingam, Adlen Ksentini, and Philippe Bertin. 2016. DPDK Open vSwitch performance validation with mirroring feature. In 2016 23rd International Conference on Telecommunications (ICT). IEEE, 1--6.
[59]
Maryam Tahhan, Billy O'Mahony, and Al Morton. 2017. Benchmarking Virtual Switches in the Open Platform for NFV (OPNFV). RFC 8204. (Sept. 2017).
[60]
Tianzhu Zhang, Leonardo Linguaglossa, Massimo Gallo, Paolo Giaccone, and Dario Rossi. 2018. FlowMon-DPDK: Parsimonious per-flow software monitoring at line rate. In 2018 Network Traffic Measurement and Analysis Conference (TMA). IFIP/IEEE, 1--8.
[61]
Tianzhu Zhang, Leonardo Linguaglossa, Massimo Gallo, Paolo Giaccone, and Dario Rossi. 2019. FloWatcher-DPDK: lightweight line-rate flow-level monitoring in software. IEEE Transactions on Network and Service Management (2019).
[62]
Tianzhu Zhang, Leonardo Linguaglossa, James Roberts, Luigi Iannone, Massimo Gallo, and Paolo Giaccone. 2019. A benchmarking methodology for evaluating software switch performance for NFV. In 2019 IEEE Conference on Network Softwarization (NetSoft). IEEE, 251--253.
[63]
Dong Zhou, Bin Fan, Hyeontaek Lim, Michael Kaminsky, and David G Andersen. 2013. Scalable, high performance ethernet forwarding with cuckooswitch. In Proceedings of the ninth ACM conference on Emerging networking experiments and technologies. ACM, 97--108.

Cited By

View all
  • (2024)Fast Software IPv6 Lookup With NeurotrieIEEE/ACM Transactions on Networking10.1109/TNET.2024.340459932:5(4040-4055)Online publication date: Oct-2024
  • (2024)Non-invasive performance prediction of high-speed softwarized network services with limited knowledgeIEEE INFOCOM 2024 - IEEE Conference on Computer Communications10.1109/INFOCOM52122.2024.10621097(2328-2337)Online publication date: 20-May-2024
  • (2024)An NFV-Based Framework for Autonomous Deployment of New Protocols in SDN NetworksIEEE Access10.1109/ACCESS.2024.347624412(148727-148740)Online publication date: 2024
  • Show More Cited By

Index Terms

  1. Comparing the performance of state-of-the-art software switches for NFV

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      CoNEXT '19: Proceedings of the 15th International Conference on Emerging Networking Experiments And Technologies
      December 2019
      395 pages
      ISBN:9781450369985
      DOI:10.1145/3359989
      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: 03 December 2019

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. network function virtualization
      2. performance comparison
      3. software switch

      Qualifiers

      • Research-article

      Conference

      CoNEXT '19
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 198 of 789 submissions, 25%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)33
      • Downloads (Last 6 weeks)6
      Reflects downloads up to 17 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Fast Software IPv6 Lookup With NeurotrieIEEE/ACM Transactions on Networking10.1109/TNET.2024.340459932:5(4040-4055)Online publication date: Oct-2024
      • (2024)Non-invasive performance prediction of high-speed softwarized network services with limited knowledgeIEEE INFOCOM 2024 - IEEE Conference on Computer Communications10.1109/INFOCOM52122.2024.10621097(2328-2337)Online publication date: 20-May-2024
      • (2024)An NFV-Based Framework for Autonomous Deployment of New Protocols in SDN NetworksIEEE Access10.1109/ACCESS.2024.347624412(148727-148740)Online publication date: 2024
      • (2024)Prioritization and offloading in P4 switch integrated with NFVTelecommunication Systems10.1007/s11235-024-01129-286:3(571-584)Online publication date: 16-Apr-2024
      • (2023)Metronome: Adaptive and Precise Intermittent Packet Retrieval in DPDKIEEE/ACM Transactions on Networking10.1109/TNET.2022.320879931:3(979-993)Online publication date: Jun-2023
      • (2022)Integrated SDN-NFV 5G Network Performance and Management-Complexity EvaluationFuture Internet10.3390/fi1412037814:12(378)Online publication date: 14-Dec-2022
      • (2022)Neurotrie: Deep Reinforcement Learning-based Fast Software IPv6 Lookup2022 IEEE 42nd International Conference on Distributed Computing Systems (ICDCS)10.1109/ICDCS54860.2022.00093(917-927)Online publication date: Jul-2022
      • (2022)Fine-Grained I/O Traffic Control Middleware for I/O Fairness in Virtualized SystemIEEE Access10.1109/ACCESS.2022.318773110(73122-73144)Online publication date: 2022
      • (2021)Discrete-Time Modeling of NFV Accelerators that Exploit Batched ProcessingACM Transactions on Modeling and Performance Evaluation of Computing Systems10.1145/34882436:3(1-27)Online publication date: 2-Dec-2021
      • (2021)PacketMill: toward per-Core 100-Gbps networkingProceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3445814.3446724(1-17)Online publication date: 19-Apr-2021
      • Show More Cited By

      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