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 ...
Packet processing is the enabling technology of networked information systems such as the Internet ...
The increased performance and cost-efficiency of modern multi-core architectures allows for packet p...
A single CPU core is not fast enough to process packets arriving from the network on commodity NICs....
FPGA accelerators on the NIC enable the offloading of expensive packet processing tasks from the CPU...
FPGA NICs can improve packet processing performance, however, programming them is difficult, and exi...
High-level synthesis (HLS) allows developers to be more productive in designing FPGA circuits thanks...
The massive deployment of FPGAs in data centers is opening up new opportunities for accelerating dis...
Packet editing is a fundamental building block of data communication systems such as switches and ro...
Packet processing is an essential function of state-of-the-art network routers and switches. Impleme...
The ongoing increases of line speed in the Internet backbone combined with the need for increased fu...
Extended Berkeley Packet Filter (eBPF) is an instruction set and an execution environment inside the...
Due to their performance and flexibility, FPGAs are an attractive platform for the execution of netw...
Due to their performance and flexibility, FPGAs are an attractive platform for the execution of netw...
We consider pipelined architectures of packet processors consisting of a sequence of simple packet-p...
A library of layered protocol wrappers has been developed that process Internet packets in reconfigu...
Packet processing is the enabling technology of networked information systems such as the Internet ...
The increased performance and cost-efficiency of modern multi-core architectures allows for packet p...
A single CPU core is not fast enough to process packets arriving from the network on commodity NICs....
FPGA accelerators on the NIC enable the offloading of expensive packet processing tasks from the CPU...
FPGA NICs can improve packet processing performance, however, programming them is difficult, and exi...
High-level synthesis (HLS) allows developers to be more productive in designing FPGA circuits thanks...
The massive deployment of FPGAs in data centers is opening up new opportunities for accelerating dis...
Packet editing is a fundamental building block of data communication systems such as switches and ro...
Packet processing is an essential function of state-of-the-art network routers and switches. Impleme...
The ongoing increases of line speed in the Internet backbone combined with the need for increased fu...
Extended Berkeley Packet Filter (eBPF) is an instruction set and an execution environment inside the...
Due to their performance and flexibility, FPGAs are an attractive platform for the execution of netw...
Due to their performance and flexibility, FPGAs are an attractive platform for the execution of netw...
We consider pipelined architectures of packet processors consisting of a sequence of simple packet-p...
A library of layered protocol wrappers has been developed that process Internet packets in reconfigu...
Packet processing is the enabling technology of networked information systems such as the Internet ...
The increased performance and cost-efficiency of modern multi-core architectures allows for packet p...
A single CPU core is not fast enough to process packets arriving from the network on commodity NICs....