2
A Heterogeneous Parallel Packet Processing Architecture for NFV Acceleration Jinshu Su *† , Biao Han * , Gaofeng Lv * , Tao Li * , Zhigang Sun * * College of Computer, National University of Defense Technology, ChangSha, 410073, China National Key Laboratory of Parallel and Distributed Processing, ChangSha, 410073, China {sjs, nudtbill, lvever, taoli, sunzhigang}@nudt.edu.cn Abstract—Network function virtualization (NFV) offers a new way to design, deploy and manage networking services. It is of vital importance to exploit heterogeneous parallelism between hardware and software, in order to improve virtulization performance and quality of virtualized network services. In this poster, we propose a novel heterogeneous parallel architecture that highly exploits the parallelism inside packet processing, and implemen- tation efficacy with hardware processing engines and software threads. We present two packet processing pipelines with three implemented VNF instances to better demonstrate the efficiency of heterogeneous parallelism in accelerating NFV. We show the performance of our proposed architecture with various virtualized requirements and traffics in a well-deployed network environment. Experimental results reveal that it can achieve accelerated NFV performance, as well as provide a wide class of VNFs to improve the quality of virtualized network services. Index Terms—network function virtualization, heterogeneous parallelism, VNF I. I NTRODUCTION Network function virtualization (NFV) is a network architec- ture concept that utilizes the virtualization technology to virtual- ize entire classes of network node functions into building blocks that may connect, or chain together, to create communication services. A virtualized network function, or VNF, may consist of one or more virtual machines running different software and processes, on top of standard high-volume switching and routing devices, or even cloud computing infrastructure, instead of requiring custom hardware appliances for each network function [1]. While NFV has been studied in the wider space of computer networks, exploiting parallelism to support fully virtualized network services is attracting extensive attentions of late. Until very recently, most of the proposals achieve network function parallelism by running multiple independent stacks in parallel or using co-processors in software [2] [3]. Nevertheless, current software parallelization approaches may introduce inestimable processing delay, especially when the virtualized network func- tions are employed by massive subscribers. In addition, hard- ware solutions for NFV acceleration are very challenging to achieve packet processing flexibility. Therefore, it is of vital importance to exploit heterogeneous parallelism in packet pro- cessing to improve the virtulization performance and quality of virtualized network services. In order to achieve the above-mentioned objectives, in this poster, we propose a novel heterogeneous parallel packet pro- cessing architecture that highly exploits the parallelism in- Corresponding author is Biao Han([email protected]). Multi-core CPU Core 1 Thread 1 Thread 2 Core 2 Thread 1 Thread 2 ... Core 16 Thread 1 Thread 2 TM VNF-HW 1 FPGA OpenFlow Extension OFX VNF-HW TM VNF-HW 2 DPI DPI VNF-HW VNF-HW VNF-HW VNF-HW ... Dispatcher Parser Ingress Control Egress Control ... Core x Thread 1 Thread 2 ... PCIe OFX VNF-SW DPI VNF-SW TM VNF-SW VNF-SW VNF-HW VNF-HW VNF-HW VNF-HW VNF-HW VNF-HW Packet Processing Pipelines Fast I/O OFX: Openflow Extension TM: Traffic Manager DPI: Deep Packet Inspection VNF: Virtual Network Function HW: Hardware SW: Software Fig. 1. The implemented NFV acceleration platform architecture side packet processing, which is effectively implemented with hardware processing engines and software threads connected via fast I/O channels. We design and implement two packet processing pipelines with three implemented VNF instances to better evaluate the efficiency of heterogeneous parallelism in accelerating NFV. Specifically, we exploit the packet process- ing parallelization potentiality of Openflow and implement an extended Openflow VNF, with fine-grained packet processing flexibility. A traffic manager (TM) VNF is implemented to im- prove the quality of virtualized services for NFV acceleration in terms of queue dispatching, scheduling and reserved bandwidth allocation. II. SYSTEM ARCHITECTURE Fig.1 depicts the overview of our implemented NFV accelera- tion platform architecture. The core components in the platform are a FPGA-based network hardware combined with auxiliary multi-core processors. First, in order to fully utilize the high-speed parallel pro- cessing capability of FPGA to accelerate NFV, multiple parallel packet processing pipelines are implemented in our platform. Heterogeneous parallelism can be exploited by splitting VNFs into stateful protocol processing threads in software (VNF-SW) and fast packet forwarding engines in hardware (VNF-HW). A VNF instance consists of VNF-SW threads run in individual CPU core and VNF-HW modules executed in a light FPGA shell, in which states are retrieved and configured via fast 978-1-7281-2700-2/19/$31.00 2019 © IEEE

