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

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.

[1]  Ioannis Lambadaris,et al.  Characterizing the Performance of Concurrent Virtualized Network Functions with OVS-DPDK, FD.IO VPP and SR-IOV , 2018, ICPE.

[2]  George Varghese,et al.  P4: programming protocol-independent packet processors , 2013, CCRV.

[3]  Alan L. Cox,et al.  Hyper-Switch: A Scalable Software Virtual Switching Architecture , 2013, USENIX Annual Technical Conference.

[4]  Katerina J. Argyraki,et al.  RouteBricks: exploiting parallelism to scale software routers , 2009, SOSP '09.

[5]  Massimo Gallo,et al.  A benchmarking methodology for evaluating software switch performance for NFV , 2019, 2019 IEEE Conference on Network Softwarization (NetSoft).

[6]  Dong Zhou,et al.  Scalable, high performance ethernet forwarding with CuckooSwitch , 2013, CoNEXT.

[7]  Massimo Gallo,et al.  vNS: a modular programmable virtual network switch , 2018, SIGCOMM Posters and Demos.

[8]  Eddie Kohler,et al.  The Click modular router , 1999, SOSP.

[9]  Stefano Giordano,et al.  On Multi-gigabit Packet Capturing with Multi-core Commodity Hardware , 2012, PAM.

[10]  Al Morton,et al.  Benchmarking Virtual Switches in the Open Platform for NFV (OPNFV) , 2017, RFC.

[11]  Giuseppe Lettieri,et al.  Flexible virtual machine networking using netmap passthrough , 2016, 2016 IEEE International Symposium on Local and Metropolitan Area Networks (LANMAN).

[12]  Ioannis Lambadaris,et al.  Multi-VNF performance characterization for virtualized network functions , 2017, 2017 IEEE Conference on Network Softwarization (NetSoft).

[13]  Michio Honda,et al.  mSwitch: a highly-scalable, modular software switch , 2015, SOSR.

[14]  Tianzhu Zhang,et al.  FloWatcher-DPDK: Lightweight Line-Rate Flow-Level Monitoring in Software , 2019, IEEE Transactions on Network and Service Management.

[15]  Leonardo Linguaglossa,et al.  Controlling software router resource sharing by fair packet dropping , 2018, 2018 IFIP Networking Conference (IFIP Networking) and Workshops.

[16]  Daniel Raumer,et al.  Throughput and Latency of Virtual Switching with Open vSwitch: A Quantitative Analysis , 2018, Journal of Network and Systems Management.

[17]  Giuseppe Lettieri,et al.  A Survey of Fast Packet I/O Technologies for Network Function Virtualization , 2017, ISC Workshops.

[18]  Leonardo Linguaglossa,et al.  High-Speed Software Data Plane via Vectorized Packet Processing , 2018, IEEE Communications Magazine.

[19]  Ming Zhang,et al.  Understanding data center traffic characteristics , 2010, CCRV.

[20]  Gregorio Procissi,et al.  The acceleration of OfSoftSwitch , 2017, 2017 IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN).

[21]  Giuseppe Lettieri,et al.  VALE, a switched ethernet for virtual machines , 2012, CoNEXT '12.

[22]  Massimo Gallo,et al.  ClickNF: a Modular Stack for Custom Network Functions , 2018, USENIX Annual Technical Conference.

[23]  Daniel Firestone,et al.  VFP: A Virtual Switch Platform for Host SDN in the Public Cloud , 2017, NSDI.

[24]  Luigi Rizzo,et al.  netmap: A Novel Framework for Fast Packet I/O , 2012, USENIX ATC.

[25]  Peng Wang,et al.  Unveiling performance of NFV software dataplanes , 2017, CAN@CoNEXT.

[26]  John Marshall,et al.  PVPP: A Programmable Vector Packet Processor , 2017, SOSR.

[27]  Tianzhu Zhang,et al.  FlowMon-DPDK: Parsimonious Per-Flow Software Monitoring at Line Rate , 2018, 2018 Network Traffic Measurement and Analysis Conference (TMA).

[28]  Daniel Raumer,et al.  Building Fast but Flexible Software Routers , 2017, 2017 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[29]  Rusty Russell,et al.  virtio: towards a de-facto standard for virtual I/O devices , 2008, OPSR.

[30]  Stanislav Lange,et al.  Survey of Performance Acceleration Techniques for Network Function Virtualization , 2019, Proceedings of the IEEE.

[31]  Nick McKeown,et al.  PISCES: A Programmable, Protocol-Independent Software Switch , 2016, SIGCOMM.

[32]  Sylvia Ratnasamy,et al.  SoftNIC: A Software NIC to Augment Hardware , 2015 .

[33]  Sylvia Ratnasamy,et al.  Evaluating Software Switches : Hard or Hopeless ? , 2018 .

[34]  Laurent Mathy,et al.  Fast userspace packet processing , 2015, 2015 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[35]  Sándor Laki,et al.  High speed packet forwarding compiled from protocol independent data plane specifications , 2016, SIGCOMM.

[36]  Daniel Raumer,et al.  MoonGen: A Scriptable High-Speed Packet Generator , 2014, Internet Measurement Conference.

[37]  Adlen Ksentini,et al.  DPDK Open vSwitch performance validation with mirroring feature , 2016, 2016 23rd International Conference on Telecommunications (ICT).

[38]  Naoaki Yamanaka,et al.  A high-performance OpenFlow software switch , 2016, 2016 IEEE 17th International Conference on High Performance Switching and Routing (HPSR).

[39]  Sangjin Han,et al.  PacketShader: a GPU-accelerated software router , 2010, SIGCOMM '10.

[40]  Scott O. Bradner,et al.  Benchmarking Methodology for Network Interconnect Devices , 1999, RFC.

[41]  Leonardo Linguaglossa,et al.  High-speed data plane and network functions virtualization by vectorizing packet processing , 2019, Comput. Networks.

[42]  Daniel Raumer,et al.  Performance characteristics of virtual switching , 2014, 2014 IEEE 3rd International Conference on Cloud Networking (CloudNet).

[43]  Massimo Gallo,et al.  CliMB: Enabling Network Function Composition with Click Middleboxes , 2016, CCRV.

[44]  Daniel Raho,et al.  SnabbSwitch user space virtual switch benchmark and performance optimization for NFV , 2015, 2015 IEEE Conference on Network Function Virtualization and Software Defined Network (NFV-SDN).