Nested Virtual Machine Real-Time Scheduling via VMFUNC

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvereal-time guaranteesVSAvoidconfiguration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improveease of running real-time applicationsVSAvoidconfiguration time
Core Design Contradiction:
Ease of operationVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvehardware utilization rateVSAvoidscheduling management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

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

Data Source

PatentUS11237860B2Command-based processing of real-time virtualized jobs
Publication Date: 2022.02.01 RED HAT INC
  • US11237860B2 patent drawing
  • US11237860B2 patent drawing
  • US11237860B2 patent drawing

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.