Nested Virtual Machine Real-Time Scheduling via VMFUNC
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing real-time processing priorities in nested virtual machines is complex and time-consuming, often leading to the avoidance of running real-time applications in such environments due to the intricate planning and configuration required.
Innovation Solution
A host hypervisor that recognizes and executes virtual machine functions to provide real-time prioritization without pre-configuration, using a virtual machine function (VMFUNC) to direct the host hypervisor to execute jobs with increased priority, leveraging a real-time thread and bounded work queues, allowing real-time applications to run efficiently across multiple nested virtual machines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If real-time processing priorities are managed in nested virtual machines through traditional configuration methods, then real-time guarantees can be provided, but the configuration process becomes extremely complex and time-consuming
Solution Approach 1:
The nested guest hypervisor automatically detects when a virtual CPU is executing a real-time application and self-configures the scheduling policy without requiring manual intervention. The system monitors execution states and dynamically adjusts priorities, allowing the virtualization layer to serve itself rather than requiring external configuration for each real-time workload.
Solution Approach 2:
The scheduling policy is made dynamic rather than static. The host hypervisor continuously monitors the execution state of virtual CPUs and adjusts scheduling priorities in real-time based on the detected workload characteristics. This allows the system to adapt to different real-time application requirements without requiring pre-configuration or manual intervention for each application.
2Ease of operation
If traditional hypervisor configuration methods are used for real-time applications, then processing priority can be controlled, but extensive advance planning and configuration time is required
Solution Approach 1:
The system performs preliminary detection and automatic configuration actions before real-time processing is needed. The host hypervisor continuously monitors virtual CPU execution states and is ready to immediately adjust scheduling policies when real-time workloads are detected, eliminating the need for manual advance planning while ensuring real-time guarantees are in place when needed.
Solution Approach 2:
The host hypervisor implements a feedback mechanism that continuously monitors the execution state of virtual CPUs and automatically adjusts scheduling policies based on detected workload characteristics. This closed-loop system eliminates manual configuration by using real-time feedback from the system state to automatically make the necessary scheduling decisions, dramatically reducing configuration time while maintaining ease of operation.
3Productivity
If nested virtual machines are used for consolidation, then hardware utilization improves, but managing real-time priorities across multiple nesting levels becomes increasingly difficult
Solution Approach 1:
The host hypervisor implements a universal scheduling mechanism that handles real-time priority management across all nesting levels through a single unified approach. Rather than requiring separate configuration mechanisms for each virtualization level, the host hypervisor's monitoring and automatic adjustment system works universally across the entire nested virtual machine hierarchy, simplifying management while maintaining hardware consolidation benefits.
Data Source
AI summary
Certain aspects and feature provide a host hypervisor that includes and advertises a virtual machine function that directs the host hypervisor to execute the next job with real-time priorities. A processing device can execute an application in a nested virtual machine, where the application includes at least one code section that relies on or makes use of real-time prioritized resources of the processing device. The processing device recognizes a virtual machine function call in response to the application determining that a code section using real-time prioritized resources is to be executed. The virtual machine function serves as a command that directs a host hypervisor to execute the next job (the next section of code to be executed) with real-time priorities. The processing device executes the code section in a real-time thread in response to the virtual machine function being called.


