Dynamic Memory Resizing in Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional virtual computing systems face inefficiencies due to random and inadequate memory allocation to virtual machines, leading to insufficient or excessive memory allocation, which affects performance and resource utilization, as they do not accurately reflect changing workload memory demands over time.

Innovation Solution

A memory resizing system that collects and analyzes memory usage information to generate current and historical profiles, computes an upper baseline based on peak usage, and dynamically adjusts initial memory allocations using a moving average to determine optimal final allocations, reducing reliance on memory compensating techniques and improving resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory allocation is increased to meet peak demand, then performance is improved, but resource utilization efficiency deteriorates due to excessive allocation during low demand periods

Engineering Contradiction:
ImproveperformanceVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements dynamic memory allocation that automatically adjusts memory allocation based on real-time workload demands. The system monitors memory usage patterns and dynamically resizes memory allocations, transitioning from static to dynamic allocation to match actual needs, thereby improving both performance reliability and resource utilization efficiency simultaneously

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by continuously monitoring memory usage metrics and using this information to adjust memory allocation. The monitoring component collects data on memory consumption patterns, and this feedback is used by the resizing component to optimize allocations, creating a closed-loop system that balances performance and efficiency

Inventive Principle:
Principle #23Feedback

2Loss of energy

If memory allocation is decreased to improve resource utilization, then resource utilization efficiency is improved, but performance deteriorates due to insufficient memory during peak workloads

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidperformance
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system performs preliminary actions by proactively increasing memory allocation before peak workloads occur. By analyzing historical usage patterns and predicting future demands, the system pre-allocates memory resources, ensuring performance is maintained when needed while avoiding excessive allocation during low-demand periods

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter of memory allocation from fixed to variable based on workload conditions. The system adjusts memory allocation parameters dynamically, changing them in response to monitored performance metrics and usage patterns, allowing optimization of both resource utilization and performance under different operating conditions

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If static memory allocation is used to simplify system configuration, then device complexity is reduced, but adaptability deteriorates as workload demands change over time

Engineering Contradiction:
Improvesystem configurationVSAvoidadaptability to workload changes
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The system implements self-service by enabling virtual machines to automatically receive appropriate memory allocations without manual intervention. The monitoring and resizing components work autonomously to detect memory needs and adjust allocations, making the system self-adapting to workload changes while maintaining simple configuration for users

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent transforms the static memory allocation configuration into a dynamic system that automatically adapts to changing workload demands. The configuration remains simple from the user perspective while the underlying system dynamically adjusts memory parameters based on real-time conditions, resolving the contradiction between simplicity and adaptability

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10929165B2System and method for memory resizing in a virtual computing environment
Publication Date: 2021.02.23 NUTANIX INC
  • US10929165B2 patent drawing
  • US10929165B2 patent drawing
  • US10929165B2 patent drawing

AI summary

A system and method for dynamically adjusting the amount of memory allocated to a virtual machine includes generating, by a memory resizing system, a current memory usage profile for the virtual machine. The memory resizing system and the virtual machine are part of a virtual computing system and the current memory usage profile is generated by mapping, as a function of time, memory usage information from the virtual machine. The system and method also include computing an upper baseline based upon a peak memory usage in the current memory profile, updating an initial memory allocation of the virtual machine based upon the upper baseline and a predetermined threshold for obtaining an initial revised memory allocation, determining a moving average of memory usage from a historical memory usage profile, and updating the initial revised memory allocation based upon the moving average of memory usage for obtaining a final revised memory allocation.