USENIX ATC2022顶会
Faster Software Packet Processing on FPGA NICs with eBPF Program Warping
Marco Bonola, Giacomo Belocchi, Angelo Tulumello, Marco Spaziani Brunella, Giuseppe Siracusano, Giuseppe Bianchi, Roberto Bifulco
摘要
FPGA NICs can improve packet processing performance, however, programming them is difficult, and existing solutions to enable software packet processing on FPGA either provide limited packet processing speed, or require changes to programs and to their development/deployment life cycle.
We address the issue with program warping, a new technique that improves throughput replacing several instructions of a packet processing program with an equivalent runtime programmable hardware implementation. Program warping performs static analysis of a packet processing program, described with Linux's eBPF, to identify subsets of the program that can be implemented by an optimized FPGA pipeline, the warp engine. Packets handled by the warp engine are eventually delivered to a regular eBPF program executor, along with their program context (registers, stack), to complete execution of those program parts that cannot be efficiently pipelined.
We prototype program warping on a 100Gbps FPGA NIC, extending hXDP, a state-of-the-art eBPF processor for FPGA, and measure its performance running 6 unmodified real-world eBPF programs, including deployed applications such as Katran and Suricata. Our prototype runs at 250MHz, uses less than 15% of the FPGA resources, and improves hXDP throughput by 1.2-3x in most cases, and up to 18x.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper5
- Finding Correctness Bugs in eBPF Verifier with Structured and Sanitized ProgramHao Sun, Yiru Xu, Jianzhong Liu, Yuheng Shen 等EuroSys 2024 · 被引用 24 次
- eNetSTL: Towards an In-kernel Library for High-Performance eBPF-based Network FunctionsBin Yang, Dian Shen, Junxue Zhang, Hanlin Yang 等EuroSys 2025 · 被引用 9 次
- RpcNIC: Enabling Efficient Datacenter RPC Offloading on PCIe-attached SmartNICsJie Zhang, Hongjing Huang, Xuzheng Chen, Xiang Li 等HPCA 2025 · 被引用 6 次
- Revealing the Unstable Foundations of eBPF-Based Kernel ExtensionsShawn Wanxiang Zhong, Jing Liu, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-DusseauEuroSys 2025 · 被引用 4 次
- EPSO: A Caching-Based Efficient Superoptimizer for BPF BytecodeQian Zhu, Yuxuan Liu, Ziyuan Zhu, Shangqing Liu 等ASE 2025
它引用的顶会 Paper5
- Do OS abstractions make sense on FPGAs?Dario Korolija, Timothy Roscoe, Gustavo AlonsoOSDI 2020 · 被引用 114 次
- PANIC: A High-Performance Programmable NIC for Multi-tenant NetworksJiaxin Lin, Kiran Patel, Brent E. Stephens, Anirudh Sivaraman 等OSDI 2020 · 被引用 104 次
- Gallium: Automated Software Middlebox Offloading to Programmable SwitchesKaiyuan Zhang, Danyang Zhuo, Arvind KrishnamurthySIGCOMM 2020 · 被引用 50 次
- Synthesizing safe and efficient kernel extensions for packet processingQiongwen Xu, Michael D. Wong, Tanvi Wagle, Srinivas Narayana 等SIGCOMM 2021 · 被引用 30 次
- hXDP: Efficient Software Packet Processing on FPGA NICsMarco Spaziani Brunella, Giacomo Belocchi, Marco Bonola, Salvatore Pontarelli 等OSDI 2020 · 被引用 25 次
相关 Paper
- eHDL: Turning eBPF/XDP Programs into Hardware Designs for the NICAlessandro Rivitti, Roberto Bifulco, Angelo Tulumello, Marco Bonola 等ASPLOS 2023 · 被引用 16 次
- Domain specific run time optimization for software data planesSebastiano Miano, Alireza Sanaee, Fulvio Risso, Gábor Rétvári 等ASPLOS 2022 · 被引用 20 次
- 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
- Re-architecting Traffic Analysis with Neural Network Interface CardsGiuseppe Siracusano, Salvator Galea, Davide Sanvito, Mohammad Malekzadeh 等NSDI 2022 · 被引用 99 次
