Virtual NIC RSS Offload via Physical NIC Hash Embedding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized environments, the CPU overhead associated with receive side scaling (RSS) processing by the hypervisor for virtual network interface controllers (VNICs) is significant, as the hypervisor traditionally computes hash values for distributing network traffic across CPUs.

Innovation Solution

The method involves the physical network interface controller (PNIC) computing and writing hash values to packets, which are then used by the VNIC to forward packets to corresponding queues, reducing the need for the hypervisor to compute hash values and allowing for direct mapping or separate locking of VNIC queues for efficient processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the hypervisor computes RSS hash values for VNICs, then network traffic can be distributed across CPUs, but CPU overhead increases significantly

Engineering Contradiction:
Improvenetwork traffic distributionVSAvoidCPU overhead
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

The patent extracts the RSS hash computation function from the hypervisor and transfers it to the PNIC. The PNIC now computes hash values locally and writes them to packets, eliminating the need for the hypervisor to perform this CPU-intensive operation. This extraction directly reduces hypervisor CPU overhead while maintaining the network traffic distribution functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces packets as an intermediary carrier for RSS hash values. Instead of the hypervisor computing hashes and managing queue mappings directly, the PNIC computes hashes, writes them to packets, and the VNIC reads these pre-computed hash values from packets to determine destination queues. This intermediary approach shifts the computational burden away from the hypervisor.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the hypervisor manages RSS queue mapping for VNICs, then packet routing is controlled, but device complexity increases

Engineering Contradiction:
Improvepacket routing controlVSAvoidhypervisor management overhead
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts the queue mapping management function from the hypervisor and transfers it to the PNIC. The PNIC maintains its own mapping between PNIC queues and VNIC queues, eliminating the need for the hypervisor to manage this complex mapping relationship. This extraction simplifies hypervisor operations while maintaining routing control capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The PNIC performs self-service by maintaining and managing its own queue mapping table locally. Instead of relying on the hypervisor to provide queue mapping information, the PNIC independently manages the mapping between its queues and the VNIC queues, reducing hypervisor complexity and improving system autonomy.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If the number of PNIC queues differs from the number of VNIC queues, then queue mapping is required, but processing efficiency decreases

Engineering Contradiction:
Improvequeue number flexibilityVSAvoidpacket processing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamic queue mapping where the PNIC can adaptively map its queues to VNIC queues based on runtime conditions. The mapping is not fixed but can be dynamically adjusted to optimize packet processing efficiency while accommodating different queue numbers between PNIC and VNIC, maintaining both flexibility and performance.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9992113B2Virtual network interface controller performance using physical network interface controller receive side scaling offloads
Publication Date: 2018.06.05 VMWARE INC
  • US9992113B2 patent drawing
  • US9992113B2 patent drawing
  • US9992113B2 patent drawing

AI summary

Techniques disclosed herein provide an approach for using receive side scaling (RSS) offloads from a physical network interface controller (PNIC) to improve the performance of a virtual network interface controller (VNIC). In one embodiment, the PNIC is configured to write hash values it computes for RSS purposes to packets themselves. The VNIC then reads the hash values from the packets and places the packets into VNIC RSS queues, which are processed by respective CPUs, based on the hash values. CPU overhead is thereby reduced, as RSS processing by the VNIC no longer requires computing hash values. In another embodiment in which the number of PNIC RSS queues and VNIC RSS queues are identical, the VNIC may map packets from PNIC RSS queues to VNIC RSS queues using the PNIC RSS queue ID numbers, which also does not require the computing RSS hash values.