Hypervisor Deferred Asynchronous Requests for Virtual Accelerators
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If accelerators are pre-initialized before virtual machine startup, then accelerator functionality is ensured, but sequential initialization process increases 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.
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.
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
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.
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.
Data Source
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.


