hXDP: Efficient Software Packet Processing on FPGA NICs
Marco Spaziani Brunella, Giacomo Belocchi, Marco Bonola, Salvatore Pontarelli, Giuseppe Siracusano, Giuseppe Bianchi, Aniello Cammarano, Alessandro Palumbo, Luca Petrucci, Roberto Bifulco
摘要
FPGA accelerators on the NIC enable the offloading of expensive packet processing tasks from the CPU. However, FPGAs have limited resources that may need to be shared among diverse applications, and programming them is difficult. We present a solution to run Linux's eXpress Data Path programs written in eBPF on FPGAs, using only a fraction of the available hardware resources while matching the performance of high-end CPUs. The iterative execution model of eBPF is not a good fit for FPGA accelerators. Nonetheless, we show that many of the instructions of an eBPF program can be compressed, parallelized or completely removed, when targeting a purpose-built FPGA executor, thereby significantly improving performance. We leverage that to design hXDP, which includes (i) an optimizing-compiler that parallelizes and translates eBPF bytecode to an extended eBPF Instruction-set Architecture defined by us; a (ii) soft-CPU to execute such instructions on FPGA; and (iii) an FPGA-based infrastructure to provide XDP's maps and helper functions as defined within the Linux kernel. We implement hXDP on an FPGA NIC and evaluate it running real-world unmodified eBPF programs. Our implementation is clocked at 156.25MHz, uses about 15% of the FPGA resources, and can run dynamically loaded programs. Despite these modest requirements, it achieves the packet processing throughput of a high-end CPU core and provides a 10x lower packet forwarding latency.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper18
- XRP: In-Kernel Storage Functions with eBPFYuhong Zhong, Haoyu Li, Yu Jian Wu, Ioannis Zarkadas 等OSDI 2022 · 被引用 100 次
- FpgaNIC: An FPGA-based Versatile 100Gb SmartNIC for GPUsZeke Wang, Hongjing Huang, Jie Zhang, Fei Wu 等USENIX ATC 2022 · 被引用 58 次
- λ-IO: A Unified IO Stack for Computational StorageZhe Yang, Youyou Lu, Xiaojian Liao, Youmin Chen 等FAST 2023 · 被引用 54 次
- A RISC-V in-network accelerator for flexible high-performance low-power packet processingSalvatore Di Girolamo, Andreas Kurth, Alexandru Calotoiu, Thomas Benz 等ISCA 2021 · 被引用 37 次
- FLASH: Towards a High-performance Hardware Acceleration Architecture for Cross-silo Federated LearningJunxue Zhang, Xiaodian Cheng, Wei Wang, Liu Yang 等NSDI 2023 · 被引用 29 次
它引用的顶会 Paper3
- AccelTCP: Accelerating Network Applications with Stateful TCP OffloadingYoungGyoun Moon, SeungEon Lee, Muhammad Asim Jamshed, KyoungSoo ParkNSDI 2020 · 被引用 121 次
- Enabling Programmable Transport Protocols in High-Speed NICsMina Tahmasbi Arashloo, Alexey Lavrov, Manya Ghobadi, Jennifer Rexford 等NSDI 2020 · 被引用 96 次
- Lynx: A SmartNIC-driven Accelerator-centric Architecture for Network ServersMaroun Tork, Lina Maudlej, Mark SilbersteinASPLOS 2020 · 被引用 64 次
相关 Paper
- eHDL: Turning eBPF/XDP Programs into Hardware Designs for the NICAlessandro Rivitti, Roberto Bifulco, Angelo Tulumello, Marco Bonola 等ASPLOS 2023 · 被引用 16 次
- Faster Software Packet Processing on FPGA NICs with eBPF Program WarpingMarco Bonola, Giacomo Belocchi, Angelo Tulumello, Marco Spaziani Brunella 等USENIX ATC 2022 · 被引用 4 次
- Merlin: Multi-tier Optimization of eBPF Code for Performance and CompactnessJinsong Mao, Hailun Ding, Juan Zhai, Shiqing MaASPLOS 2024 · 被引用 15 次
- HyperCom: Enabling High Performance and Composable Data Structures for Software Network Functions with eBPFBin Yang, Dian Shen, Hanlin Yang, Lunqi Zhao 等INFOCOM 2025
- Synthesizing safe and efficient kernel extensions for packet processingQiongwen Xu, Michael D. Wong, Tanvi Wagle, Srinivas Narayana 等SIGCOMM 2021 · 被引用 30 次
