arrow
Return

hXDP: Efficient Software Packet Processing on FPGA NICs

delete2022-07-21
delete6
delete
OA
AI
M
Marco Spaziani Brunella *
G
Giacomo Belocchi
M
Marco Bonola
S
Salvatore Pontarelli
G
Giuseppe Siracusano
G
Giuseppe Bianchi
A
Aniello Cammarano
A
Alessandro Palumbo
L
Luca Petrucci
R
Roberto Bifulco
DOI:10.1145/3543668delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
The network interface cards (NICs) of modern computers are changing to adapt to faster data rates and to help with the scaling issues of general-purpose CPU technologies. Among the ongoing innovations, the inclusion of programmable accelerators on the NIC's data path is particularly interesting, since it provides the opportunity to offload some of the CPU's network packet processing tasks to the accelerator. Given the strict latency constraints of packet processing tasks, accelerators are often implemented leveraging platforms such as Field-Programmable Gate Arrays (FPGAs). FPGAs can be re-programmed after deployment, to adapt to changing application requirements, and can achieve both high throughput and low latency when implementing packet processing tasks. However, they have limited resources that may need to be shared among diverse applications, and programming them is difficult and requires hardware design expertise. We present hXDP, a solution to run on FPGAs software packet processing tasks described with the eBPF technology and targeting the Linux's eXpress Data Path. hXDP uses only a fraction of the available FPGA 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 design, thereby significantly improving performance. We implement hXDP on an FPGA NIC and evaluate it running real-world unmodified eBPF programs. Our implementation runs at 156.25MHz and uses about 15% of the FPGA resources. Despite these modest requirements, it can run dynamically loaded programs, achieves the packet processing throughput of a high-end CPU core, and provides a 10x lower packet forwarding latency.

Journal

Communications of the ACM cover
Communications of the ACM
IF:
12.2
Papers:
1.2W
Citations:
3.7W

Organization

N
nec corporation
Scholars:
1.0K
Papers: 956
Citations: 0
U
University of Rome Tor Vergata
Scholars:
2.5W
Papers: 1.8W
Citations: 2.0W
S
sapienza university rome
Scholars:
6.3W
Papers: 4.7W
Citations: 381
researcher View more organizations
Cited Papers

Cited Papers

Dimethyl ether: A fuel for the 21st century
err1997-01-01
err0
PREAI
errT.H. Fleisch; A. Basu; M.J. Gradassi; J.G. Masin
errShare
errSave
Study of Dewar multishield insulation systems at 4.2–293 K
err1993-12-01
err0
PREAI
errI.A. Davydenkov; S.B. Milman; M.G. Velikanova; L.E. Kotov; A.G. Perestoronin
errShare
errSave
Neologistic Jargon: A Clinicopathological Study
err1970-12-01
err0
errOAAI
errAndrew Kertesz; D. Frank Benson
errShare
errSave
A New Golden Age for Computer Architecture
err2019-01-28
err436
PREAI
errHennessy, John L.; Patterson, David A.
errShare
errSave
A database of metallic materials emissivities and absorptivities for cryogenics
err2019-01-01
err0
PREAI
errJiří Frolec; Tomáš Králík; Věra Musilová; Pavel Hanzelka; Aleš Srnka; Josef Jelínek
errShare
errSave
researcher View more