VMSH: Hypervisor-agnostic Guest Overlays for VMs
Apr 13, 2022·,,·
0 min read
Jörg Thalheim
Peter Okelmann
Redha Gouicem
Pramod Bhatotia
Abstract
Processing packets in batches is a common technique in high-speed software routers to improve routing efficiency and increase throughput.
With the growing popularity of novel paradigms such as Network Function Virtualization, advocating for the replacement of hardware-based networking modules towards software-based network functions deployed on commodity servers, we observe that batching techniques have been successfully implemented to reduce the HW/SW performance gap.
As batch creation and management is at the very core of high-speed packet processors, it provides a significant impact to the overall packet processing capabilities of the system, affecting latency, throughput, CPU utilization and power consumption.
It is commonly accepted to adopt a fixed maximum batching size (usually in the range between 32 and 512) to optimize for the worst case scenario (i.e. minimum-size packets at full bandwidth capacity).
Such approach may result in a loss of efficiency despite a 100% utilization of the CPU.
In this work we explore the possibilities of enhancing the runtime batch creation in VPP, a popular software router based on the Intel DPDK framework.
Instead of relying on the automatic batch creation, we apply machine learning techniques to optimize the batching size for lower CPU-time and higher power efficiency in average scenarios, while maintaining its high performance in the worst case.
Type
Publication
In EuroSys'22 Seventeenth European Conference on Computer Systems