Nested Hypervisor Thread Scheduling for Guest OS Resource Sharing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current hypervisor systems lack efficient scheduling and resource sharing mechanisms, particularly in storage systems, which hinders optimal operation and performance.
Innovation Solution
The system operates a hypervisor as a thread of an underlying operating system, allowing for independent execution and resource sharing between hypervisors, with nested hypervisor capabilities and scheduling processes that manage fractional time shares for CPU resources, enabling efficient sharing and management of processing resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple hypervisors are run to manage multiple guest operating systems, then the ability to manage multiple guest operating systems is improved, but resource scheduling efficiency deteriorates
Solution Approach 1:
The patent implements nested hypervisors where a first hypervisor runs as a thread within a second hypervisor, allowing multiple hypervisors to coexist hierarchically. This nesting structure enables the system to manage multiple guest operating systems through different hypervisor layers while the underlying operating system's scheduler efficiently allocates CPU resources across all hypervisor threads, resolving the contradiction between multi-GOS management capability and scheduling efficiency.
2Adaptability or versatility
If hypervisors share CPU resources through traditional scheduling, then resource sharing is improved, but performance penalties occur
Solution Approach 1:
The patent enables hypervisors to run as native threads of the underlying operating system, allowing them to directly access and share CPU resources through the OS scheduler without additional virtualization overhead. This self-service approach lets hypervisors efficiently share CPU time slots and resources while maintaining performance, as the OS scheduler natively manages thread allocation without requiring complex hypervisor-level resource arbitration.
3Reliability
If hypervisors are run independently without thread integration, then independence between hypervisors is improved, but resource allocation flexibility deteriorates
Solution Approach 1:
The patent segments the hypervisor functionality into independent threads that can be individually scheduled and managed by the underlying operating system. Each hypervisor runs as a separate thread with its own execution context, maintaining independence and isolation, while the OS scheduler provides flexible resource allocation across all threads. This segmentation allows hypervisors to operate independently while benefiting from the OS's sophisticated resource management capabilities.
Data Source
AI summary
Operating at least one hypervisor includes running a first hypervisor as a first thread of an underlying operating system, running a second hypervisor as a second thread of the underlying operating system, loading a first guest operating system using the first hypervisor based on the first thread of the underlying operating system, loading a second guest operating system using the second hypervisor based on the second thread of the underlying operating system, and scheduling sharing of resources of the underlying system between the first hypervisor and the second hypervisor according to a scheduler of the underlying operating system, where the first hypervisor and the second hypervisor run independently of each other. The scheduler of the underlying operating system may schedule fractional time shares for the first hypervisor and the second hypervisor to access the same resource.


