XDP (eXpress Data Path) is an eBPF-based high-performance data path used to process network packets at high rates, bypassing most of the Linux networking stack. The high rate is achieved by intercepting packets as soon as the NIC moves them into host memory. This paper introduces X2DP, a framework designed to enhance the performance of XDP applications. X2DP unlocks several optimizations otherwise unavailable in the standard XDP path. First, it enables prefetching. Second, it provides more opportunities to leverage SIMD instructions, allowing parallel processing of identical operations across multiple packets. Third, it facilitates specific code optimizations that enhance instruction-level parallelism. All these optimizations are enabled by the use of hardware-assisted packet batching. The batching process coalesces the execution of the eBPF application, which is launched once to process multiple packets, reducing the time spent by the CPU while executing the generic network driver code and allowing the above-mentioned optimizations. This paper quantifies the performance improvements achieved by applying these techniques to a set of XDP programs, demonstrating throughput gains of up to 2.3x.

X2DP: eXtended eXpress Data Path / Paschali, Vladimiro; Monterubbiano, Andrea; Fazzari, Francesco; Miano, Sebastiano; Pontarelli, Salvatore. - (2025), pp. 132-133. ( ACM SIGCOMM 2025 Posters and Demos, Part of SIGCOMM 2025 Coimbra; Portugal ) [10.1145/3744969.3748399].

X2DP: eXtended eXpress Data Path

Paschali, Vladimiro;Monterubbiano, Andrea;Fazzari, Francesco;Pontarelli, Salvatore
2025

Abstract

XDP (eXpress Data Path) is an eBPF-based high-performance data path used to process network packets at high rates, bypassing most of the Linux networking stack. The high rate is achieved by intercepting packets as soon as the NIC moves them into host memory. This paper introduces X2DP, a framework designed to enhance the performance of XDP applications. X2DP unlocks several optimizations otherwise unavailable in the standard XDP path. First, it enables prefetching. Second, it provides more opportunities to leverage SIMD instructions, allowing parallel processing of identical operations across multiple packets. Third, it facilitates specific code optimizations that enhance instruction-level parallelism. All these optimizations are enabled by the use of hardware-assisted packet batching. The batching process coalesces the execution of the eBPF application, which is launched once to process multiple packets, reducing the time spent by the CPU while executing the generic network driver code and allowing the above-mentioned optimizations. This paper quantifies the performance improvements achieved by applying these techniques to a set of XDP programs, demonstrating throughput gains of up to 2.3x.
2025
File allegati a questo prodotto
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11573/1753062
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? ND
social impact