No Thumbnail Available

GPU-based packet processing

(2024)

Files

VanHauwaert_45081900_Vanliefde_16991900_2024.pdf
  • Open access
  • Adobe PDF
  • 1.75 MB

Details

Supervisors
Faculty
Degree label
Abstract
For about a decade, network functions such as routers have been increasingly implemented in software rather than hardware to offer better flexibility. Small functions are combined to form the entire packet processing path. As network speeds have increased, CPU cores have struggled to keep up with such capabilities. This has prompted the search for alternative ways to process packets. GPUs have been proposed to offload computationally intensive functions from the CPU. In addition, recent SmartNICs have become capable of bypassing the CPU altogether to receive and transmit packets, using only either their own processing cores or a third-party device. In this work, three GPU-enabled network functions are provided. They can easily be placed in a processing pipeline to offload specific tasks to a GPU, while still allowing other functions to be computed on the CPU. Two CPU bypass implementations are also provided. These completely remove the CPU from the packet processing path. A comprehensive multifactor evaluation of all implementations is given for these network functions, with varying levels of computational complexity. It is shown that, depending on the configuration, GPU implementations are able to exceed the throughput of a CPU-only implementation by a factor of more than 2 and maintain satisfactory latency results, while using very few CPU cores to receive packets.