Virtual Machine Monitor Latency Sensitive CPU Halting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Latency-sensitive applications in virtualized computing environments face execution delays and jitter due to system kernel scheduling and virtual CPU preemption, which can be detrimental for applications requiring split-second response times.
Innovation Solution
A method where a virtual machine monitor determines the latency sensitivity of a virtual machine and issues a halt instruction directly to the physical CPU for latency-sensitive virtual machines, avoiding kernel scheduler intervention to minimize latency, while executing a system call for non-latency-sensitive virtual machines to indicate an idle state.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the kernel scheduler preempts the virtual CPU and queues it for later execution, then the system can manage multiple tasks and maintain fairness, but latency-sensitive applications experience execution delays and jitter
Solution Approach 1:
The patent applies different scheduling treatments to different virtual machines based on their latency sensitivity characteristics. Latency-sensitive virtual machines receive direct physical CPU halting without kernel scheduler intervention, while other virtual machines continue to use standard kernel scheduling. This localized differentiation resolves the contradiction by optimizing for latency sensitivity in specific cases while maintaining overall system fairness.
Solution Approach 2:
The patent segments the virtual machine monitoring function into two distinct paths: one for latency-sensitive virtual machines that bypasses the kernel scheduler, and another for standard virtual machines that uses normal scheduling. This segmentation allows the system to handle different workload types with appropriate scheduling strategies, reducing latency for sensitive applications while preserving system-wide task management efficiency.
2Ease of operation
If the virtual CPU is placed into a run queue for subsequent execution, then the kernel can manage CPU allocation, but the virtual CPU experiences additional latency before resuming execution
Solution Approach 1:
The patent extracts the halting and resumption logic for latency-sensitive virtual machines directly from the kernel scheduler path. By issuing halt instructions directly to the physical CPU and handling resumption without kernel scheduler intervention, the system removes the queueing delay that would otherwise occur. This extraction resolves the contradiction by maintaining kernel allocation management for non-sensitive VMs while eliminating unnecessary delays for sensitive applications.
3Loss of time
If the virtual machine monitor issues a halt instruction to the physical CPU for latency-sensitive virtual machines, then execution latency is reduced, but the system must differentiate and handle different virtual machine types differently
Solution Approach 1:
The patent implements dynamic scheduling behavior in the virtual machine monitor that adapts to the specific needs of each virtual machine. The VMM checks latency sensitivity flags and dynamically selects between two halting strategies: direct physical CPU halting for latency-sensitive VMs and standard kernel scheduling for others. This dynamic approach resolves the contradiction by reducing latency where needed while avoiding unnecessary complexity for non-sensitive workloads.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A host computer has a virtualization software that supports execution of a plurality of virtual machines, where the virtualization software includes a virtual machine monitor for each of the virtual machines, and where each virtual machine monitor emulates a virtual central processing unit (CPU) for a corresponding virtual machine. A virtual machine monitor halts execution of a virtual CPU of a virtual machine by receiving a first halt instruction from a corresponding virtual machine and determining whether the virtual machine is latency sensitive. If the virtual machine is latency sensitive, then a second halt instruction is issued from the virtual machine monitor to halt a physical CPU on which the virtual CPU executes. If the virtual machine is not latency sensitive, then a system call to a kernel executing on the host computer is executed to indicate to the kernel that the virtual CPU is in an idle state.