Partition-Aware Packet Steering Using XDP and eBPF for Improving Application-Level Parallelism

Pekka Enberg, Ashwin Rao, Sasu Tarkoma

Research output: Chapter in Book/Report/Conference proceedingConference contributionScientificpeer-review


A single CPU core is not fast enough to process packets arriving from the network on commodity NICs. Applications are therefore turning to application-level partitioning and NIC offload to exploit parallelism on multicore systems and relieve the CPU. Although NIC offload techniques are not new, programmable NICs have emerged as a way for custom packet processing offload. However, it is not clear what parts of the application should be offloaded to a programmable NIC for improving parallelism.

We propose an approach that combines application-level partitioning and packet steering with a programmable NIC. Applications partition data in DRAM between CPU cores, and steer requests to the correct core by parsing L7 packet headers on a programmable NIC. This approach improves request-level parallelism but keeps the partitioning scheme transparent to clients. We believe this approach can reduce latency and improve throughput because it utilizes multicore systems efficiently, and applications can improve partitioning scheme without impacting clients.
Original languageEnglish
Title of host publicationProceedings of the 1st ACM CoNEXT Workshop on Emerging in-Network Computing Paradigms
Number of pages7
Place of PublicationNew York, NY, USA
Publication date2019
ISBN (Print)978-1-4503-7000-4
Publication statusPublished - 2019
MoE publication typeA4 Article in conference proceedings
EventACM CoNEXT Workshop on Emerging in-Network Computing Paradigms - Orlando, United States
Duration: 9 Dec 20199 Dec 2019
Conference number: 1

Fields of Science

  • Packet Steering
  • Parallelism
  • Partioning
  • XDP
  • eBPF
  • 113 Computer and information sciences

Cite this