Abstract
Network Function Virtualization (NFV) aims at bringing the benefits of virtualization to network middleboxes (routers, firewalls, Intrusion Detection Systems, ...). In the last few years the NFV use-case, initially hampered by the poor performance of traditional virtualized-I/O and network stacks, has prompted the design of several frameworks, all trying to provide a fast network for VMs and/or containers. These solutions share many common ideas, but also differ in performance, flexibility, portability, amount of specialized hardware required and/or software to be rewritten, attention to energy consumption issues, and so on. In this survey we focus on the NFV data-path, as opposed to the orthogonal control-path. We define a set of desirable features for NFV data-paths and use them to compare a selection of the most promising and/or widely used NFV frameworks. No single solution is optimal for all the features, so our survey may prompt for further research in this area.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Notes
- 1.
Although also traditional OSes are slowly evolving, e.g. Linux recently introduced support for batch transmission.
References
Network Functions Virtualisation: Architectural Framework (2012). http://www.etsi.org/deliver/etsi_gs/nfv/001_099/002/01.01.01_60/gs_nfv002v010101p.pdf
Network function virtualisation introductory white paper (2012). https://portal.etsi.org/nfv/nfv_white_paper.pdf
Jain, R., Paul, S.: Network virtualization and software defined networking for cloud computing: a survey. IEEE Commun. Mag. 51(11), 24–31 (2013)
Li, Y., Chen, M.: Software-defined network function virtualization: a survey. IEEE Access 3, 2542–2553 (2015)
Herrera, J.G., Botero, J.F.: Resource allocation in NFV: a comprehensive survey. IEEE Trans. Netw. Serv. Manag. 13(3), 518–532 (2016)
Yang, W., Fung, C.: A survey on security in network functions virtualization. In: 2016 IEEE NetSoft Conference and Workshops (NetSoft), pp. 15–19. IEEE (2016)
Jones, T.: Linux virtualization and PCI passthrough (2009). http://www.ibm.com/developerworks/linux/library/l-pci-passthrough/
VFIO linux kernel documentation. https://www.kernel.org/doc/Documentation/vfio.txt
Ben-Yehuda, M., et al.: Utilizing IOMMUs for virtualization in Linux and Xen. In: Proceedings of the Linux Symposium (2006)
Dong, Y., Yang, X., Li, X., Li, J., Tian, K., Guan, H.: High performance network virtualization with SR-IOV. In: HPCA - 16 2010 The Sixteenth International Symposium on High-Performance Computer Architecture, pp. 1–10, January 2010
Intel, PCI-SIG SR-IOV primer (2011). http://www.intel.com/content/dam/doc/application-note/pci-sig-sr-iov-primer-sr-iov-technology-paper.pdf
Pfaff, B., Pettit, J., Koponen, T., Jackson, E., Zhou, A., Rajahalme, J., Gross, J., Wang, A., Stringer, J., Shelar, P., Amidon, K., Casado, M.: The design and implementation of Open vSwitch. In: 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2015), Oakland, CA, pp. 117–130. USENIX Association (2015)
QEMU documentation, vhost-user protocol. http://git.qemu.org/?p=qemu.git;a=blob_plain;f=docs/specs/vhost-user.txt;hb=HEAD
OVS documentation, DPDK vhost-user ports. http://docs.openvswitch.org/en/latest/topics/dpdk/vhost-user/
Data plane development kit. http://www.dpdk.org
Hwang, J., Ramakrishnan, K.K., Wood, T.: NetVM: high performance and flexible networking using virtualization on commodity platforms. In: 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2014), pp. 445–458 (2014)
Zhang, W., Liu, G., Zhang, W., Shah, N., Lopreiato, P., Todeschi, G., Ramakrishnan, K., Wood, T.: OpenNetVM: a platform for high performance network service chains. In: Proceedings of the 2016 Workshop on Hot Topics in Middleboxes and Network Function Virtualization, HotMIddlebox 2016, pp. 26–31. ACM, New York (2016)
Rizzo, L.: netmap: a novel framework for fast packet I/O. In: USENIX ATC 2012. USENIX Association, Boston (2012)
Rizzo, L., Lettieri, G.: VALE, a switched ethernet for virtual machines. In: ACM CoNEXT (2012)
Honda, M., Huici, F., Lettieri, G., Rizzo, L.: mSwitch: a highly-scalable, modular software switch. In: Proceedings of the 1st ACM SIGCOMM Symposium on Software Defined Networking Research. ACM (2015)
Garzarella, S., Lettieri, G., Rizzo, L.: Virtual device passthrough for high speed VM networking. In: Proceedings of ACM/IEEE ANCS 2015, pp. 99–110 (2015)
Maffione, V., Rizzo, L., Lettieri, G.: Flexible virtual machine networking using netmap passthrough. In: IEEE LANMAN 2016 (2016)
Paolino, M., Nikolaev, N., Fanguede, J., Raho, D.: 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), pp. 86–92, November 2015
The Snabb reference manual. http://snabbco.github.io/
Martins, J., Ahmed, M., Raiciu, C., Olteanu, V., Honda, M., Bifulco, R., Huici, F.: ClickOS and the art of network function virtualization. In: Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation, NSDI 2014, Berkeley, CA, USA, pp. 459–473. USENIX Association (2014)
Han, S., Jang, K., Panda, A., Palkar, S., Han, D., Ratnasamy, S.: SoftNIC: a software NIC to augment hardware, Technical report UCB/EECS-2015-155, EECS Department, University of California, Berkeley, May 2015
Panda, A., Han, S., Jang, K., Walls, M., Ratnasamy, S., Shenker, S.: Netbricks: taking the V out of NFV. In: 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2016), GA, pp. 203–216. USENIX Association (2016)
Russell, R.: Virtio: towards a de-facto standard for virtual I/O devices. ACM SIGOPS Operating Syst. Rev. 42(5), 95–103 (2008)
Russel, R., Tsirkin, M., Huck, C.: The VirtIO specification. http://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.html
McKeown, N., Anderson, T., Balakrishnan, H., Parulkar, G., Peterson, L., Rexford, J., Shenker, S., Turner, J.: OpenFlow: enabling innovation in campus networks. SIGCOMM Comput. Commun. Rev. 38, 69–74 (2008)
Kreutz, D., Ramos, F.M.V., Verssimo, P.E., Rothenberg, C.E., Azodolmolky, S., Uhlig, S.: Software-defined networking: a comprehensive survey. Proc. IEEE 103, 14–76 (2015)
Clark, C., Fraser, K., Hand, S., Hansen, J.G., Jul, E., Limpach, C., Pratt, I., Warfield, A.: Live migration of virtual machines. In: Proceedings of the 2nd Conference on Symposium on Networked Systems Design & Implementation, NSDI 2005, vol. 2, Berkeley, CA, USA, pp. 273–286. USENIX Association (2005)
Live migrate guests w/PCI pass-through devices. https://www.fujitsu.com/jp/documents/products/software/os/linux/catalog/LinuxConJapan2015-Izumi.pdf
KVM halt-poll optimization. https://lkml.org/lkml/2015/2/6/319
Acknowledgements
This paper has received funding from the European Union’s Horizon 2020 research and innovation programme 2014-2018 under grant agreement No. 644866. This paper reflects only the authors’ views and the European Commission is not responsible for any use that may be made of the information it contains.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Lettieri, G., Maffione, V., Rizzo, L. (2017). A Survey of Fast Packet I/O Technologies for Network Function Virtualization. In: Kunkel, J., Yokota, R., Taufer, M., Shalf, J. (eds) High Performance Computing. ISC High Performance 2017. Lecture Notes in Computer Science(), vol 10524. Springer, Cham. https://doi.org/10.1007/978-3-319-67630-2_40
Download citation
DOI: https://doi.org/10.1007/978-3-319-67630-2_40
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-67629-6
Online ISBN: 978-3-319-67630-2
eBook Packages: Computer ScienceComputer Science (R0)