I/O Device Bitmap Tracking for VM Live Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern data centers face challenges in monitoring and recording page state changes, especially during live migration of virtual machines, as the host may lack visibility into changes made by devices external to it.

Innovation Solution

A method and system that utilize an I/O device to monitor page state changes by modifying data in a memory region, recording modifications to a bitmap, and copying sections indicated by the bitmap to another memory region, either on the same host or a different one.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If the host tracks page state changes directly, then visibility and control over memory changes are improved, but the host cannot detect changes made by external I/O devices

Engineering Contradiction:
Improvevisibility of memory changesVSAvoidability to track external device changes
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

Solution Approach 1:

The patent introduces an I/O device as an intermediary component that sits between the host and external devices. This I/O device includes a bitmap that tracks page state changes made by external devices, allowing the host to indirectly monitor memory modifications without having direct visibility. The intermediary I/O device captures change information that would otherwise be invisible to the host's tracking mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If all memory pages are copied during live migration, then migration completeness is improved, but migration time and bandwidth consumption increase

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

Solution Approach 1:

The patent extracts only the changed pages from the entire memory space during live migration. By using the bitmap to identify which specific pages have been modified, the system copies only those changed pages rather than all pages. This selective copying approach maintains migration completeness for all necessary data while significantly reducing migration time and bandwidth requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of performing a complete copy of all memory pages, the patent applies partial action by copying only the subset of pages that have actually changed. The bitmap enables identification of this partial set, allowing the migration process to focus resources on transferring only the necessary data portions, thereby reducing overall migration time while ensuring all changed data is captured.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If the I/O device monitors all memory accesses, then tracking accuracy is improved, but system performance and overhead increase

Engineering Contradiction:
Improvetracking accuracyVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements preliminary action by having the I/O device maintain a bitmap that pre-identifies which pages have been modified before migration is initiated. This preliminary tracking allows the system to know in advance which pages need to be copied, eliminating the need for continuous monitoring during the actual migration process and reducing overhead while maintaining accurate tracking.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4235435B1Logging pages accessed from I/O devices
Publication Date: 2025.05.21 GOOGLE LLC
  • EP4235435B1 patent drawingFigure 1
  • EP4235435B1 patent drawingFigure 2
  • EP4235435B1 patent drawingFigure 3

AI summary

Systems and methods of tracking page state changes are provided. An input/output is communicatively coupled to a host having a memory. The I/O device receives a command from the host to monitor page state changes in a region of the memory allocated to a process. The I/O device, bypassing a CPU of the host, modifies data stored in the region based on a request, for example, received from a client device via a computer network. The I/O device records the modification to a bitmap by setting a bit in the bitmap that corresponds to a location of the data in the memory. The I/O device transfers contents of the bitmap to the CPU, wherein the CPU completes the live migration by copying sections of the first region indicated by the bitmap to a second region of memory. In some implementations, the process can be a virtual machine, a user space application, or a container.