Aggregate Proportional-Share Scheduler for VM CPU Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvescheduling mechanism complexityVSAvoidCPU allocation accuracy
Core Design Contradiction:
Device complexityVSManufacturing precision

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.

Inventive Principle:
Principle #5Merging (Combining)

2Device complexity

If driver domain CPU usage is not attributed to virtual machines, then measurement simplicity is maintained, but CPU usage tracking becomes inaccurate

Engineering Contradiction:
Improvemonitoring mechanism complexityVSAvoidCPU usage measurement accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If CPU allocation does not consider driver domain usage, then allocation speed is maintained, but quality of service goals cannot be ensured

Engineering Contradiction:
Improvescheduling throughputVSAvoidquality of service guarantee
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8032882B2System and method for controlling aggregate CPU usage by virtual machines and driver domains
Publication Date: 2011.10.04 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8032882B2 patent drawing
  • US8032882B2 patent drawing
  • US8032882B2 patent drawing

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.