Virtual Machine Memory Manager Dynamic Re-allocation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
Figure 1
Figure 2
Figure 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.