Virtual Device Migration Across Hardware Generations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual machines backed by direct passthrough hardware face challenges in migration due to potential differences in hardware configurations between source and destination hosts, leading to compatibility issues and performance overhead.

Innovation Solution

A method is introduced to determine if the destination host has compatible direct passthrough hardware, and if not, the virtual device is quiesced and data structures are deleted before migration. If versions match, the virtual machine can be migrated without quiescence or data structure deletion, and the device driver is reinitialized and reconfigured at the destination host based on the new hardware capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If direct assignment is used for I/O device virtualization, then performance is improved, but the I/O device cannot be shared among virtual machines

Engineering Contradiction:
ImproveI/O device throughputVSAvoidI/O device shareability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The physical I/O device is segmented into multiple virtual functions (VFs), each of which can be independently assigned to different virtual machines. This segmentation allows the single physical device to be shared among multiple VMs while each VM maintains direct access to its assigned VF, preserving performance while enabling shareability.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If SR-IOV is used to allow sharing and high performance, then virtual machines can have direct access to sharable virtual functions, but hardware configuration differences between hosts render the guest device driver incompatible

Engineering Contradiction:
ImproveVirtual machine migration capabilityVSAvoidGuest device driver compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system dynamically detects hardware configuration differences between source and destination hosts during migration. Based on the detection results, the guest device driver is selectively reinitialized only when hardware differences are found, making the migration process adaptive to hardware variations while maintaining compatibility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements a feedback mechanism where the hardware configuration is detected and compared between hosts, and this information feeds back into the migration decision process. The guest device driver reinitialization is triggered based on the feedback from hardware comparison, ensuring compatibility while enabling migration.

Inventive Principle:
Principle #23Feedback

3Reliability

If guest device driver is initialized with specific hardware capabilities, then the virtual device works correctly on the source host, but migration to a host with different hardware capabilities fails

Engineering Contradiction:
ImproveVirtual device operation reliabilityVSAvoidCross-host migration capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system performs preliminary detection of hardware configuration differences before completing the migration. By detecting and comparing hardware capabilities in advance, the system can proactively reinitialize the guest device driver if differences are found, preventing migration failure and ensuring the virtual device operates reliably on the destination host.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11544097B2Dynamic reconfiguration of virtual devices for migration across device generations
Publication Date: 2023.01.03 VMWARE INC
  • US11544097B2 patent drawing
  • US11544097B2 patent drawing
  • US11544097B2 patent drawing

AI summary

A method of migrating a virtual machine having a virtual device that is backed by direct passthrough hardware, from a source host to a destination host, includes the steps of determining whether or not the destination host has direct passthrough hardware that can back the virtual device, and upon determining that the destination host has direct passthrough hardware that can back the virtual device, determining if a version of the direct passthrough hardware at the source host matches a version of the direct passthrough hardware at the destination host. If the versions do not match, the steps further include quiescing the virtual device, deleting data structures relating to the virtual device, and then migrating the virtual machine from the source host to the destination host. If the versions match, the virtual machine is migrated without quiescing the virtual device and without deleting the data structures relating to the virtual device.