VM Snapshot Loading via Distributed EBS Cache Striping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The prior art's lazy loading process for virtual machine snapshot data results in amplified traffic for reading snapshot data, leading to lower loading speeds due to each virtual machine needing to read data from the image center, causing a bottleneck.

Innovation Solution

Implementing a snapshot distributed cache in the EBS cluster with multiple snapshot cache nodes to cache and distribute snapshot data, allowing snapshot data to be cached and distributed through multiple nodes, thereby utilizing the processing capacity of the EBS cluster more efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If each virtual machine reads snapshot data from the image center during lazy loading, then the virtual machine can be started without waiting for snapshot data to be loaded into the cloud disk, but the traffic for reading snapshot data is greatly amplified resulting in lower loading speed

Engineering Contradiction:
Improvevirtual machine startup capabilityVSAvoidsnapshot data loading speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces a snapshot cache as an intermediary component between the image center and virtual machines. The snapshot cache receives snapshot data from the image center and distributes it to multiple virtual machines, reducing the direct traffic burden on the image center while enabling fast startup. This mediator architecture resolves the contradiction by buffering the amplification effect of multiple VMs accessing the same image data simultaneously.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the snapshot data into multiple stripes and distributes them across different cache nodes in the EBS cluster. Each cache node handles a portion of the snapshot data, allowing parallel access and reducing the concentration of traffic on a single path. This segmentation enables the system to handle multiple virtual machines reading snapshot data simultaneously without creating a traffic bottleneck.

Inventive Principle:
Principle #1Segmentation

2Productivity

If snapshot data is cached to multiple snapshot cache nodes in the EBS cluster, then the processing capacity of multiple snapshot cache nodes is fully utilized improving data loading speed, but the system complexity increases

Engineering Contradiction:
Improvedata loading speedVSAvoidEBS cluster configuration
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the snapshot data into multiple stripes and assigns them to different cache nodes within the EBS cluster. This segmentation allows the system to leverage multiple nodes for parallel data loading, improving overall throughput. The stripe-based distribution ensures that data is spread across nodes rather than concentrated on a single node, maximizing utilization of available processing capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates copies of snapshot data across multiple cache nodes in the EBS cluster. Instead of having a single source of truth, the snapshot data is replicated to multiple nodes, enabling parallel read operations and improving load speed. This copying mechanism allows the system to tolerate node failures while maintaining high performance.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP4671979A1Method and device for loading virtual machine snapshot data
Publication Date: 2025.12.31 BEIJING VOLCANO ENGINE TECH CO LTD
  • EP4671979A1 patent drawingFigure 1~2
  • EP4671979A1 patent drawingFigure 3~4
  • EP4671979A1 patent drawingFigure 5~6

AI summary

A method and device for loading virtual machine snapshot data, the method comprising: in response to receiving startup instructions of multiple virtual machines, selecting (S201) target image files corresponding to multiple virtual machines from multiple image files stored in an image center, and caching multiple snapshot data in the target image files in the form of stripe data to multiple snapshot cache nodes in an elastic block storage EBS cluster according to a preset first stripe size; wherein the EBS cluster is configured with a snapshot distributed cache formed by multiple snapshot cache nodes for caching and distributing snapshot data; creating (S202) a data loading cloud disk corresponding to each virtual machine, and for each virtual machine, loading the snapshot data required to start the virtual machine from the snapshot storage space of multiple snapshot cache nodes through the data loading cloud disk corresponding to the virtual machine.