Dynamic Memory Allocation for Virtual Machines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current virtual machine management systems are inadequate in dynamically allocating physical resources, particularly memory, to ensure quality of service requirements, as initial allocations are often static and do not adapt to changing workloads, leading to inefficiencies and potential service failures.
Innovation Solution
Implementing a management domain that dynamically adjusts memory allocations for virtual machines based on performance policies and page fault rates, using a hypervisor to monitor and optimize memory distribution across the platform, ensuring each virtual machine receives sufficient memory to meet its workload demands and maintain quality of service.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If static initial memory allocation is used for virtual machines, then device complexity is reduced and ease of operation is improved, but adaptability to changing workloads deteriorates and productivity decreases
Solution Approach 1:
The patent implements dynamic memory allocation by introducing a management domain that continuously monitors workload characteristics and adjusts memory allocation for virtual machines in real-time. This transforms the static memory allocation system into a dynamic one that adapts to changing workload demands, resolving the contradiction between operational simplicity and adaptability.
Solution Approach 2:
The management domain employs feedback mechanisms by monitoring workload metrics and using this information to adjust memory allocation decisions. The system observes workload characteristics, compares them against allocation policies, and dynamically modifies memory distribution accordingly, enabling the system to maintain both ease of operation and high adaptability.
2Device complexity
If static initial memory allocation is used for virtual machines, then device complexity is reduced, but productivity and quality of service deteriorate due to inability to meet evolving workload demands
Solution Approach 1:
The patent segments the memory management function by introducing a dedicated management domain that operates independently from individual virtual machines. This segmentation allows the system to maintain simple virtual machine structures while implementing complex dynamic allocation policies at the management domain level, thereby preserving productivity without significantly increasing overall system complexity.
Solution Approach 2:
The management domain acts as an intermediary between the hypervisor and virtual machines, handling the complexity of dynamic memory allocation. This intermediary absorbs the computational overhead and policy enforcement complexity, allowing virtual machines to remain simple while achieving high productivity through intelligent memory management.
3Reliability
If memory is over-allocated to ensure quality of service, then reliability is improved, but loss of substance (wasted memory) increases
Solution Approach 1:
The patent dynamically changes the memory allocation parameter based on observed workload characteristics and quality of service requirements. By adjusting memory allocation in response to actual workload demands rather than using fixed over-allocation, the system maintains reliability while minimizing memory waste, as memory is allocated precisely when and where needed.
Data Source
AI summary
Methods and apparatus allocate and adjust memory of a hardware platform hosting a plurality of guest virtual machines. One of the virtual machines is configured as a management domain that determines whether other virtual machines comply with a performance computing policy. If not, an initial amount of memory for the other virtual machines is adjusted higher or lower. In this manner, the guest machines are each outfitted with sufficient memory to accomplish their respective workloads, and such is adjusted over time as workloads vary per machine. This distributes throughput concerns throughout an entire platform to sufficiently guarantee a quality of service for each machine of the platform, regardless of its individual tasks. Other features contemplate specific computing policies regarding page fault rates and computer program products for assisting in the foregoing, to name a few.


