Memory Pool Manager for Virtual Machine Priority Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional virtualization systems fail to optimize memory allocation based on the performance and memory workload of each virtual machine, leading to decreased operating speed due to inefficient memory management.

Innovation Solution

A virtualization apparatus with a memory pool manager that allocates memory based on priority levels, ensuring a guaranteed memory size for high-priority virtual machines and dynamically adjusting memory allocation between virtual machines to maintain performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If memory space is managed based on the efficiency of the use of the whole memory space, then memory usage efficiency is improved, but the operating speed of each virtual machine decreases

Engineering Contradiction:
Improvememory usage efficiencyVSAvoidoperating speed of virtual machine
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent applies local quality by differentiating memory management policies for different virtual machines based on their priority levels. High-priority virtual machines receive guaranteed memory allocation with higher allocation ratios, while low-priority virtual machines receive allocation based on available memory. This localized differentiation resolves the contradiction by ensuring that critical virtual machines maintain adequate memory for performance while overall memory efficiency is improved through dynamic allocation to lower-priority machines.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic memory allocation where the memory pool manager continuously monitors memory usage and adjusts allocation ratios based on priority levels and current memory availability. The allocation ratio for each virtual machine is not fixed but dynamically adjusted according to system conditions, allowing the system to maintain both high memory efficiency and adequate performance for priority virtual machines under varying load conditions.

Inventive Principle:
Principle #15Dynamics

2Speed

If memory is allocated to maintain performance of a particular virtual machine, then operating speed is improved, but memory usage efficiency of the whole system decreases

Engineering Contradiction:
Improveoperating speed of virtual machineVSAvoidmemory usage efficiency
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system uses dynamic allocation ratios that adjust based on priority levels and current memory availability. High-priority virtual machines receive higher allocation ratios (e.g., 70-90% during shortages) while low-priority machines receive lower ratios (e.g., 10-30%), allowing the system to guarantee performance for critical machines while maintaining overall memory efficiency through flexible, condition-based allocation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of memory allocation ratio based on priority level and memory availability conditions. By varying this parameter dynamically, the system can ensure adequate memory for high-priority virtual machines when needed while optimizing overall memory utilization by allocating remaining capacity to lower-priority machines, thus resolving the contradiction between performance guarantee and system-wide efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9135159B2Management of memory pool in virtualization environment
Publication Date: 2015.09.15 SAMSUNG ELECTRONICS CO LTD
  • US9135159B2 patent drawing
  • US9135159B2 patent drawing
  • US9135159B2 patent drawing

AI summary

A virtualization apparatus is provided. The virtualization apparatus includes a plurality of virtual machines configured to have priority levels, a memory pool configured to be shared between the plurality of virtual machines and store part of data stored in a system memory of each of the plurality of virtual machines, and a memory pool manager configured to process a memory allocation request or a data storage request regarding the memory pool in consideration of the priority levels of the plurality of virtual machines, a guaranteed memory size for each of the plurality of virtual machines, and a size of memory that can be allocated to each of the plurality of virtual machines.