Hypervisor-Visible Guest Thread Management for NFV
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
Data Source
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.


