Virtual Device Composition for PCIe I/O Virtualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current I/O virtualization technologies, such as SR-IOV and SIOV, face limitations in efficiently managing and allocating PCIe devices across multiple virtual machines and containers, leading to infrastructure instability and security risks due to kernel space configuration.

Innovation Solution

The implementation of a Virtual Device Composition Module (VDCM) and Assignable Device Interfaces (ADIs) within the host operating system, which allows for the composition of virtual devices, management of device capabilities, and allocation of resources to virtual machines and containers, enabling direct or intercepted path operations while maintaining platform security and stability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If kernel space configuration is used for I/O virtualization, then device management capability is improved, but system security and stability deteriorate

Engineering Contradiction:
Improvedevice management capabilityVSAvoidsystem security and stability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces a user-space virtual device manager as an intermediary layer between the kernel and user applications. This manager handles I/O virtualization operations without requiring kernel space configuration, thereby maintaining system security and stability while providing comprehensive device management capabilities. The intermediary translates user-space requests into appropriate hardware operations, eliminating the need for kernel involvement in virtual device management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If SR-IOV and SIOV are used for hardware-assisted I/O virtualization, then I/O performance is improved, but device allocation flexibility deteriorates

Engineering Contradiction:
ImproveI/O performanceVSAvoiddevice allocation flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic device allocation mechanisms that allow virtual devices to be flexibly assigned and reassigned between virtual machines and containers at runtime. The system maintains hardware-assisted I/O virtualization for performance while adding software-based abstraction layers that enable dynamic reconfiguration. This allows the device allocation strategy to adapt to changing workload requirements without sacrificing I/O performance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the device management functionality into multiple independent components: hardware virtualization layer, user-space management layer, and application interface layer. This segmentation allows each layer to operate independently with optimized characteristics - the hardware layer maintains high performance while the software layers provide flexibility and ease of management.

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If PCIe device number limitations are expanded, then the number of virtual machines and containers is improved, but system complexity increases

Engineering Contradiction:
Improvenumber of virtual machines and containersVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent creates virtual copies of PCIe devices through software abstraction, allowing multiple virtual machines and containers to access device functionality without requiring corresponding physical or hardware-virtualized devices for each instance. The user-space virtual device manager maintains allocation tables and routing information to manage these copies efficiently, enabling scalable deployment without linearly increasing system complexity.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20230108461A1Virtual device assignment framework
Publication Date: 2023.04.06 INTEL CORP
  • US20230108461A1 patent drawing
  • US20230108461A1 patent drawing
  • US20230108461A1 patent drawing

AI summary

Examples described herein relate to circuitry configured to generate at least one virtual device interface to utilize the processor circuitry and provide the at least one virtual device interface to a server to assign to a process to provide the process with capability to utilize the processor circuitry. In some examples, the processor circuitry is to perform one or more of local area network access, cryptographic processing, and/or storage access. In some examples, the storage access comprises access to one or more Non-volatile Memory Express (NVMe) devices.