I/O Device-Agnostic Driver for Virtual Machine Hardware Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual machine (VM) systems face challenges in seamlessly adapting to new networking hardware due to the specificity of Virtual Function (VF) drivers, which limits the flexibility and efficiency of input/output (I/O) device management, particularly in Single-Root Input/Output Virtualization (SR-IOV) architectures.

Innovation Solution

The implementation of an I/O-device-agnostic (IODA) driver that communicates with a device abstraction engine (DAE) via a configuration and control path to obtain I/O device description information, allowing it to configure and operate I/O devices without prior knowledge of the specific hardware, using a predefined description language and interacting with both virtual and physical function interfaces within the SR-IOV architecture.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a VF driver is specific to the underlying hardware, then the driver can provide optimized performance for that specific hardware, but the VM cannot be easily adapted to new networking hardware

Engineering Contradiction:
Improvedriver performanceVSAvoidhardware adaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The driver is segmented into two independent components: a hardware-specific PF driver that handles device-specific operations and a hardware-agnostic VF driver that provides consistent functionality. This segmentation allows each component to be optimized independently - the PF driver for specific hardware performance while the VF driver maintains portability across different hardware platforms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The PF driver acts as an intermediary between the hardware-specific I/O device and the hardware-agnostic VF driver. It translates generic VF driver requests into hardware-specific operations, enabling the VF driver to remain hardware-independent while still accessing specific hardware capabilities through the PF driver mediation layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If a VF driver is hardware-specific, then it can leverage hardware capabilities effectively, but it requires reconfiguration when hardware changes

Engineering Contradiction:
ImproveI/O efficiencyVSAvoiddriver configuration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service through automatic device detection and driver binding mechanisms. When hardware changes occur, the hypervisor automatically detects the new device, loads the appropriate PF driver, and configures the VF driver without requiring manual intervention. This eliminates complex reconfiguration processes while maintaining hardware-specific optimization.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The VF driver is designed with universal functionality that can work with multiple hardware types through the PF driver abstraction layer. A single VF driver implementation can serve multiple different physical network interfaces, each with its own PF driver, thereby reducing the number of driver configurations needed while maintaining hardware-specific capabilities.

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

3Adaptability or versatility

If an existing VM is to be used with new networking hardware, then resource utilization is improved, but the hardware-specific driver creates compatibility challenges

Engineering Contradiction:
ImproveVM portabilityVSAvoiddriver implementation ease
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The driver architecture implements dynamic adaptability where the VF driver can dynamically adjust its operations based on the underlying hardware capabilities exposed through the PF driver. This allows the same VF driver to function across different hardware configurations without requiring recompilation or reconfiguration, enhancing VM portability while maintaining implementation simplicity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10761868B2Device-agnostic driver for virtual machines
Publication Date: 2020.09.01 INTEL CORP
  • US10761868B2 patent drawing
  • US10761868B2 patent drawing
  • US10761868B2 patent drawing

AI summary

Management of access to input/output devices by a virtual machine (VM) includes executing a hypervisor, and instantiating the VM to execute under supervision of the hypervisor. The VM is to include an I/O device-agnostic (IODA) driver that is configured to interface with the I/O device via a first path according to a set of operational parameters specific to the I/O device, and to interface with the hypervisor via a second path. The IODA driver is to configure the operational parameters to comport with an operational protocol of the I/O device based on device-description information provided to the IODA driver via the second path.