Dynamic Memory Allocation for Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The static memory partitioning scheme in virtualization technologies restricts the number of virtual machines that can be run on a physical machine, as memory allocation is fixed and not dynamically adjusted, leading to inefficiencies in resource utilization and performance, especially in environments like smartphones where memory is limited.

Innovation Solution

A method and apparatus for dynamically allocating memory to virtual machines by monitoring access patterns and using the monitoring information to determine optimal memory allocation amounts, allowing for efficient partitioning of main memory based on determined needs, thereby improving system performance and enabling more virtual machines to run concurrently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a static memory partitioning scheme is used, then memory allocation is simple and stable, but the number of virtual machines that can be run simultaneously is limited and resource utilization is inefficient

Engineering Contradiction:
Improvenumber of virtual machinesVSAvoidmemory management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic memory partitioning where the memory allocation amount for each virtual machine is not fixed but can be adjusted based on actual usage. The system monitors memory access patterns and dynamically reallocates memory from virtual machines with low usage to those with high usage, allowing the number of simultaneously running virtual machines to increase while maintaining efficient resource utilization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors memory access information from each virtual machine and uses this feedback to make real-time adjustments to memory allocation. By tracking which virtual machines are underutilizing their allocated memory and which are experiencing memory pressure, the system can dynamically rebalance allocations to maximize the number of runnable virtual machines without requiring complex manual configuration.

Inventive Principle:
Principle #23Feedback

2Productivity

If memory is statically allocated to virtual machines, then performance isolation is maintained, but system performance deteriorates due to inefficient memory utilization

Engineering Contradiction:
Improvesystem performanceVSAvoidmemory resource waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent enables the memory allocation amount to dynamically change based on actual usage patterns. Instead of permanently assigning fixed memory blocks to each virtual machine, the system continuously adjusts allocations to match real-time demands, ensuring that memory resources are fully utilized without waste while maintaining the performance isolation benefits of virtualization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system identifies memory that is allocated but not being used by virtual machines and recovers this memory for reallocation to other virtual machines that need it. This discarding of unused allocations and subsequent recovery/reassignment of those resources to higher-priority or higher-demand virtual machines eliminates waste and improves overall system productivity.

Inventive Principle:
Principle #34Discarding and recovering

3Adaptability or versatility

If the memory size is increased to run more virtual machines, then the number of virtual machines increases, but the cost and physical constraints remain restrictive

Engineering Contradiction:
Improvenumber of virtual machinesVSAvoidmemory size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic memory partitioning where the memory allocation amount for each virtual machine is not fixed but can be adjusted based on actual usage. The system monitors memory access patterns and dynamically reallocates memory from virtual machines with low usage to those with high usage, allowing the number of simultaneously running virtual machines to increase without increasing total memory capacity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system makes the limited physical memory serve multiple functions and multiple virtual machines simultaneously through intelligent dynamic allocation. By allowing memory to be shared and reallocated across different virtual machines based on demand, the same physical memory resources can support a larger number of virtual machines than would be possible with static partitioning, effectively increasing the system's virtualization capacity without additional hardware.

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

Data Source

PatentUS9229651B2Method and apparatus for managing memory in virtual machine environment
Publication Date: 2016.01.05 SAMSUNG ELECTRONICS CO LTD
  • US9229651B2 patent drawing
  • US9229651B2 patent drawing
  • US9229651B2 patent drawing

AI summary

A method and apparatus for managing a memory in a portable terminal including a main memory, a secondary memory, and a plurality virtual machines allocated by partitioning the main memory are provided. The method includes generating, by the virtual machines, monitoring information by monitoring access to the main memory and the secondary memory and swapping out with respect to the secondary memory; determining memory allocation amounts for each of the virtual machines by using the monitoring information; and allocating the main memory to the virtual machines in a partitioning scheme based on the determined memory allocation amounts.