VM Resource Allocation via Performance Model Inversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing resource allocation techniques for virtual datacenters struggle to determine optimal resource control settings due to varying resource demands over time, making it challenging to meet service level objectives (SLOs) effectively.

Innovation Solution

A method and system that construct a model of observed application performance based on current VM-level resource allocations, invert this model to compute target resource allocations, and determine desired individual VM-level resource settings, which are then used to set final RP-level and VM-level resource settings to meet user-defined SLOs, incorporating a safety buffer and delta value adjustments based on performance metrics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If traditional resource control primitives (reservations, limits, shares) are used at VM or RP level, then administrators can control absolute and relative resource consumption, but determining the right settings becomes extremely challenging due to time-varying demands and different VM requirements

Engineering Contradiction:
Improveease of setting resource controlsVSAvoidreliability of meeting SLOs
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs self-service by automatically determining optimal resource control settings through model construction and inversion. The application resource allocation module autonomously constructs performance models, inverts them to compute target allocations, and adjusts resource settings without requiring administrator intervention, thereby solving the challenge of determining right settings while ensuring SLO compliance

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically changes resource allocation parameters based on observed performance and time-varying demands. By constructing models that capture performance as a function of resource allocations and inverting these models, the system continuously adjusts reservation, limit, and share values to match current application needs, resolving the contradiction between static control settings and dynamic resource demands

Inventive Principle:
Principle #35Parameter changes

2Reliability

If resource control settings are determined for one period of time, then applications may meet SLOs during that period, but settings become ineffective at later periods due to time-varying demands

Engineering Contradiction:
Improvereliability of meeting SLOsVSAvoidadaptability to time-varying demands
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system implements dynamics by continuously updating resource control settings based on time-varying application demands. The model construction and inversion process is performed repeatedly, allowing the system to adapt reservation, limit, and share values as application performance characteristics change over time, thereby maintaining SLO compliance across different operational periods

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback by using observed application performance metrics to refine and update resource allocation models. The performance data feeds back into the model construction process, which then generates updated target allocations, creating a closed-loop control system that continuously adapts to changing demands while ensuring SLOs are met

Inventive Principle:
Principle #23Feedback

3Reliability

If different VMs supporting the same application are allocated different resource amounts, then each VM can meet its specific requirements, but determining the right allocation for each VM becomes extremely challenging

Engineering Contradiction:
Improvereliability of meeting application performance targetsVSAvoidcomplexity of determining resource settings
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies segmentation by determining resource control settings at the individual VM level rather than applying uniform settings across all VMs. The model construction and inversion process operates on per-VM basis, allowing each VM to receive customized resource allocations (reservations, limits, shares) tailored to its specific performance requirements, thereby resolving the complexity of determining individualized settings

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP2819010B1Performance-driven resource management in a distributed computer system
Publication Date: 2021.03.24 VMWARE INC
  • EP2819010B1 patent drawingFigure 1
  • EP2819010B1 patent drawingFigure 2
  • EP2819010B1 patent drawingFigure 3

AI summary

A system and method for managing resources in a distributed computer system that includes at least one resource pool for a set of virtual machines (VMs) utilizes a set of desired individual VM-level resource settings that corresponds to target resource allocations for observed performance of an application running in the distributed computer system. The set of desired individual VM-level resource settings are determined by constructing a model for the observed application performance as a function of current VM-level resource allocations and then inverting the function to compute the target resource allocations in order to meet at least one user-defined service level objective (SLO). The set of desired individual VM-level resource settings are used to determine final RP-level resource settings for a resource pool to which the application belongs and final VM-level resource settings for the VMs running under the resource pool, which are then selectively applied.