VMFork Memory State Sharing for RDSH CPU Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional application publishing methods based on Remote Desktop Services (RDS) and virtual machine (VM) servers face inefficiencies in CPU consumption and user experience due to lack of coordination between OS and hypervisor schedulers, leading to erratic user experiences and application stability issues.
Innovation Solution
The VMFork method pre-launches a catalog of applications on a parent VM, locking them into memory and suspending the VM, allowing child VMs to inherit the memory state and resume applications with user-specific network security tokens, optimizing CPU cycles and I/O operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If RDSH-based application publishing is used to share OS kernel and DLL files across sessions, then I/O operations are reduced and memory sharing efficiency is improved, but CPU consumption remains high due to lack of coordination between OS and hypervisor schedulers
Solution Approach 1:
The patent merges the OS kernel scheduler and hypervisor scheduler into a unified scheduling mechanism. The hypervisor scheduler now has visibility into and coordination with the OS kernel scheduler, allowing them to work together as a single scheduling entity. This eliminates the dual-scheduler overhead and improves CPU utilization efficiency while maintaining the I/O benefits of session sharing.
Solution Approach 2:
The patent makes the hypervisor scheduler multi-functional by giving it dual responsibilities: traditional resource allocation functions plus application-level scheduling coordination with the OS kernel. This universal scheduler can dynamically adjust to different workload types and coordinate with the OS scheduler to optimize both virtualization-layer and guest OS-level CPU utilization.
2Quantity of substance
If multiple virtual CPU RDSH VMs are hosted on the same ESX host to increase session density, then memory sharing efficiency is improved, but application stability deteriorates due to vSMP co-scheduling overload and scheduler coordination issues
Solution Approach 1:
The patent implements preliminary scheduling decisions at the hypervisor level before VMs are fully activated. The unified scheduler pre-allocates and pre-coordinates CPU resources for multiple RDSH VMs, establishing scheduling patterns and resource reservations in advance. This prevents co-scheduling conflicts and stability issues that arise when multiple VMs compete for resources without prior coordination.
Solution Approach 2:
The patent introduces feedback mechanisms where the unified scheduler continuously monitors the performance and stability of RDSH VMs, adjusting scheduling parameters dynamically. The system collects data on CPU utilization, session stability, and scheduling efficiency, using this feedback to optimize the coordination between hypervisor and OS schedulers, thereby maintaining application stability even as session density increases.
3Productivity
If traditional VM cloning is used to create child VMs from parent VM, then rapid VM provisioning is achieved, but memory sharing efficiency is limited compared to fork-based approaches
Solution Approach 1:
The patent uses fork-based copying at the hypervisor level to create child VMs from parent VMs. Instead of traditional VM cloning that copies entire virtual machine states, the fork mechanism creates a lightweight copy that shares the parent's memory space and process tree. This approach maintains rapid provisioning while dramatically improving memory sharing efficiency, as child VMs inherit and share the parent's memory structures rather than duplicating them.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Examples described herein enable memory state sharing among a plurality of virtual machines (VM) including a parent VM and a child VM. A request for memory state sharing between the parent VM and the child VM is received, and the parent VM is suspended. The child VM resumes execution of one or more suspended applications. In one example, the child FM is forked with pre-loaded, suspended applications from the parent VM. Aspects of the disclosure offer a high performance, resource efficient solution that outperforms traditional approaches in areas of software compatibility, stability, quality of service control, re-source utilization, and more.