Attributing VMM CPU Usage to Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional monitoring techniques fail to accurately attribute CPU utilization to virtual machines (VMs) in virtualization environments, as they do not account for the CPU usage of the Virtual Machine Monitor (VMM) in servicing requests from VMs, leading to an incomplete picture of CPU usage.

Innovation Solution

A system and method that monitors communications between VMs and the VMM to determine the CPU utilization attributable to each VM, including requests for shared resources, allowing for accurate attribution of VMM CPU usage to the corresponding VMs, applicable to both full and paravirtualization frameworks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional monitoring techniques are used to measure CPU utilization, then the monitoring implementation is simple, but the measurement precision is insufficient because VMM CPU usage is not attributed to corresponding VMs

Engineering Contradiction:
ImproveCPU utilization measurement precisionVSAvoidmonitoring system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the VMM's CPU usage into discrete units attributable to individual virtual machines. By dividing the overall monitoring task into VM-specific portions, the system achieves precise measurement of each VM's CPU consumption including the VMM overhead, without requiring complete system redesign

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary accounting mechanism that tracks and attributes VMM CPU usage to corresponding VMs. This intermediary layer processes the relationship between VMM operations and VM requests, enabling accurate measurement without direct modification of the VMM core or guest OS

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If complete control of physical resources is assumed by a single OS, then resource management is straightforward, but adaptability to virtualization environments is reduced

Engineering Contradiction:
Improvevirtualization environment adaptabilityVSAvoidresource management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal accounting framework that functions across both traditional and virtualized environments. The monitoring system is designed to work with multiple VMs and different VMM implementations, providing adaptable resource attribution without requiring environment-specific customization

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces an intermediary accounting layer that mediates between the complex virtualization infrastructure and resource management needs. This intermediary handles the complexity of tracking VMM CPU usage across multiple VMs, presenting a simplified interface for resource management while adapting to various virtualization configurations

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8799891B2System and method for attributing CPU usage of a virtual machine monitor to a corresponding virtual machine
Publication Date: 2014.08.05 NETFLIX INC
  • US8799891B2 patent drawing
  • US8799891B2 patent drawing
  • US8799891B2 patent drawing

AI summary

According to at least one embodiment, a method comprises observing communication from a virtual machine (VM) to a virtual machine monitor (VMM). The method further comprises determining, based on the observed communication, CPU utilization of the VMM that is attributable to the VM. According to at least one embodiment, a system comprises a Central Processing Unit (CPU), Virtual Machines (VMs), and a Virtual Machine Monitor (VMM) operable to receive requests for resource access from the VMs. The system further comprises a CPU utilization monitor operable to determine an amount of CPU utilization of the VMM in processing the received requests that is attributable to each of the VMs.