Speculative Virtual Machine Execution via Prefetching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Live migration of virtual machines often results in downtime due to the need to quiet or suspend the virtual machine during the transfer process, which is unacceptable for many operations.

Innovation Solution

The method involves post-copy migrating a guest virtual machine by executing its instruction stream on the migration target host, requesting and prefetching not-present pages from the migration source host, and emulating continued execution to identify future page references, allowing parallel requests for both current and future pages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If live migration suspends the virtual machine to copy memory pages, then migration reliability is improved, but migration time increases causing unacceptable downtime

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

Solution Approach 1:

The system performs preliminary actions by starting to transfer memory pages before the virtual machine actually needs them. The migration system proactively copies pages from source to target host in advance, using prediction algorithms to identify which pages will be needed soon, thus reducing downtime when the VM resumes execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuity of useful action by allowing the virtual machine to continue executing on the target host while memory pages are being transferred in the background. The VM is not fully suspended but operates with a subset of pages, and the migration process continuously transfers remaining pages without completely stopping VM operations.

Inventive Principle:
Principle #20Continuity of useful action

2Loss of time

If the virtual machine executes on the target host during migration, then migration time is reduced, but page faults increase causing execution stalls

Engineering Contradiction:
Improvemigration timeVSAvoidexecution stability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system implements feedback mechanisms where the target host monitors page fault occurrences and adjusts the migration strategy accordingly. When page faults are detected, the system responds by prioritizing the transfer of the specific pages that caused faults, using the fault information to guide subsequent page transfer decisions and improve execution stability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system introduces an intermediary migration management layer that handles page fault events. This intermediary component receives page fault notifications from the executing VM, translates them into targeted page transfer requests, and coordinates the retrieval of missing pages from the source host, thereby mediating between VM execution and memory management.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If memory pages are transferred on-demand when page faults occur, then migration simplicity is maintained, but migration performance decreases due to sequential transfers

Engineering Contradiction:
Improvemigration simplicityVSAvoidmigration performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system performs preliminary actions by proactively transferring memory pages before they are actually needed by the virtual machine. Using prediction algorithms, the migration system identifies and transfers pages in advance, converting the reactive on-demand model into a proactive prefetching approach that improves performance while maintaining the basic on-demand transfer mechanism.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies partial or excessive action by transferring more pages than immediately necessary. Instead of waiting for exact page fault events, the migration system transfers additional pages that are predicted to be needed soon, exceeding the minimum requirement and thereby reducing future page faults and improving overall migration performance.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3570166B1Speculative virtual machine execution
Publication Date: 2023.03.15 GOOGLE LLC
  • EP3570166B1 patent drawingFigure 1
  • EP3570166B1 patent drawingFigure 2A
  • EP3570166B1 patent drawingFigure 2B

AI summary

A method includes post copy migrating a guest virtual machine (200) from a migration source host (110, 110a) to a migration target host (110, 110b), executing the instruction stream of the guest virtual machine on the migration target host, and determining, by the migration target host, when the guest virtual machine encounters the page fault (240). When the guest virtual machine encounters the page fault, the method includes requesting the not-present page (230, 230a) from the migration source host for loading on the migration target host, and emulating, on an emulator (250), continued execution of the instruction stream of the guest virtual machine. The method also includes identifying, by the emulator, future page references (220) to future pages (230, 230b) from the emulated continued execution of the instruction stream, and requesting the future pages from the migration source host in parallel with the not-present page request.