Partition-Aware Packet Steering Using XDP and eBPF for Improving Application-Level Parallelism
Author(s) -
Pekka Enberg,
Ashwin Rao,
Sasu Tarkoma
Publication year - 2019
Publication title -
helda (university of helsinki)
Language(s) - English
Resource type - Conference proceedings
ISBN - 978-1-4503-7000-4
DOI - 10.1145/3359993.3366766
Subject(s) - computer science , multi core processor , network packet , exploit , partition (number theory) , embedded system , parallelism (grammar) , packet processing , parallel computing , network processor , operating system , computer network , computer security , mathematics , combinatorics
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.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom