Virtual Machine Memory Manager Dynamic Re-allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for virtualized computing do not efficiently free used memory from virtual machines to improve system memory usage and performance, despite existing technologies for freeing unused memory.

Innovation Solution

A virtual machine manager with a memory manager that allocates and de-allocates physical memory, including de-allocating unused and used memory from one virtual machine to re-allocate it to others, using a memory pool and driver to facilitate efficient memory management across multiple virtual machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory is allocated to virtual machines to ensure adequate resources, then virtual machine performance is maintained, but system memory usage efficiency deteriorates due to unused memory remaining allocated

Engineering Contradiction:
Improvevirtual machine performanceVSAvoidsystem memory usage efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements dynamic memory allocation where the memory manager continuously monitors virtual machine activity states and adjusts memory allocation in real-time. When VMs enter idle or suspended states, memory is dynamically reclaimed; when VMs become active, memory is automatically reallocated. This dynamic approach resolves the contradiction by making memory allocation adaptive rather than static, maintaining VM performance while improving overall system memory efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The memory manager autonomously performs memory allocation and de-allocation operations based on VM state changes without requiring manual intervention. The system self-monitors VM activity, automatically identifies when memory can be reclaimed from idle VMs, and performs the de-allocation and subsequent reallocation to active VMs, thereby improving system memory efficiency while maintaining VM performance requirements.

Inventive Principle:
Principle #25Self-service

2Loss of energy

If memory is de-allocated from idle virtual machines to improve system memory efficiency, then system memory usage efficiency improves, but virtual machine performance may deteriorate due to potential memory shortage

Engineering Contradiction:
Improvesystem memory usage efficiencyVSAvoidvirtual machine performance
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The memory manager implements a feedback mechanism that continuously monitors VM activity states and system memory conditions. Before de-allocating memory from a VM, the system checks whether the VM is truly idle or suspended. After de-allocation, the system monitors whether the VM needs memory and automatically reallocations it when needed. This feedback loop ensures memory is only reclaimed from genuinely idle VMs and is promptly returned when VMs become active, preventing performance deterioration while improving system memory efficiency.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary checks before de-allocating memory to ensure the VM is in an idle or suspended state and will not require memory immediately. The memory manager proactively identifies suitable candidates for memory reclamation and performs de-allocation only when safe, thereby preventing performance issues while improving system memory efficiency.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If memory is allocated to support more virtual machines, then the number of supported virtual machines increases, but the memory required per virtual machine decreases

Engineering Contradiction:
Improvenumber of supported virtual machinesVSAvoidmemory required per virtual machine
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent merges memory resources from multiple idle or suspended virtual machines into a shared pool that can be dynamically allocated to active VMs. By combining unused memory from multiple sources and making it available for reallocation, the system can support more VMs with the same physical memory resources, effectively reducing the average memory requirement per VM while increasing overall system capacity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The memory manager creates a universal memory pool that serves multiple VMs simultaneously, rather than dedicating fixed memory to each VM. This multi-functional memory allocation approach allows the same physical memory to be shared across multiple VMs based on their actual needs, enabling the system to support more VMs while reducing the memory burden on individual VMs.

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

Data Source

PatentEP3195128B1Memory management in virtualized environment
Publication Date: 2020.10.21 INTEL CORP
  • EP3195128B1 patent drawingFigure 1
  • EP3195128B1 patent drawingFigure 2
  • EP3195128B1 patent drawingFigure 3

AI summary

Apparatuses, methods and storage media associated with memory management in virtualized computing are disclosed herein. An apparatus may include a virtual machine manager to manage operations of a plurality of virtual machines, having a memory manager to manage allocation and de-allocation of physical memory to and from the plurality of virtual machines. Allocation and de-allocation may include de-allocation of unused and used physical memory allocated to a first of the plurality of virtual machines to recover physical memory for allocation to one or more other ones of the plurality of virtual machines, and re-allocation of physical memory for the previously de-allocated unused and used physical memory of the first virtual machine.