Nested NIC Switches Bypass Virtual Switch Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual machines in cloud services experience performance issues due to the overhead of virtual switches, which consume processor cycles and contribute to network latency, hindering efficient resource utilization and hardware acceleration for guest processes.
Innovation Solution
A server architecture with a physical network interface controller (NIC) featuring nested NIC switches that distribute data packets directly to kernel isolated containers, bypassing the virtual switch, thereby enabling hardware-level access and reducing latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a virtual switch is used to route packets to containers, then packet routing is enabled, but processor cycles are consumed and latency increases
Solution Approach 1:
The patent segments the network interface controller functionality by implementing nested virtual switches within the NIC hardware itself. The first virtual switch handles routing to the host virtual machine, while the second virtual switch handles routing to kernel isolated containers. This segmentation enables direct hardware-level packet distribution to containers without requiring software-based virtual switch processing, thereby reducing latency while maintaining routing capability.
Solution Approach 2:
The nested virtual switches within the NIC act as intermediary components that bridge the physical network interface and the kernel isolated containers. Instead of all packets passing through the software virtual switch in the host OS, the hardware-based nested virtual switches intercept and direct packets directly to containers at the hardware level, eliminating the need for software processing of container-bound traffic.
2Adaptability or versatility
If a virtual machine is used to host containers, then resource virtualization is achieved, but overhead is added at lower layer packet routing
Solution Approach 1:
The patent implements a nested architecture where kernel isolated containers are hosted within a virtual machine, and nested virtual switches are embedded within the physical NIC. This nesting allows the virtual machine to maintain its resource virtualization capabilities while the nested virtual switches handle packet routing at the hardware level, effectively removing the routing overhead that would otherwise be imposed by the virtual machine layer.
Solution Approach 2:
The patent extracts the packet routing function from the software virtual switch and relocates it to hardware-based nested virtual switches within the NIC. This extraction removes the routing complexity from the virtual machine software stack, allowing the virtual machine to focus on resource virtualization while the hardware handles packet distribution efficiently.
3Ease of operation
If software switching mechanism is used, then packet distribution to multiple processes is enabled, but processor cycles are reduced for process execution
Solution Approach 1:
The patent replaces the software-based virtual switch (mechanical system requiring processor cycles) with hardware-based nested virtual switches embedded in the NIC. This substitution enables packet distribution to multiple kernel isolated containers through hardware logic rather than software processing, freeing up processor cycles for actual process execution while maintaining the ability to distribute packets to multiple processes simultaneously.
Data Source
AI summary
Examples described herein generally relate to hosting kernel isolated containers within a virtual machine. A server includes a physical processor and a physical computer memory storing executable code, the executable code providing a host virtual machine including a kernel and at least one kernel isolated container within the host virtual machine. The server includes a physical network interface controller, NIC, including a first physical NIC switch and a second physical NIC switch. The first physical NIC switch is configured to distribute incoming data packets to a first plurality of functions including a physical function and virtual functions. At least one of the virtual functions is assigned to the host virtual machine. The second physical NIC switch is configured to distribute the incoming data packets for the host virtual machine to a second plurality of virtual functions including a respective virtual function assigned to an individual kernel isolated container.


