Hardware Virtual Switch Offloading vHost Functions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software-only virtual switches in data centers consume compute cores, limiting flexibility and making live migration of virtual machines between dissimilar hardware platforms challenging due to the need for driver reloading and potential reboots.

Innovation Solution

A hardware-assisted virtual switch that offloads vHost functions to a hardware device, using IOMMU for address mapping and eliminating the need for guest kernel-level drivers, allowing live migration between different hardware and software vSwitch environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If software-only virtual switch is used, then device complexity is reduced, but CPU overhead increases and live migration between dissimilar hardware platforms becomes challenging

Engineering Contradiction:
Improvevirtual switch implementation complexityVSAvoidCPU overhead consumption
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The virtual switch function is segmented into two parts: a universal software component (vhost) that handles control plane operations and compatibility, and a hardware accelerator that handles data plane packet switching. This segmentation allows the hardware to offload CPU-intensive packet processing while the software maintains system management functions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary layer (vhost) is introduced between the virtual machine and the hardware accelerator. This intermediary manages the interface between diverse hardware platforms and the virtual machine, providing abstraction and enabling live migration by mediating the communication protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If hardware virtual switch is used, then CPU overhead is reduced, but adaptability between different hardware platforms deteriorates due to driver reloading requirements

Engineering Contradiction:
ImproveCPU overhead reductionVSAvoidlive migration compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The vhost component is designed as a universal interface that can work with multiple types of hardware accelerators and hardware platforms. It provides multi-functional capability by supporting both hardware-assisted mode and software-only mode, as well as enabling live migration across different hardware configurations without requiring platform-specific drivers in the guest.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The vhost acts as an intermediary abstraction layer that translates between the hardware-specific interfaces of different platforms and the unified virtual machine interface. This mediator enables adaptability by hiding hardware differences and providing consistent communication protocols during live migration.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If hardware-assisted virtual switch with driver passthrough is used, then packet processing performance improves, but ease of operation deteriorates due to guest kernel driver requirements

Engineering Contradiction:
Improvepacket processing performanceVSAvoidguest kernel driver configuration
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The driver functionality is extracted from the guest kernel and relocated to the host side in the form of a vhost component. This extraction eliminates the need for guests to install or configure kernel-level drivers, simplifying operation while maintaining high packet processing performance through hardware acceleration.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The vhost serves as an intermediary that provides driver-like functionality on the host side, mediating between the hardware accelerator and the virtual machine. This intermediary handles all driver-specific operations on the host, allowing guests to interact with the hardware through a simplified, driver-free interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3704602B1Hardware assisted virtual switch
Publication Date: 2023.09.06 INTEL CORP
  • EP3704602B1 patent drawingFigure 1
  • EP3704602B1 patent drawingFigure 2
  • EP3704602B1 patent drawingFigure 3

AI summary

Disclosed is a computing apparatus of providing a hardware-assisted virtual switch on a host, including: a hardware virtual switch (vSwitch) circuit; and a hardware virtual host (vHost) circuit, the vHost circuit having an interface driver specific to the hardware vSwitch and configured to provide a vHost data plane to: provide a plurality of hareware queues to communicatively couple the hardware vSwitch to a guest virtual function (VF); and present to a virtual network driver of the guest VF an interface that is backward compatible with a software network interface.