Virtual Function Device I/O Virtualization Performance Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional I/O virtualization solutions face challenges in achieving high performance and low delay, with software solutions experiencing performance loss and hardware solutions encountering compatibility issues with guest operating systems.

Innovation Solution

The proposed solution involves a virtualization processing method where a hardware layer with an I/O device is used to create virtual function (VF) devices, allowing each virtual machine to independently use a VF device, with a back-end instance in the Host and a front-end instance in the virtual machine, enabling direct memory access (DMA) operations and address translation to optimize performance and compatibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software solution is used for I/O virtualization, then compatibility is improved, but performance is deteriorated with great performance loss

Engineering Contradiction:
ImprovecompatibilityVSAvoidperformance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The I/O device is segmented into multiple virtual function (VF) devices, each capable of being independently assigned to different virtual machines. This segmentation allows the system to maintain hardware-level performance while achieving software-level flexibility and compatibility through the virtualization layer.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A back-end instance (BE) is introduced as an intermediary component that manages the interaction between virtual function devices and virtual machines. The BE handles address translation and DMA operations, enabling software-based compatibility while maintaining hardware-based performance through direct memory access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If hardware solution is used for I/O virtualization, then performance is improved, but compatibility problems occur with guest operating systems

Engineering Contradiction:
ImproveperformanceVSAvoidcompatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The virtual function device is designed with multi-functionality to serve both performance-critical paths and compatibility requirements. It can operate in hardware-assisted mode for performance and interface with software layers for compatibility, making it adaptable to different guest operating systems while maintaining high performance.

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

Solution Approach 2:

The back-end instance acts as a mediator that translates between the hardware-oriented VF device and the software-oriented guest operating system interfaces. This intermediary layer resolves compatibility issues by presenting appropriate interfaces to different OS while maintaining hardware performance characteristics.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If virtual function device is assigned to each virtual machine, then isolation and encapsulation are improved, but device complexity increases

Engineering Contradiction:
Improveisolation and encapsulationVSAvoidvirtualization architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The I/O device is divided into multiple virtual function devices, each providing isolated access to a specific virtual machine. This segmentation achieves strong isolation and encapsulation while the underlying hardware architecture manages the complexity through standardized virtualization interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of physically duplicating I/O devices for each virtual machine, the system creates virtual copies (VF devices) that reference shared physical resources. This copying approach maintains isolation and encapsulation while reducing the actual hardware complexity compared to full physical duplication.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP2743829B1Virtualization processing method and relevant device and computer system
Publication Date: 2018.09.12 HUAWEI TECH CO LTD
  • EP2743829B1 patent drawingFigure 1
  • EP2743829B1 patent drawingFigure 2a
  • EP2743829B1 patent drawingFigure 2b

AI summary

Embodiments of the present invention disclose a virtualization processing method and apparatuses, and a computer system. A computing node in solutions of embodiments of the present invention includes: a hardware layer, a Host running on the hardware layer, and at least one virtual machine VM running on the Host, the hardware layer includes an I/O device, several corresponding virtual function VF devices are virtualized from the I/O device, the Host has several VF software instances, each of the VF software instances is corresponding to a different VF device of the several VF devices; the Host further has a back-end instance BE of an I/O virtual device having the same type with the I/O device, the VM has a front-end instance FE of the I/O virtual device; the BE in the Host is bound with an idle VF software instance. The solutions of the embodiments of the present invention are beneficial to optimization of the performance and compatibility of a virtualization system.