VM Memory Page Migration Using Hint Data Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional virtual machine migration techniques face slowdowns due to the need for re-copying modified memory pages during migration, which can lead to incomplete migration processes.

Innovation Solution

A method involving a memory page hint data structure is used to track the migration status of guest memory pages, allowing the hypervisor to indicate which pages have been migrated and which have not been modified, enabling efficient selection and allocation of non-migrated pages for continued operation during migration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional pre-copy migration is used to migrate virtual machine memory pages, then migration can be performed while the virtual machine is running, but modified memory pages must be re-copied causing significant slowdowns and potential migration failure

Engineering Contradiction:
Improvemigration speedVSAvoidmigration completion
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by having the guest operating system proactively identify and notify the hypervisor about memory pages that will be modified before the modification occurs. This allows the hypervisor to pre-arrange migration of these pages before they are actually changed, eliminating the need for re-copying and preventing migration slowdowns or failures.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback through a notification mechanism where the guest operating system continuously monitors its memory access patterns and provides feedback to the hypervisor about upcoming memory modifications. This feedback loop enables the hypervisor to dynamically adjust migration timing and prioritize pages that are likely to be modified, optimizing migration performance and reliability.

Inventive Principle:
Principle #23Feedback

2Reliability

If all memory pages are copied during migration, then complete migration can be achieved, but the additional copying of modified pages causes significant performance degradation

Engineering Contradiction:
Improvemigration completenessVSAvoidmigration performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by migrating only the necessary memory pages - specifically those that have been modified or will be modified - rather than copying all memory pages. The guest operating system identifies specific pages requiring migration, and the hypervisor migrates only those pages, reducing unnecessary copying operations and improving migration performance while maintaining completeness.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If memory pages are migrated while the virtual machine is running, then continuous operation is maintained, but modified pages require re-copying leading to migration slowdowns

Engineering Contradiction:
Improvecontinuous operationVSAvoidmigration speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent resolves this contradiction by performing preliminary identification of pages to be modified before migration begins. The guest operating system notifies the hypervisor in advance about pages that will be modified, allowing the hypervisor to migrate these pages proactively while the virtual machine continues to run, thereby eliminating re-copying operations and maintaining high migration speed throughout the continuous operation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10768959B2Virtual machine migration using memory page hints
Publication Date: 2020.09.08 RED HAT ISRAEL
  • US10768959B2 patent drawing
  • US10768959B2 patent drawing
  • US10768959B2 patent drawing

AI summary

Methods, systems, and computer program products are provided for migrating memory pages. A virtual machine is run by a hypervisor. The virtual machine includes a guest that is allocated a plurality of guest memory pages. A data structure is initialized corresponding to a memory page of the plurality of guest memory pages. A first status is assigned in the data structure to the memory page. The memory page is migrated to a destination and the data structure is modified to assign the memory page a second status.