PacketUsher: Exploiting DPDK to accelerate compute-intensive packet processing

Abstract Many compute-intensive network applications such as application-layer traffic generator, Deep Packet Inspection(DPI) and web servers are widely deployed on commodity PC for the reason of flexibility and cheap price. However, how to improve their performance on general purpose OS is challenging due to the high packet I/O related overheads. This paper presents PacketUsher, a high-performance packets processing framework to remove these performance bottlenecks. In building PacketUsher, we constructed a DPDK wrapper as the underlying packet I/O engine to accelerate packet transmission, and utilized the strategies of zero copy, batch processing and parallelism to improve packet processing. Through RFC2544 benchmark, we demonstrate that DPDK wrapper has excellent packets transmission capability. As a case study of PacketUsher, we design and implement a commercial application-layer traffic generator. The experiment results show that the FPS (Flow Per Second) value of our traffic generator over PacketUsher is more than 4 times of that over standard Linux platform. By comparison, the FPS value over PacketUsher is about 3 times of that over existing methods (Netmap and PF_RING).

[1]  Stanislav Lange,et al.  Discrete-Time Modeling of NFV Accelerators that Exploit Batched Processing , 2019, IEEE INFOCOM 2019 - IEEE Conference on Computer Communications.

[2]  Cheng Rui,et al.  The research on the software architecture of network packet processing based on the many-core processors , 2016, 2016 7th IEEE International Conference on Software Engineering and Service Science (ICSESS).

[3]  Balázs Németh,et al.  FERO: Fast and Efficient Resource Orchestrator for a Data Plane Built on Docker and DPDK , 2018, IEEE INFOCOM 2018 - IEEE Conference on Computer Communications.

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

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

[6]  Ulf Noring Investigating the possibility of speeding up Mininet by using Netmap, an alternative Linux packet I/O framework , 2018, KES.

[7]  Martín Casado,et al.  The Design and Implementation of Open vSwitch , 2015, NSDI.

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

[9]  Chen Tian,et al.  OpenFunction: An Extensible Data Plane Abstraction Protocol for Platform-Independent Software-Defined Middleboxes , 2018, IEEE/ACM Transactions on Networking.

[10]  Dongyang Wang,et al.  ZCopy-Vhost: Replacing Data Copy With Page Remapping in Virtual Packet I/O , 2019, IEEE Access.

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

[12]  Andrew W. Moore,et al.  NetFPGA: Rapid Prototyping of Networking Devices in Open Source , 2015, SIGCOMM.

[13]  Tao Sun,et al.  High Performance NetFPGA and Multi-fractal Wavelet Model Based Network Traffic Generator , 2015, ICSI.

[14]  Mohit P. Tahiliani,et al.  Extending Network Emulation Support in ns-3 using DPDK , 2019, WNS3.

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

[16]  Stefano Giordano,et al.  Design of a High Performance Traffic Generator on Network Processor , 2008, 2008 11th EUROMICRO Conference on Digital System Design Architectures, Methods and Tools.

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

[18]  Fengyuan Ren,et al.  Power Efficient High Performance Packet I/O , 2018, ICPP.

[19]  Stefano Giordano,et al.  Flexible High Performance Traffic Generation on Commodity Multi-core Platforms , 2012, TMA.

[20]  Fengyuan Ren,et al.  Smart Batching: A Load-Sensitive Self-Tuning Packet I/O Using Dynamic Batch Sizing , 2016, 2016 IEEE 18th International Conference on High Performance Computing and Communications; IEEE 14th International Conference on Smart City; IEEE 2nd International Conference on Data Science and Systems (HPCC/SmartCity/DSS).

[21]  EDDIE KOHLER,et al.  The click modular router , 2000, TOCS.

[22]  Yongqiang Xiong,et al.  ClickNP: Highly Flexible and High Performance Network Processing with Reconfigurable Hardware , 2016, SIGCOMM.

[23]  Baozi Chen Optimizing Network I/O Virtualization for Scale-Out Processor , 2018, 2018 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computing, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/SCALCOM/UIC/ATC/CBDCom/IOP/SCI).