A Heterogeneous Parallel Packet Processing Architecture ...Network function virtualization (NFV) is a network architec- ... Fig.1 depicts the overview of our implemented NFV accelera-tion

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Heterogeneous Parallel Packet Processing Architecture ...Network function virtualization (NFV) is a network architec- ... Fig.1 depicts the overview of our implemented NFV accelera-tion

A Heterogeneous Parallel Packet ProcessingArchitecture for NFV Acceleration

Jinshu Su∗†, Biao Han∗, Gaofeng Lv∗, Tao Li∗, Zhigang Sun∗∗College of Computer, National University of Defense Technology, ChangSha, 410073, China†National Key Laboratory of Parallel and Distributed Processing, ChangSha, 410073, China

{sjs, nudtbill, lvever, taoli, sunzhigang}@nudt.edu.cn

Abstract—Network function virtualization (NFV) offers a newway to design, deploy and manage networking services. It is of vitalimportance to exploit heterogeneous parallelism between hardwareand software, in order to improve virtulization performanceand quality of virtualized network services. In this poster, wepropose a novel heterogeneous parallel architecture that highlyexploits the parallelism inside packet processing, and implemen-tation efficacy with hardware processing engines and softwarethreads. We present two packet processing pipelines with threeimplemented VNF instances to better demonstrate the efficiencyof heterogeneous parallelism in accelerating NFV. We show theperformance of our proposed architecture with various virtualizedrequirements and traffics in a well-deployed network environment.Experimental results reveal that it can achieve accelerated NFVperformance, as well as provide a wide class of VNFs to improvethe quality of virtualized network services.

Index Terms—network function virtualization, heterogeneousparallelism, VNF

I. INTRODUCTION

Network function virtualization (NFV) is a network architec-ture concept that utilizes the virtualization technology to virtual-ize entire classes of network node functions into building blocksthat may connect, or chain together, to create communicationservices. A virtualized network function, or VNF, may consistof one or more virtual machines running different software andprocesses, on top of standard high-volume switching and routingdevices, or even cloud computing infrastructure, instead ofrequiring custom hardware appliances for each network function[1].

While NFV has been studied in the wider space of computernetworks, exploiting parallelism to support fully virtualizednetwork services is attracting extensive attentions of late. Untilvery recently, most of the proposals achieve network functionparallelism by running multiple independent stacks in parallelor using co-processors in software [2] [3]. Nevertheless, currentsoftware parallelization approaches may introduce inestimableprocessing delay, especially when the virtualized network func-tions are employed by massive subscribers. In addition, hard-ware solutions for NFV acceleration are very challenging toachieve packet processing flexibility. Therefore, it is of vitalimportance to exploit heterogeneous parallelism in packet pro-cessing to improve the virtulization performance and quality ofvirtualized network services.

In order to achieve the above-mentioned objectives, in thisposter, we propose a novel heterogeneous parallel packet pro-cessing architecture that highly exploits the parallelism in-

Corresponding author is Biao Han([email protected]).

Multi-core CPU

Core 1

Thread 1 Thread 2

Core 2

Thread 1 Thread 2 ...

Core 16

Thread 1 Thread 2

TM VNF-HW 1

FPGA

OpenFlow Extension

OFX VNF-HW

TM VNF-HW 2

DPI

DPI VNF-HW

VNF-HW VNF-HW VNF-HW

