Hypervisor Deferred Asynchronous Requests for Virtual Accelerators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized systems, accelerators must be pre-initialized to ensure immediate availability, which delays the initialization and starting of virtual machines, limiting performance and requiring sequential initialization processes.

Innovation Solution

A hypervisor manages asynchronous and synchronous requests from virtual machines by detecting accelerator initialization status, storing requests, and forwarding them once the accelerator is initialized, allowing parallel initialization of accelerators and virtual machines, and servicing synchronous requests without accelerator involvement by emulation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If accelerators are pre-initialized to ensure immediate availability, then reliability is improved, but initialization time increases and virtual machine starting is delayed

Engineering Contradiction:
Improveaccelerator availabilityVSAvoidinitialization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-initializing the accelerator before the virtual machine needs it. The hypervisor detects when the accelerator is ready and automatically forwards pending asynchronous requests to it, ensuring the accelerator is prepared in advance without delaying virtual machine startup.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The hypervisor acts as an intermediary between the virtual machine and the accelerator. It manages the communication by detecting accelerator initialization status, storing pending requests, and forwarding them appropriately, allowing the virtual machine to start without waiting for accelerator initialization while ensuring accelerator availability when needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If accelerators are pre-initialized before virtual machine startup, then accelerator functionality is ensured, but sequential initialization process increases complexity

Engineering Contradiction:
Improveaccelerator functionalityVSAvoidinitialization process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system transitions from a static sequential initialization process to a dynamic asynchronous process. The hypervisor continuously monitors accelerator initialization status and dynamically forwards requests when ready, allowing flexible timing without complex sequential coordination.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The hypervisor serves as a mediator that simplifies the initialization process by handling the complexity of timing and coordination. It automatically detects when the accelerator is ready and manages request forwarding, eliminating the need for complex sequential initialization protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Stability of the object's composition

If sequential initialization is used for accelerators and virtual machines, then initialization order is controlled, but productivity decreases due to delays

Engineering Contradiction:
Improveinitialization orderVSAvoidvirtual machine starting speed
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The accelerator is pre-initialized in advance of virtual machine startup. The hypervisor stores asynchronous requests that arrive before the accelerator is ready and forwards them automatically when initialization completes, enabling parallel processing and eliminating delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous progress by accepting and queuing asynchronous requests during accelerator initialization, then seamlessly continuing execution once the accelerator is ready. This eliminates interruptions and maintains productive action flow.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9442754B1Deferred asynchronous actions for virtual devices
Publication Date: 2016.09.13 RED HAT ISRAEL
  • US9442754B1 patent drawing
  • US9442754B1 patent drawing
  • US9442754B1 patent drawing

AI summary

A system and methods are disclosed for handling requests from virtual machines in virtualized systems that include an accelerator. In accordance with one embodiment, a hypervisor executed by a processing device receives an asynchronous request from a virtual machine. The hypervisor detects that an accelerator is not initialized, and stores in memory at least one of the asynchronous request, an indication of the asynchronous request, or an indication that the accelerator is not initialized. The hypervisor subsequently detects that the accelerator has become initialized, and in response forwards the asynchronous request to the accelerator.