VMM Memory Bandwidth Regulation via CPU Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualization systems, limited resources like memory bandwidth are not allocated fairly among virtual machines, leading to performance issues as one virtual machine may 'steal' resources from others, adversely impacting co-hosted programs.

Innovation Solution

A Virtual Machine Monitor (VMM) regulates memory bandwidth by detecting excessive usage through cache-misses and penalizes virtual machines via CPU scheduling, reducing their processor time allocation to ensure fair resource distribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If memory bandwidth is allocated on demand to virtual machines, then virtual machines can utilize memory bandwidth when needed, but one virtual machine may steal limited hardware resources from other virtual machines, adversely impacting performance

Engineering Contradiction:
Improvememory bandwidth utilization flexibilityVSAvoidvirtual machine performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The VMM monitors cache-miss rates of each virtual machine and uses this feedback to dynamically adjust CPU scheduling decisions. When a virtual machine exhibits high cache-miss rates indicating excessive memory bandwidth consumption, the VMM penalizes that virtual machine by reducing its CPU time allocation, thereby preventing resource theft while maintaining overall system performance

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The VMM acts as an intermediary between virtual machines and physical hardware resources. It introduces a scheduling mechanism that mediates CPU time allocation based on memory bandwidth consumption patterns, preventing direct uncontrolled access to memory bandwidth by individual virtual machines

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If CPU scheduling is used to penalize virtual machines with excessive memory bandwidth usage, then fair resource distribution is achieved, but the system complexity increases

Engineering Contradiction:
Improveresource distribution fairnessVSAvoidvirtual machine monitor complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system uses each virtual machine's own cache-miss performance metrics to determine its scheduling priority. The VMM leverages naturally occurring performance data (cache-miss rates) as a self-indicating signal of resource consumption, eliminating the need for complex external monitoring infrastructure or manual configuration

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8826270B1Regulating memory bandwidth via CPU scheduling
Publication Date: 2014.09.02 AMAZON TECH INC
  • US8826270B1 patent drawing
  • US8826270B1 patent drawing
  • US8826270B1 patent drawing

AI summary

Technologies are described herein for regulating memory bandwidth usage in virtual machines via CPU scheduling. A virtual machine monitor (“VMM”) executing on a host computer detects excessive memory bandwidth usage by programs executing in a virtual machine on a processor of the host computer. The VMM may detect excessive memory bandwidth usage by monitoring cache-misses occurring in the processor, for example. Upon detecting excessive memory bandwidth usage, the VMM penalizes the virtual machine currently executing on the processor through the CPU-scheduling algorithm utilized to allocate processor time among the virtual machines.