...

Dis

patc

her

Pa

rser

Ingress

ControlEgress

Control

...

Core x

Thread 1 Thread 2 ...

PCIe

OFX VNF-SW DPI VNF-SW TM VNF-SWVNF-SW

VNF-HWVNF-HW

VNF-HWVNF-HW VNF-HW

VNF-HW

Packet Processing

Pipelines

Fast I/O

OFX: Openflow Extension

TM: Traffic Manager

DPI: Deep Packet Inspection

VNF: Virtual Network Function

HW: Hardware

SW: Software

Fig. 1. The implemented NFV acceleration platform architecture

side packet processing, which is effectively implemented withhardware processing engines and software threads connectedvia fast I/O channels. We design and implement two packetprocessing pipelines with three implemented VNF instances tobetter evaluate the efficiency of heterogeneous parallelism inaccelerating NFV. Specifically, we exploit the packet process-ing parallelization potentiality of Openflow and implement anextended Openflow VNF, with fine-grained packet processingflexibility. A traffic manager (TM) VNF is implemented to im-prove the quality of virtualized services for NFV acceleration interms of queue dispatching, scheduling and reserved bandwidthallocation.

II. SYSTEM ARCHITECTURE

Fig.1 depicts the overview of our implemented NFV accelera-tion platform architecture. The core components in the platformare a FPGA-based network hardware combined with auxiliarymulti-core processors.

First, in order to fully utilize the high-speed parallel pro-cessing capability of FPGA to accelerate NFV, multiple parallelpacket processing pipelines are implemented in our platform.Heterogeneous parallelism can be exploited by splitting VNFsinto stateful protocol processing threads in software (VNF-SW)and fast packet forwarding engines in hardware (VNF-HW). AVNF instance consists of VNF-SW threads run in individualCPU core and VNF-HW modules executed in a light FPGAshell, in which states are retrieved and configured via fast978-1-7281-2700-2/19/$31.00 2019 © IEEE

Page 2: A Heterogeneous Parallel Packet Processing Architecture ...Network function virtualization (NFV) is a network architec- ... Fig.1 depicts the overview of our implemented NFV accelera-tion

I/O channels. According to certain virtualization requirements,packet processing functionalities along a specific pipeline canbe dynamically orchestrated into multiple VNFs in software. Inthis poster, we will present two packet processing pipelines withthree implemented VNFs to better demonstrate the efficiency ofheterogeneous parallelism in accelerating NFV.

Second, in order to improve the quality of virtualized servicesfor NFV acceleration in terms of queue dispatching, schedulingand reserved bandwidth allocation, each flow queue is attachedwith an individual per-port processing priority in TM VNF-HW,which enables dynamic allocation of queue resources by TMVNF-SW. Flow queues are organized as single-stage multipleones. The key functionality is a preemptive priority based DeficitRound Robin (DRR) scheduling mechanism, namely PP-DRR,which is performed in a parallel and unified manner. A TM VNFinstance consists of a TM VNF-SW thread in an individual CPUcore and a TM VNF-HW module within a packet processingpipeline. It is feasible to deploy multiple instances in parallelto further exploit the unutilized bandwidth for differentiatedqualities of services and improve the link utilization.

Third, as current version of Openflow specification does notsupport heterogeneous parallelism and NFV acceleration, it isbeyond its capability to provide fine-grained and acceleratedpacket processing for NFV. In this poster, we exploit the parallelpacket processing potentiality of Openflow and implement anextended Openflow VNF, named OFX VNF, which consists ofan OFX VNF-HW module and multiple OFX VNF-SW threadsin multi-core. Besides of ordinary capabilities, OFX VNF-SWthreads can be associated to individual flows. Functionalitiessuch as packet abstract extraction, truncation and compressioncan be parallelly performed in software threads, upon the Open-flow based packet forwarding engines implemented in hardware.Besides, we also provide a DPI VNF in our platform, in whichmatching engine functionalities can be parallelly executed inboth DPI VNF-HW and DPI VNF-SW [4].

