Nested Virtual Switch Path for SR-IOV Access in L2 Virtual Machines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current SR-IOV implementations in nested/hierarchical virtualization limit the performance benefits of SR-IOV networking to level-one hosting partitions, preventing level-two child partitions from utilizing these benefits due to the assignment of a single VF to each child partition, which is consumed by the hosting partition, thus limiting the full realization of nested virtualization advantages.
Innovation Solution
A synthetic data path is created from a root partition to a level-two guest virtual machine (L2GVM) using a virtual switch in the hosting partition, presenting a root vmNIC as NIC switch-capable, and introducing a filter driver to pass through a Peripheral Component Interconnect Express (PCIe) Virtual Function (VF) from the root partition to the L2GVM, enabling L2GVMs to utilize SR-IOV performance benefits without modifying existing paravirtual network interfaces or drivers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single PCIe VF is assigned to each child partition in nested virtualization, then the hosting partition can utilize SR-IOV performance benefits, but the level-two child partitions cannot access SR-IOV capabilities
Solution Approach 1:
The patent segments the PCIe VF assignment hierarchy by allowing the root partition to assign VFs to both the hosting partition (L1) and L2GVMs simultaneously. This segmentation enables multiple partition levels to access SR-IOV capabilities independently, resolving the contradiction where only L1 could previously utilize these benefits.
Solution Approach 2:
The patent implements nested VF assignment where VFs are recursively allocated through hierarchical levels: root partition -> L1 hosting partition -> L2GVMs. This nested structure allows SR-IOV capabilities to propagate through multiple virtualization layers, enabling L2GVMs to access hardware resources while maintaining the performance benefits at each level.
2Productivity
If PCIe VFs are passed through to level-two child partitions, then nested virtualization can fully utilize SR-IOV benefits, but network connectivity between L2GVMs and external networks may be compromised
Solution Approach 1:
The patent introduces the L1 hosting partition as an intermediary that receives PCIe VFs from the root partition and forwards them to L2GVMs. This intermediary role allows the L1 partition to maintain network connectivity responsibilities while enabling L2GVMs to access SR-IOV capabilities, thus preserving reliability while improving performance.
Solution Approach 2:
The patent applies local quality by allowing different partition levels to have specialized roles: the root partition handles VF allocation, the L1 partition manages network connectivity and synthetic data paths, and L2GVMs utilize SR-IOV for performance-critical operations. This localized specialization enables each component to optimize its function without compromising overall system reliability.
3Reliability
If synthetic data paths are created for L2GVMs to access root vmNIC, then network connectivity is maintained, but processor utilization increases due to additional virtualization overhead
Solution Approach 1:
The patent implements dynamic VF assignment and data path selection where the system can adaptively choose between synthetic data paths (through L1) and direct SR-IOV paths (when VFs are assigned to L2GVMs). This dynamic approach allows the system to optimize processor utilization by bypassing unnecessary virtualization overhead for performance-critical traffic while maintaining connectivity for other operations.
Data Source
Figure 1A
Figure 1B
Figure 2
AI summary
A method is disclosed for managing network communication in a virtual machine hosting computer system with nested child partitions. The method involves loading a network driver in a level-one child partition and creating a virtual switch within the level-one child partition. The virtual switch establishes a synthetic data path between a synthetic network adapter offered by a root partition and a network driver in a level-two child partition. A network interface controller (NIC) switch capability is exposed to the virtual switch, and a peripheral component interconnect express (PCle) virtual function offered by the root partition is passed from the level-one child partition to the level-two child partition, enabling the level-two child partition to take advantage of the PCIe virtual function.