Virtualized Network I/O Control via Dual-Process Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current virtualization technologies face challenges in improving network IO performance, scalability, and data security due to high CPU loading, infrastructure costs, and context switching overheads in multi-queue environments, particularly in para-virtualization and hardware-assisted virtualization setups.
Innovation Solution
The proposed solution involves a method that leverages multi-queue Network Interface Card (NIC) capabilities to reduce CPU context switches by separating data and control paths, using a supervisory process for data path control and a control plane process for initialization resources, and employing MSI-X interrupts to optimize network IO operations, thereby creating scalable and low-latency network channels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If multi-queue NIC capabilities are used to improve network IO performance, then network IO latency is reduced, but CPU loading increases due to context switching overheads
Solution Approach 1:
The patent segments the NIC control into two separate processes: a supervisory process that controls data path resources (packet queues, data flow) and a control plane process that controls initialization resources (device configuration, setup). This segmentation allows the supervisory process to handle high-speed data path operations with minimal CPU intervention, while the control plane handles less frequent initialization tasks, thereby reducing overall CPU context switching overhead while maintaining low network IO latency.
2Productivity
If para-virtualization and hardware-assisted virtualization are used to improve network IO performance, then scalability is improved, but infrastructure costs increase
Solution Approach 1:
The supervisory process implements a universal control mechanism that can manage multiple virtual machines and their associated packet queues through a single interface. The supervisory process handles data path control for multiple VMs, consolidating management functions and reducing the need for separate control infrastructure for each VM, thereby improving scalability while controlling infrastructure costs.
3Loss of time
If data and control paths are separated to reduce CPU context switches, then network IO latency is improved, but device complexity increases
Solution Approach 1:
While separating data and control paths into different processes, the patent merges the management of multiple virtual machine packet queues under a single supervisory process. This consolidation approach simplifies the overall system architecture by providing a unified control point for data path operations across multiple VMs, reducing the complexity that would otherwise arise from having separate control mechanisms for each VM while still achieving reduced CPU context switches.
Data Source
AI summary
In accordance with an embodiment a method of running a virtual machine on a server includes controlling data path resources allocated to the virtual machine using a first supervisory process running on the server, controlling data path resources comprising controlling a data path of a hardware interface device coupled to the server, and controlling control path and initialization resources of the hardware interface device using a second process running on the server, where the second process is separate from the first supervisory process.


