A PCIe DMA engine to support the virtualization of 40 Gbps FPGA-accelerated network appliances
Zazo, Jose Fernando
2015 International Conference on ReConFigurable Computing and FPGAs (ReConFig)
MetadataShow full item record
Zazo, J. F., Lopez-Buedo, S., Audzevich, Y., & Moore, A. (2016). A PCIe DMA engine to support the virtualization of 40 Gbps FPGA-accelerated network appliances. 2015 International Conference on ReConFigurable Computing and FPGAs (ReConFig) https://doi.org/10.1109/ReConFig.2015.7393334
Network Function Virtualization (NFV) allows creating specialized network appliances out of general-purpose computing equipment (servers, storage, and switches). In this paper we present a PCIe DMA engine that allows boosting the performance of virtual network appliances by using FPGA accelerators. Two key technologies are demonstrated, SR-IOV and PCI Passthrough. Using these two technologies, a single FPGA board can accelerate several virtual software appliances. The final goal is, in an NFV scenario, to substitute conventional Ethernet NICs by networking FPGA boards (such as NetFPGA SUME). The advantage of this approach is that FPGAs can very efficiently implement many networking tasks, thus boosting the performance of virtual networking appliances. The SR-IOV capable PCIe DMA engine presented in this work, as well as its associated driver, are key elements in achieving this goal of using FPGA networking boards instead of conventional NICs. Both DMA engine and driver are open source, and target the Xilinx 7-Series and UltraScale PCIe Gen3 endpoint. The design has been tested on a NetFPGA SUME board, offering transfer rates reaching 50 Gb/s for bulk transmissions. By taking advantage of SR-IOV and PCI Passthrough technologies, our DMA engine provides transfers rate well above 40 Gb/s for data transmissions from the FPGA to a virtual machine. We have also identified the bottlenecks in the use of virtualized FPGA accelerators caused by reductions in the maximum read request size and maximum payload PCIe parameters. Finally, the DMA engine presented in this paper is a very compact design, using just 2% of a Xilinx Virtex-7 XC7VX690T device.
network function virtualization, virtual network appliance, FPGA-based acceleration, SR-IOV, PCI passthrough, PCIe, DMA engine, NetFPGA SUME
This work was partially supported by the Spanish Ministry of Economy and Competitiveness under the project PackTrack (TEC2012-33754) and by the European Union through the Integrated Project (IP) IDEALIST under grant agreement FP7- 317999. The stay of Sergio Lopez-Buedo at the University of Cambridge was funded by the Spanish Government under a ”Jose Castillejo” grant. Additionally, this research was sponsored by EU Horizon 2020 SSICLOPS (agreement No. 644866) research program and EPSRC through Networks as a Service (NaaS) (EP/K034723/1) project.
External DOI: https://doi.org/10.1109/ReConFig.2015.7393334
This record's URL: https://www.repository.cam.ac.uk/handle/1810/260326