Memory Device Manager for Virtual Machine Page Swapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtualization systems face challenges in efficiently identifying and utilizing appropriate memory devices for swapping virtual machine memory pages, leading to suboptimal performance and resource utilization.

Innovation Solution

A method and system where a memory device manager, integrated within the host computer system, identifies memory devices based on the workload type of virtual machines, mapping workload types to appropriate memory device types, and allocates memory blocks accordingly to enhance efficiency and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory devices are selected randomly or using simple algorithms for swapping virtual machine memory pages, then the system complexity is low, but the memory pressure and swapping efficiency deteriorate

Engineering Contradiction:
Improveswapping efficiencyVSAvoidmemory device selection complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the parameter for memory device selection from random or simple LRU algorithms to workload-type-based selection. The system monitors workload types of virtual machines and selects memory devices according to the specific characteristics of each workload type, thereby improving swapping efficiency without excessive complexity

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback by monitoring the actual workload types of virtual machines and using this information to adjust memory device selection dynamically. This feedback mechanism allows the system to adapt to changing workload patterns and optimize swapping performance continuously

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If all virtual machines use the same memory device for swapping, then the device complexity is low, but the adaptability to different workload types deteriorates

Engineering Contradiction:
Improveworkload adaptabilityVSAvoidmemory device allocation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by assigning different memory devices to different virtual machines based on their specific workload types. Instead of uniform treatment, the system tailors memory device allocation to the local characteristics of each virtual machine's workload, improving adaptability while maintaining manageable complexity through structured classification

Inventive Principle:
Principle #3Local quality

3Reliability

If memory pressure is not managed effectively, then the system operation is simple, but the virtual machine performance deteriorates

Engineering Contradiction:
Improvevirtual machine performanceVSAvoidmemory pressure management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary action by proactively monitoring workload types and pre-selecting appropriate memory devices before memory pressure becomes critical. This preventive approach allows the system to optimize memory allocation in advance, improving virtual machine performance without requiring complex reactive pressure management

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12217089B2Identifying memory devices for swapping virtual machine memory pages
Publication Date: 2025.02.04 RED HAT ISRAEL
  • US12217089B2 patent drawing
  • US12217089B2 patent drawing
  • US12217089B2 patent drawing

AI summary

Systems and methods for identifying memory devices for swapping virtual machine memory pages. An example method may comprise: identifying, by a processing device, a workload type associated with a workload being executed by a computer system; identifying a memory device associated with the workload type; evaluating a memory pressure metric reflecting a period of time during which an application being executed by the computer system has been blocked by a memory allocation operation; and responsive to determining that the memory pressure metric exceeds a threshold value, allocating a memory block on the identified memory device.