Hypervisor-Visible Guest Thread Management for NFV

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computer systems, the rigid pre-configuration of virtual machines for network function virtualization (NFV) applications ties resources to specific applications, leading to inefficient performance and scheduling conflicts between guest and host schedulers due to lack of visibility into application threads.

Innovation Solution

Implementing hypervisor-visible guest thread management by dynamically creating and releasing dedicated virtual processors for application threads, allowing the host scheduler to gain visibility and reduce scheduling conflicts, with the thread manager pinning and unpinning threads to specific virtual processors as needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If rigid pre-configuration of virtual machines is used for NFV applications, then resources are tied to specific applications, but this leads to inefficient performance and scheduling conflicts

Engineering Contradiction:
Improveapplication performanceVSAvoidresource allocation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic thread-to-VCPU mapping where the guest scheduler can assign application threads to different virtual CPUs at runtime based on current system conditions, rather than using static pre-configuration. This allows the virtual machine to adapt resource allocation dynamically, improving both application performance and overall resource utilization efficiency by eliminating rigid ties between resources and specific applications.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the virtual CPU resource management into two independent layers: the host scheduler manages VCPU allocation to the virtual machine, while the guest scheduler manages application thread assignment to VCPUs within the virtual machine. This segmentation allows each scheduler to operate independently without conflicts, enabling fine-grained control over thread execution while maintaining overall system efficiency.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If host scheduler has no visibility into application threads, then scheduling decisions are made without full information, but this causes scheduling conflicts between guest and host schedulers

Engineering Contradiction:
Improvescheduling autonomyVSAvoidscheduling coordination
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the guest scheduler communicates thread execution status and scheduling decisions to the host scheduler. This allows the host scheduler to maintain visibility into application thread states while preserving the guest scheduler's autonomy to make scheduling decisions. The feedback loop enables coordinated scheduling that prevents conflicts between host and guest schedulers while maintaining operational independence.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10409633B2Hypervisor-visible guest thread management
Publication Date: 2019.09.10 RED HAT ISRAEL
  • US10409633B2 patent drawing
  • US10409633B2 patent drawing
  • US10409633B2 patent drawing

AI summary

Responsive to receiving a first request from an application to create a thread for the application, a guest operating system sends a first notification to a hypervisor to create a dedicated virtual processor for the thread. Responsive to receiving an identifier associated with the dedicated virtual processor from the hypervisor, the guest operating system starts the thread using the dedicated virtual processor, and pins the thread to the dedicated virtual processor.