VM Live Migration Memory Optimization via Hash Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtual machine systems, live migration of VMs is inefficient when network resources are constrained, as it requires transferring large amounts of RAM, leading to increased time and resource consumption.

Innovation Solution

Implementing a mechanism that compares memory pages of a migrating VM with shared memory pages on a target host using hash values, sending only hashes of pages likely to exist on the target host and sending full memory pages only for unmatched hashes, thereby reducing the amount of data transferred during live migration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If entire memory pages are transferred during live migration, then data completeness is ensured, but data transfer volume and time consumption increase significantly

Engineering Contradiction:
Improvedata completenessVSAvoidmigration time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the memory transfer process into two stages: first transferring only memory pages that differ between source and target hosts (identified through hash comparison), then transferring the complete memory image if sharing is not beneficial. This segmentation allows selective data transfer based on actual differences, reducing unnecessary data transmission while maintaining completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary hash comparison of memory pages between source and target hosts before actual data transfer. This preliminary action identifies which memory pages can be shared and which need to be transferred, enabling the system to prepare the migration plan in advance and avoid transferring redundant data during the actual migration process.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If memory sharing is implemented, then memory utilization efficiency improves, but system complexity increases due to hash comparison and matching processes

Engineering Contradiction:
Improvememory utilization efficiencyVSAvoidmigration process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses hash values as copies or representations of memory pages instead of transferring the actual memory data during the comparison process. The hash comparison creates a virtual copy of memory page characteristics to determine sharing eligibility, avoiding the need to physically copy or transfer large memory datasets while maintaining the ability to identify and share appropriate memory pages.

Inventive Principle:
Principle #26Copying

3Loss of time

If hash comparison is performed for all memory pages, then data transfer optimization is achieved, but processing time and computational resources increase

Engineering Contradiction:
Improvedata transfer timeVSAvoidcomputational resources
Core Design Contradiction:
Loss of timeVSPower

Solution Approach 1:

The patent applies different quality levels of analysis to different memory pages based on their characteristics. Instead of uniformly processing all memory pages with full hash comparison, the system identifies memory pages that are likely to be shared (based on host characteristics, memory patterns, or preliminary indicators) and applies intensive hash comparison only to those specific pages, while using faster, lighter-weight verification for other pages.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8327060B2Mechanism for live migration of virtual machines with memory optimizations
Publication Date: 2012.12.04 RED HAT ISRAEL
  • US8327060B2 patent drawing
  • US8327060B2 patent drawing
  • US8327060B2 patent drawing

AI summary

A mechanism for live migration of virtual machines (VMs) with memory optimizations is disclosed. A method of embodiments of the invention includes receiving a hash value for each of one or more memory pages of a migrating VM from a source host machine, obtaining a hash value for each of one or more memory pages hosted by a target host machine, and comparing the received hash values with the obtained hash values for matches. The method further comprises for each of the received hash values that do not match any of the obtained hash values, sending a negative acknowledgment to the source host machine for that hash value, and for each of the received hash values that do match any of the obtained hash values, using a memory page associated with the matching hash value at the target host machine for the migrating VM.