GPUNFV: a GPU-Accelerated NFV System

This paper presents GPUNFV, a high-performance NFV system providing flow-level micro services for stateful service chains with Graphics Processing Unit (GPU) acceleration. GPUNFV exploits the massively-parallel processing power of GPU to maximize the throughput of the NFV system. Combined with the customized flow handler, GPUNFV achieves a much better throughput than the existing NFV systems. With a carefully designed GPU-based virtualized network function framework, GPUNFV is able to efficiently support both stateful and stateless network functions. We have implemented a number of GPU-based network functions and a preliminary GPUNFV system to demonstrate the lexibility and potential of our design.

[1]  Dong Zhou,et al.  Raising the Bar for Using GPUs in Software Packet Processing , 2015, NSDI.

[2]  Aditya Gopalan,et al.  Optimizing distributed actor systems for dynamic interactive services , 2016, EuroSys.

[3]  Roberto Bifulco,et al.  ClickOS and the Art of Network Function Virtualization , 2014, NSDI.

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

[5]  Scott Shenker,et al.  E2: a framework for NFV applications , 2015, SOSP.

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

[7]  Ren Wang,et al.  Exploiting integrated GPUs for network packet processing workloads , 2016, 2016 IEEE NetSoft Conference and Workshops (NetSoft).

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

[9]  Aditya Akella,et al.  OpenNF , 2014, SIGCOMM.

[10]  Kang Kang,et al.  Scalable packet classification via GPU metaprogramming , 2011, 2011 Design, Automation & Test in Europe.

[11]  Sungryoul Lee,et al.  Kargus: a highly-scalable software-based intrusion detection system , 2012, CCS.

[12]  Robert Ricci,et al.  Fast and flexible: Parallel packet processing with GPUs and click , 2013, Architectures for Networking and Communications Systems.

[13]  Tianyi David Han,et al.  Reducing branch divergence in GPU programs , 2011, GPGPU-4.

[14]  Andrew Prout,et al.  Big Data Analysis using Distributed Actors Framework , 2013 .

[15]  K. K. Ramakrishnan,et al.  NetVM: High Performance and Flexible Networking Using Virtualization on Commodity Platforms , 2014, IEEE Transactions on Network and Service Management.

[16]  Aditya Akella,et al.  Stratos: Virtual Middleboxes as First-Class Entities , 2012 .