Virtualization Latency Management via Guest Process Descheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtualization introduces significant delays that are not visible to the guest operating system, causing the guest to be blocked until high-latency operations, such as page swapping, are completed, which can lead to inefficiencies in resource utilization.

Innovation Solution

The virtualization logic injects code to de-schedule the currently running guest process and schedule another process, allowing the hypervisor to perform virtualization operations concurrently while the guest OS continues executing other tasks, using techniques like upcalls, virtual interrupts, or semaphore-based methodologies to manage latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the virtualization logic executes high-latency virtualization operations (such as page swapping) while the guest process is scheduled, then the virtualization operations can be completed, but the guest process is blocked and cannot execute useful work during this time

Engineering Contradiction:
Improvecompletion of virtualization operationsVSAvoidguest process blocked time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The virtualization logic detects when a guest process is scheduled and proactively injects code that causes the process to sleep before the high-latency operation begins. This preliminary action ensures the guest process is already in a sleeping state when the virtualization operation starts, preventing blocking and allowing the operation to complete without losing guest CPU time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism (injected code and sleep management logic) between the guest process and the virtualization operation. This intermediary allows the virtualization logic to control the guest process state, transitioning it to sleep mode during high-latency operations, thereby decoupling the completion of virtualization tasks from guest process execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the guest operating system waits for high-latency virtualization operations to complete before executing other tasks, then resource isolation is maintained, but resource utilization efficiency decreases

Engineering Contradiction:
Improvefunctional isolationVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts the state of the guest process based on the timing and nature of virtualization operations. When a high-latency operation is detected, the guest process is transitioned to a sleeping state; otherwise, it continues executing. This dynamic state management allows the system to maintain isolation while maximizing resource utilization by preventing unnecessary blocking.

Inventive Principle:
Principle #15Dynamics

3Productivity

If the virtualization logic allows the guest process to continue running during virtualization operations, then resource utilization improves, but the complexity of managing process states and timing increases

Engineering Contradiction:
Improveresource utilizationVSAvoidvirtualization logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the complexity of process state management from the general virtualization logic by implementing a specific detection and injection mechanism. The virtualization logic only needs to detect scheduled guest processes and inject code to make them sleep, rather than managing all possible process states. This extraction simplifies the overall system while maintaining high resource utilization.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP2404244B1Managing latency introduced by virtualization
Publication Date: 2019.06.26 VMWARE INC
  • EP2404244B1 patent drawingFigure 1
  • EP2404244B1 patent drawingFigure 2~3
  • EP2404244B1 patent drawingFigure 4

AI summary

A component manages and minimizes latency introduced by virtualization. The virtualization component determines that a currently scheduled guest process has executed functionality responsive to which the virtualization component is to execute a virtualization based operation, wherein the virtualization based operation is one that is not visible to the guest operating system. The virtualization component causes the guest operating system to de-schedule the currently scheduled guest process and schedule at least one separate guest process. The virtualization component then executes the virtualization based operation concurrently with the execution of the at least one separate guest process. Responsive to completing the execution of the virtualization based operation, the virtualization component causes the guest operating system to re-schedule the de-scheduled guest process.