III. EVALUATIONS

The evaluation environment is set up as shown in Fig.2.In this poster, we will show the performance of our NFVacceleration platform with OFX VNF and TM VNF instances.The main equipment is our implemented NFV accelerationplatform, which can support high capacity packet processing,routing, switching, and deep packet inspection, with up to4*10G LAN/WAN/POS in standard SFP+ interfaces or 32*1GEin standard SFP interfaces. At the core of the platform are twoAltera Stratix V GX FPGAs, adjacent to a main control cardwith two multi-core processors in it. There are 16 cores withineach processor. The main evaluation tool is a SPIRENT AdtechAX/4000 Broadband Test System, which provides 1GE ports toanalyze traffics go through the NFV acceleration platform via astandard SFP interface. Connected with the test system with two1GE ports, our NFV acceleration platform receives packets viathese two ports and send back to the test system via one port atrate of 1Gbps, in which network congestion will occur and ourplatform plans to schedule the traffic. Both of our platform andtesting system are connected to a control terminal in LAN, bywhich configurations are managed via Command Line Interface(CLI) and testing software.

Adtech AX/4000

Test System

NFV Acceleration

Platform

Control

TerminalGE Ports

Fig. 2. The evaluation environment

Sequence of priority queue

0 5 10 15 20 25 30 35 40 45 50 55 60 65

Ban

dwid

th (

kbps

)

0

5000

10000

15000

20000

25000

30000

PP-DRR based QoS VNFDRR based scheduling

(a) Bandwidth

Sequence of priority queue0 5 10 15 20 25 30 35 40 45 50 55 60

End

-to-

end

dela

y (u

s)

0

5000

10000

15000

20000

25000

PP-DRR based QoS VNFDRR based scheduling

(b) End-to-end delay

Fig. 3. Performance over 64 priority queues

We use the test system to generate 64 flows at each 1GE porttowards our NFV acceleration platform. It is noted that eachflow is processed in a flow queue with an individual transmissionpriority in the generated traffic. After receiving the packets, ourplatform will schedule them via the proposed PP-DRR basedTM VNF, and send them at an output rate of 1Gbps back tothe test system. We can observe the transmission bandwidthand end-to-end delay on the control terminal. Fig.3 showsthe bandwidth and corresponding end-to-end delay of PP-DRRbased TM VNF and DRR based scheduling mechanism over64 individual priority queues with descending quotas. It can beobserved that our platform reduces the end-to-end delay whileachieving almost the same bandwidth over all priority queues.The reason is that we always schedule the traffic flow with ahigher priority through parallel packet processing between andwithin TM VNF-HW and TM VNF-SW. In order to evaluate theheterogeneous parallelism efficiency of the OFX VNF instances,we conduct experiments of demonstrating the procedure ofdeploying fine-grained flow rules to Openflow pipeline, anddynamic binding between flows and specific cores. Evaluationresults can be observed by presenting the utilization rate on eachcore.

REFERENCES

[1] Network Functions Virtualisation, http://portal.etsi.org/portal/server.pt/community/NFV/367, ISG web portal, accessed in 2019.

[2] Zhang, Yang, Bilal Anwer, Vijay Gopalakrishnan, Bo Han, Joshua Reich,Aman Shaikh, and Zhi-Li Zhang, “Parabox: Exploiting parallelism forvirtual network functions in service chaining,” in Proceedings of theSymposium on SDN Research (SOSR), pp. 143-149. ACM, 2017.

[3] Sun, Chen, Jun Bi, Zhilong Zheng, Heng Yu, and Hongxin Hu, “Nfp: En-abling network function parallelism in nfv,” in Proceedings of SIGCOMM,pp. 43-56. ACM, 2017.

[4] Su, Jinshu, Shuhui Chen, Biao Han, Chengcheng Xu, and Xin Wang, “A60GBps DPI prototype based on memory-centric FPGA,” in Proceedingsof the 2016 ACM SIGCOMM Conference, pp. 627-628. ACM, 2016.