Cache Coherent FPGA Tracking Dirty Cache Lines for VM Live Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing live migration of virtual machines is inefficient due to time-consuming handling of write page faults, unnecessary copying of entire pages, and frequent pausing and resuming of virtual machines, which leads to resource wastage and performance degradation.

Innovation Solution

Employing cache coherent FPGAs to track and copy dirty cache lines instead of entire pages, aggregating them into pages for efficient transfer during live migration, thereby reducing the need for page faults and minimizing data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If write page faults are handled by protecting memory pages and catching page faults, then dirty pages can be tracked, but the process becomes time consuming and inefficient

Engineering Contradiction:
Improvetracking accuracyVSAvoidmigration time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent replaces the software-based page fault handling mechanism with a hardware-based cache coherence monitoring mechanism using FPGAs. The FPGA directly monitors cache coherence events (such as writebacks) to identify dirty cache lines, eliminating the need for software page fault traps and handlers. This hardware-based approach provides both accurate tracking and reduced time overhead.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces an intermediary FPGA component that sits between the source host's memory system and the migration process. This FPGA acts as a monitoring intermediary that observes cache coherence events and identifies dirty cache lines without interfering with normal VM operation, thereby enabling efficient tracking without page faults.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If entire memory pages are copied to the destination host, then all modified data is transferred, but resources are wasted when only a small portion of the page is modified

Engineering Contradiction:
Improvedata completenessVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments the memory transfer unit from the traditional page level down to the cache line level. By monitoring individual cache lines for dirtiness and only copying those that have been modified, the system transfers only the necessary portions of memory rather than entire pages. This segmentation enables precise tracking and minimal data transfer while maintaining data completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by treating different cache lines within the same memory page differently based on their actual modification status. Instead of uniformly copying entire pages, the system identifies and copies only the specific cache lines that have been dirtied, allocating bandwidth resources efficiently based on local modification needs rather than global page-level assumptions.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If memory pages are tracked by write protection and page fault catching, then dirty pages are identified, but the operation slows down live migration

Engineering Contradiction:
Improvedirty page detection accuracyVSAvoidmigration speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent replaces the software-based page fault detection mechanism with a hardware-based cache coherence monitoring system using FPGAs. The FPGA directly monitors hardware cache events to identify dirty cache lines in real-time without requiring VM pauses or page fault traps, thereby maintaining both detection accuracy and migration speed.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent enables continuous monitoring of cache coherence events throughout the live migration process without interrupting VM execution. The FPGA continuously tracks dirty cache lines as the VM runs, eliminating the need to pause the VM for detection, thus maintaining continuous productive action while accurately identifying dirty data.

Inventive Principle:
Principle #20Continuity of useful action

4Productivity

If the virtual machine is paused to copy remaining dirty pages, then migration can be completed, but performance degradation occurs during pausing

Engineering Contradiction:
Improvemigration completionVSAvoidVM downtime
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the migration process into continuous dirty cache line tracking that occurs during VM execution, eliminating the need for complete VM pausing. By tracking at the cache line level continuously, the system can identify and transfer dirty data incrementally without stopping the VM, thereby completing migration with minimal or no downtime.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent maintains continuous useful action by allowing the VM to remain running throughout the migration process while the FPGA continuously monitors and tracks dirty cache lines. This continuous operation eliminates the need to pause the VM for migration operations, maintaining both migration progress and VM performance simultaneously.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11099871B2Using cache coherent FPGAS to accelerate live migration of virtual machines
Publication Date: 2021.08.24 VMWARE INC
  • US11099871B2 patent drawing
  • US11099871B2 patent drawing
  • US11099871B2 patent drawing

AI summary

A virtual machine running on a source host is live migrated to a destination host. The source host includes a first processing node with a first processing hardware and a first memory, and a second processing node with a second processing hardware and a second memory. While the virtual machine is running on the first processing hardware, the second processing hardware tracks cache lines of the first processing hardware that become dirty as a result of write operations performed on one or more memory pages of the virtual machine. The dirty cache lines are copied to the destination host in units of a cache line or groups of cache lines.