Aggregate Proportional-Share Scheduler for VM CPU Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional CPU schedulers for virtual machines do not accurately account for CPU usage by driver domains, leading to disproportionate CPU allocation and potential overload, as they schedule CPU access independently for virtual machines and driver domains without considering the additional CPU usage attributed to the virtual machines.
Innovation Solution
An aggregate proportional-share scheduler that takes into account the CPU usage of both virtual machines and driver domains, attributing the CPU usage of the driver domain to the virtual machine and scheduling CPU access in proportion to the respective weights, using techniques such as monitoring CPU utilization and attributing it based on observed communication through virtualized interfaces.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If traditional CPU schedulers schedule CPU access independently for virtual machines and driver domains, then scheduling simplicity is maintained, but CPU allocation becomes disproportionate and virtual machines may experience overload
Solution Approach 1:
The patent merges the scheduling of virtual machines and driver domains into a unified proportional-share scheduler that considers both entities together. The scheduler computes aggregate CPU usage by combining VM CPU usage and attributed driver domain CPU usage, then schedules CPU access based on this aggregate value and configured weightings, ensuring proportional and fair allocation while preventing overload.
2Device complexity
If driver domain CPU usage is not attributed to virtual machines, then measurement simplicity is maintained, but CPU usage tracking becomes inaccurate
Solution Approach 1:
The patent implements a feedback mechanism where the scheduler monitors CPU usage by both virtual machines and driver domains, attributes driver domain CPU usage to the corresponding VMs based on communication observations, and uses this aggregated feedback information to adjust and optimize CPU allocation decisions in subsequent scheduling intervals.
Solution Approach 2:
The patent introduces an intermediary mechanism that observes communication between virtual machines and driver domains through virtualized interfaces. This intermediary tracks and attributes driver domain CPU usage to the appropriate VMs, enabling accurate measurement without requiring direct instrumentation of the driver domain code.
3Productivity
If CPU allocation does not consider driver domain usage, then allocation speed is maintained, but quality of service goals cannot be ensured
Solution Approach 1:
The patent performs preliminary computation of aggregate CPU usage by combining VM and driver domain usage before the actual scheduling decision. By pre-calculating the aggregate value and determining the appropriate CPU allocation based on weightings and targets, the scheduler ensures QoS goals are met while maintaining efficient scheduling throughput without requiring complex real-time adjustments during execution.
Data Source
AI summary
A method comprises determining an aggregate usage of CPU attributable to a given virtual machine (VM), wherein the aggregate usage of CPU attributable to the given VM includes a determined amount of CPU usage by a driver domain, such as by a network driver domain, that is attributable to the given VM. The method further comprises scheduling, by an aggregate proportional-share scheduler, CPU access to the given VM based at least in part on the determined aggregate usage of CPU attributable to the given VM.


