一句话:提出让 FPGA/硬件加速器直接控制商用 NIC 的网络驱动设计,通过压缩 NIC 控制结构实现低面积、高可扩展的加速器网络。
将硬件与 FPGA 加速器接入网络并复用 NIC 的虚拟化、隧道、RDMA 等卸载能力,通常需要 CPU 参与或在加速器中实现复杂网络逻辑。本文提出一种新的系统设计,使加速器无需 CPU 即可直接控制商用 NIC,并支持从分离式加速器直接网络访问到网络栈内联加速等多种用例。核心方法是在加速器上实现 FlexDriver(FLD)——一个 NIC 数据平面驱动的硬件模块,其关键技术机制将 NIC 控制结构压缩两个数量级,从而以低芯片面积成本实现高网络可扩展性,且不与加速器逻辑产生带宽干扰。评估基于 NVIDIA Innova-2 FPGA SmartNIC 原型,对三种加速器(分离式 LTE 密码、IP 分片重组内联加速、IoT 密码令牌认证卸载)进行验证,均达到 25 Gbps 线速,并在无 CPU 参与的情况下利用 NIC 完成 RDMA、VXLAN 隧道与流量整形。
We propose a new system design for connecting hardware and FPGA accelerators to the network, allowing the accelerator to directly control commodity Network Interface Cards (NICs) without using the CPU. This enables us to solve the key challenge of leveraging existing NIC hardware offloads such as virtualization, tunneling, and RDMA for accelerator networking. Our approach supports a diverse set of use cases, from direct network access for disaggregated accelerators to inline-acceleration of the network stack, all without the complex networking logic in the accelerator. To demonstrate the feasibility of this approach, we build FlexDriver (FLD), an on-accelerator hardware module that implements a NIC data-plane driver. Our main technical contribution is a mechanism that compresses the NIC control structures by two orders of magnitude, allowing FLD to achieve high networking scalability with low die area cost and no bandwidth interference with the accelerator logic. The prototype for NVIDIA Innova-2 FPGA SmartNICs showcases our design’s utility for three different accelerators: a disaggregated LTE cipher, an IP-defragmentation inline accelerator, and an IoT cryptographic-token authentication offload. These accelerators reach 25 Gbps line rate and leverage the NIC for RDMA processing, VXLAN tunneling, and traffic shaping without CPU involvement.
@inproceedings{EranFMSCHLLS22,
title = {FlexDriver: a network driver for your accelerator},
author = {Haggai Eran and Maxim Fudim and Gabi Malka and Gal Shalom and Noam Cohen and Amit Hermony and Dotan Levi and Liran Liss and Mark Silberstein},
booktitle = {ASPLOS},
year = {2022},
doi = {10.1145/3503222.3507776}
}