VMM Memory Bandwidth Regulation via CPU Scheduling
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
Data Source
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.


