Demystifying the Performance of XDP BPF

inproceedings
2019
IEEE Conference on Network Softwarization · Netsoft

Abstract

High packet rates at ≥ 10 GBit/s challenge the packet processing performance of network stacks. A common solution is to offload (parts of) the user-space packet processing to other execution environments, e.g., into the device driver (kernel-space), the NIC or even from virtual machines into the host operating system (OS), or any combination of those. While common wisdom states that offloading optimizes performance, neither benefits nor negative effects are comprehensively studied. In this paper, we aim to shed light on the benefits and shortcomings of eBPF/XDP-based offloading from the user-space to i) the kernel-space or ii) a smart NIC-including VM virtualization. We show that offloading can indeed optimize packet processing, but only if the task is small and optimized for the target environment. Otherwise, offloading can even lead to detrimental performance.

Authors

Artifacts

Topics

eBPF/XDP Performance Kernel Bypass Networking SmartNIC Offloading Packet Processing Optimization Big Data in Network Performance