Published March 25, 2023 | Version v1
Journal article Open

eHDL: Turning eBPF/XDP Programs into Hardware Designs for the NIC

  • 1. Axbryd
  • 2. NEC Laboratories Europe
  • 3. Consorzio Nazionale Interuniverisitario per le Telecomunicazioni
  • 4. Sapienza University of Rome

Description

Scaling network packet processing performance to meet the in- creasing speed of network ports requires software programs to carefully leverage the network devices’ hardware features. This is a complex task for network programmers, who need to learn and deal with the heterogeneity of device architectures, and re-think their software to leverage them. In this paper we make first steps to reverse this design process, enabling the automatic generation of tailored hardware designs starting from a network packet processing program. We introduce eHDL, a high-level synthesis tool that automatically generates hardware pipelines from unmodified Linux’s eBPF/XDP programs. eHDL is designed to enable software developers to directly define and implement the hardware functions they need in the NIC. We prototype eHDL targeting a Xilinx Alveo U50 FPGA NIC, and evaluate it with a set of 5 eBPF/XDP programs. Our results show that the generated pipelines are efficient in terms of required hardware resources, using only 6.5%-13.3% of the FPGA, and always achieve the line rate forwarding throughput with about 1 microsecond of per-packet forwarding latency. Compared to other network-specific high-level synthesis tool, eHDL enables software programmers with no hardware expertise to describe stateful functions that operate on the entire packet data. Compared to alternative processor-based solutions that perform eBFP/XDP offloading to a NIC, eHDL provides 10-100x higher throughput.

Files

ASPLOS23.pdf

Files (1.7 MB)

Name Size Download all
md5:2d4d3b3f6ed77523d7a18f5bd9a8eab7
1.7 MB Preview Download

Additional details

Funding

5GMED – Sustainable 5G deployment model for future mobility in the Mediterranean Cross-Border Corridor 951947
European Commission