Hypervisor Paravirtualized Device Assignment via MSI

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtualization methods, such as device assignment, introduce complexity and overhead when a guest device driver needs to communicate with a hypervisor to manage multiple physical or paravirtualized devices, particularly in scenarios like simultaneous device unplugging or coordinated actions across devices, as traditional PCI devices lack effective communication and coordination mechanisms.

Innovation Solution

A method where a hypervisor detects requests to expose devices to guests, allocates configuration space, and establishes a communication channel using message-signaled interrupts (MSI) to enable direct access and two-way communication between the guest device driver and the hypervisor, simplifying guest driver programming and reducing overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If device assignment is used to grant direct access to physical devices, then access speed and efficiency are improved, but communication complexity increases when guest drivers need to coordinate actions across multiple devices

Engineering Contradiction:
Improvedevice access speedVSAvoidguest driver complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary communication mechanism where the hypervisor acts as a mediator between the guest device driver and physical devices. The hypervisor intercepts and translates communication requests, allowing the guest driver to communicate with multiple devices through a standardized interface rather than requiring direct complex coordination between devices. This resolves the contradiction by maintaining fast direct device access while reducing guest driver complexity through the hypervisor's mediating role.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If traditional PCI devices are used without hypervisor intervention, then device operation simplicity is improved, but coordination capability between multiple devices deteriorates

Engineering Contradiction:
Improvedevice operation simplicityVSAvoiddevice coordination capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal communication interface that enables multiple PCI devices to participate in coordinated operations while maintaining their individual simple operation characteristics. The hypervisor provides a standardized communication protocol that works across different device types, allowing traditional PCI devices to be involved in complex coordinated actions without modifying their basic operation simplicity. This resolves the contradiction by making the coordination mechanism universal rather than device-specific.

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

3Productivity

If device assignment is implemented without hypervisor communication channel, then direct access efficiency is improved, but ability to handle coordinated actions across devices deteriorates

Engineering Contradiction:
Improvedirect access efficiencyVSAvoidcommunication mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the communication coordination function from the device assignment mechanism itself and places it in the hypervisor layer. This separation allows the device assignment to maintain its simple direct access efficiency while the hypervisor handles the complex communication coordination independently. The communication channel is taken out as a separate hypervisor-managed function rather than being embedded in the device driver, resolving the contradiction between efficiency and complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9851992B2Paravirtulized capability for device assignment
Publication Date: 2017.12.26 RED HAT ISRAEL
  • US9851992B2 patent drawing
  • US9851992B2 patent drawing
  • US9851992B2 patent drawing

AI summary

A hypervisor of a host detects a request by a guest or a hypervisor administrator to expose a device associated with the host to the guest. The hypervisor locates free space in a configuration space of the device. The hypervisor assigns a configuration space associated with the hypervisor to the located free space. The hypervisor notifies the guest of the configuration space associated with the hypervisor and a range of addresses associated with the free space. The hypervisor exposes the device to the guest. The configuration space associated with the hypervisor may be a message-signaled capability associated with the hypervisor.