Skip to main content

A Survey of Fast Packet I/O Technologies for Network Function Virtualization

  • Conference paper
  • First Online:
High Performance Computing (ISC High Performance 2017)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10524))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Notes

  1. 1.

    Although also traditional OSes are slowly evolving, e.g. Linux recently introduced support for batch transmission.

References

  1. Network Functions Virtualisation: Architectural Framework (2012). http://www.etsi.org/deliver/etsi_gs/nfv/001_099/002/01.01.01_60/gs_nfv002v010101p.pdf

  2. Network function virtualisation introductory white paper (2012). https://portal.etsi.org/nfv/nfv_white_paper.pdf

  3. Jain, R., Paul, S.: Network virtualization and software defined networking for cloud computing: a survey. IEEE Commun. Mag. 51(11), 24–31 (2013)

    Article  Google Scholar 

  4. Li, Y., Chen, M.: Software-defined network function virtualization: a survey. IEEE Access 3, 2542–2553 (2015)

    Article  Google Scholar 

  5. Herrera, J.G., Botero, J.F.: Resource allocation in NFV: a comprehensive survey. IEEE Trans. Netw. Serv. Manag. 13(3), 518–532 (2016)

    Article  Google Scholar 

  6. 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)

    Google Scholar 

  7. Jones, T.: Linux virtualization and PCI passthrough (2009). http://www.ibm.com/developerworks/linux/library/l-pci-passthrough/

  8. VFIO linux kernel documentation. https://www.kernel.org/doc/Documentation/vfio.txt

  9. Ben-Yehuda, M., et al.: Utilizing IOMMUs for virtualization in Linux and Xen. In: Proceedings of the Linux Symposium (2006)

    Google Scholar 

  10. 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

    Google Scholar 

  11. 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

  12. 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)

    Google Scholar 

  13. QEMU documentation, vhost-user protocol. http://git.qemu.org/?p=qemu.git;a=blob_plain;f=docs/specs/vhost-user.txt;hb=HEAD

  14. OVS documentation, DPDK vhost-user ports. http://docs.openvswitch.org/en/latest/topics/dpdk/vhost-user/

  15. Data plane development kit. http://www.dpdk.org

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. Rizzo, L.: netmap: a novel framework for fast packet I/O. In: USENIX ATC 2012. USENIX Association, Boston (2012)

    Google Scholar 

  19. Rizzo, L., Lettieri, G.: VALE, a switched ethernet for virtual machines. In: ACM CoNEXT (2012)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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)

    Google Scholar 

  22. Maffione, V., Rizzo, L., Lettieri, G.: Flexible virtual machine networking using netmap passthrough. In: IEEE LANMAN 2016 (2016)

    Google Scholar 

  23. 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

    Google Scholar 

  24. The Snabb reference manual. http://snabbco.github.io/

  25. 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)

    Google Scholar 

  26. 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

    Google Scholar 

  27. 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)

    Google Scholar 

  28. Russell, R.: Virtio: towards a de-facto standard for virtual I/O devices. ACM SIGOPS Operating Syst. Rev. 42(5), 95–103 (2008)

    Article  Google Scholar 

  29. Russel, R., Tsirkin, M., Huck, C.: The VirtIO specification. http://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.html

  30. 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)

    Article  Google Scholar 

  31. 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)

    Article  Google Scholar 

  32. 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)

    Google Scholar 

  33. Live migrate guests w/PCI pass-through devices. https://www.fujitsu.com/jp/documents/products/software/os/linux/catalog/LinuxConJapan2015-Izumi.pdf

  34. KVM halt-poll optimization. https://lkml.org/lkml/2015/2/6/319

Download references

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

Authors

Corresponding authors

Correspondence to Giuseppe Lettieri , Vincenzo Maffione or Luigi Rizzo .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics