Trace-Assisted Virtual Machine Prefetching
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


