Memory Page Activity Classification for VM Migration Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtual machine environments, memory page migration processes, such as live VM migration and checkpointing, are inefficient due to the retransmission of modified memory pages, leading to wasted time, increased computational overhead, and unnecessary network bandwidth usage.

Innovation Solution

A method is introduced to classify memory page activity levels by continuously scanning page table entries to determine access and modification status, using a finite state machine to categorize pages as hot or cold, and storing this information to prioritize page transmission during migration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory pages are transmitted during migration without activity level classification, then the migration process can be completed, but retransmissions occur wasting time and network bandwidth

Engineering Contradiction:
Improvemigration efficiencyVSAvoidretransmission time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary classification of memory pages into hot and cold categories before migration begins. By examining page table entries and determining activity levels in advance, the system identifies which pages are likely to be modified during migration. This preliminary action enables the migration process to prioritize cold pages and handle hot pages differently, preventing retransmissions and improving overall migration efficiency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all memory pages are transmitted during migration, then complete VM state transfer is achieved, but network bandwidth is unnecessarily consumed

Engineering Contradiction:
ImproveVM state transfer completenessVSAvoidnetwork bandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system applies different transmission strategies to different categories of memory pages based on their activity levels. Cold pages are transmitted with standard priority and can be compressed or deduplicated, while hot pages are identified and handled with special consideration to prevent retransmission. This local differentiation optimizes network bandwidth usage while ensuring complete VM state transfer, as each page type receives appropriate treatment based on its characteristics.

Inventive Principle:
Principle #3Local quality

3Productivity

If memory pages are continuously monitored for activity level, then retransmissions are minimized, but computational overhead increases

Engineering Contradiction:
Improvemigration efficiencyVSAvoidmonitoring system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system leverages existing page table structures and activity bits that are already maintained by the memory management system. Instead of implementing a separate monitoring mechanism, the invention reuses the existing page table entries and their associated activity indicators to classify pages during migration. This self-service approach minimizes additional computational overhead while still achieving effective page classification and retransmission prevention.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9032398B2Online classification of memory pages based on activity level represented by one or more bits
Publication Date: 2015.05.12 VMWARE INC
  • US9032398B2 patent drawing
  • US9032398B2 patent drawing
  • US9032398B2 patent drawing

AI summary

Activity level of memory pages is classified in virtual machine environment, so that processes such as live VM migration and checkpointing, among others, can be carried out more efficiently. The method includes the steps of scanning page table entries of hypervisor-managed page tables continuously over repeating scan periods to determine whether memory pages have been accessed or not, and for each memory page, determining an activity level of the memory page based on whether the memory page has been accessed or not since a prior scan and storing the activity level of the memory page. The activity level of the memory page may be represented by one or more bits of its page table entry and may be classified as having at least two states ranging from hot to cold.