Trace-Assisted Virtual Machine Prefetching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual machines can take a long time to download due to their large size, and existing methods like demand paging may lead to slower performance, especially when network retrieval times exceed local disk times, and reorganizing virtual disk blocks for prefetching can compromise digital signatures.

Innovation Solution

A method involving trace-assisted prefetching, where an activity trace of a virtual machine is determined and uploaded to a network resource to preferentially fetch parts of the virtual machine, and the trace is used to reorder virtual disks for faster access, while maintaining digital signature integrity through position-independent representations and signatures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If demand paging is used to start the virtual machine immediately and pull down parts as requested, then the user can begin interacting with the virtual machine sooner, but the virtual machine may become slower when network retrieval time exceeds local disk retrieval time

Engineering Contradiction:
Improvetime to begin interacting with virtual machineVSAvoidvirtual machine performance speed
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system performs preliminary actions by collecting activity traces from the virtual machine's operation and using these traces to predict which disk blocks will be needed soon. This allows the system to prefetch blocks in advance during idle periods, so that when the virtual machine needs them, they are already available locally, avoiding slow network retrieval while maintaining good performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by continuously monitoring the virtual machine's actual block access patterns and comparing them with predicted patterns from traces. This feedback loop allows the system to learn from actual usage and improve its prefetching accuracy over time, adjusting which blocks to prefetch based on real operational data.

Inventive Principle:
Principle #23Feedback

2Productivity

If prefetching is implemented to fetch blocks before they are requested, then network retrieval latency is hidden, but the system requires excess capacity for extra requests and pause times when the system can prefetch blocks

Engineering Contradiction:
Improvevirtual machine access speedVSAvoidsystem capacity requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system applies partial action by prefetching only the specific blocks predicted to be needed soon, rather than prefetching all possible blocks. This selective approach uses activity traces to identify a subset of blocks that will benefit from prefetching, reducing the excess capacity requirements while still achieving the latency-hiding benefit for critical blocks.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs prefetching during periodic idle times when the virtual machine is not actively requesting blocks. By monitoring system state and initiating prefetch operations during these natural pause periods, the system avoids competing with active virtual machine operations for system resources, thereby reducing the apparent complexity and capacity requirements.

Inventive Principle:
Principle #19Periodic action

3Productivity

If virtual disk blocks are reordered to arrange blocks needed earlier by clients earlier in the file for sequential reading, then prefetching efficiency is improved, but digital signatures on the virtual disk are compromised

Engineering Contradiction:
Improveprefetching efficiencyVSAvoiddigital signature integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system segments the virtual disk into two separate components: the original signed disk file that maintains its integrity and digital signatures, and a separate trace-sorted index or mapping structure that contains the reordered block information. This segmentation allows the system to benefit from trace-based reordering for efficient prefetching while the original signed disk remains unchanged, preserving signature verification capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates a copy of the block ordering information in the form of a trace-sorted index or mapping file, rather than physically reordering blocks in the signed disk. This copy contains the reordered sequence information needed for efficient prefetching, while the original signed disk file remains intact. The system uses this copied ordering information to guide block retrieval without compromising the signature on the original disk.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9038064B2Trace assisted prefetching of virtual machines in a distributed system
Publication Date: 2015.05.19 GOOGLE LLC
  • US9038064B2 patent drawing
  • US9038064B2 patent drawing
  • US9038064B2 patent drawing

AI summary

The disclosed implementations are related to trace-assisted prefetching of a virtual machine from a network resource to improve interactive performance of the virtual machine on a host device. Trace patterns can be automatically uploaded to a network resource, which aggregates the patterns, and serves the patterns back to the host device, or a different host device, when the host device downloads a virtual machine for the first time.