Content-Based Read Cache Digest File Creation for Instant Clones

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The creation of digest files for clone virtual machines is resource-intensive and time-consuming, particularly when using instant clones, leading to performance degradation and increased load on physical computing resources due to the need for cryptographic hash computations for each data block.

Innovation Solution

A method that determines the mapping between logical and physical block addresses to identify and copy relevant information from a source VM's digest file to a clone VM's digest file, reducing the need for redundant hash computations and enabling fast, resource-efficient digest file creation for clone VMs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cryptographic hash computations are performed for each data block to create a digest file for a clone VM, then the digest file enables content-based read cache functionality, but the processing resource utilization and time required for digest file creation increases significantly

Engineering Contradiction:
Improvecontent-based read cache functionalityVSAvoiddigest file creation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The digest file for the clone VM is created in advance during the cloning operation by copying and mapping entries from the parent VM's digest file, rather than performing hash computations after cloning. This preliminary action enables the content-based read cache to function immediately without delaying the cloning process or consuming excessive resources at clone activation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of computing hashes for each data block of the clone VM, the invention copies digest file entries from the parent VM's digest file and remaps them to the clone VM's logical block addresses. This copying approach leverages the fact that clone VMs share the same underlying data blocks as their parent, eliminating redundant hash computations while maintaining accurate content identification for the cache.

Inventive Principle:
Principle #26Copying

2Reliability

If cryptographic hash computations are performed for each data block to create a digest file for a clone VM, then the digest file enables content-based read cache functionality, but the load on physical computing resources increases

Engineering Contradiction:
Improvecontent-based read cache functionalityVSAvoidphysical computing resource load
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The digest file is generated in advance during the cloning operation itself, utilizing the already-available parent VM digest file. This preliminary generation avoids the need for intensive hash computations at clone activation, thereby reducing the instantaneous load on physical computing resources such as CPU cycles and energy consumption while still enabling content-based read cache functionality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention copies digest file entries from the parent VM rather than computing new hashes for each clone VM data block. Since clone VMs share underlying data blocks with their parent, copying the digest entries and remapping logical block addresses eliminates redundant cryptographic hash computations, significantly reducing CPU load and energy consumption while maintaining accurate content identification for the content-based read cache.

Inventive Principle:
Principle #26Copying

3Reliability

If a digest file is created for a clone VM through traditional methods, then the content-based read cache can be used, but the clone VM performance is degraded during digest file creation

Engineering Contradiction:
Improvecontent-based read cache enablementVSAvoidclone VM performance
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The digest file for the clone VM is created in advance during the cloning operation by copying and remapping entries from the parent VM's digest file. This preliminary creation occurs in the background without blocking clone VM activation or performance-critical operations, allowing the content-based read cache to be enabled immediately while avoiding performance degradation during digest file generation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

By copying digest file entries from the parent VM and remapping them to the clone VM's logical block addresses, the invention eliminates the need for time-consuming hash computations that would otherwise block clone VM startup. This copying approach enables rapid digest file creation that does not impede clone VM performance while still providing the content identification necessary for read cache functionality.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11841797B2Optimizing instant clones through content based read cache
Publication Date: 2023.12.12 VMWARE INC
  • US11841797B2 patent drawing
  • US11841797B2 patent drawing
  • US11841797B2 patent drawing

AI summary

The disclosure provides an approach for content based read cache (CBRC) digest file creation. Embodiments include determining a mapping between entries in a CBRC and physical block addresses (PBAs) associated with a source virtual machine (VM). Embodiments include creating a clone VM based on the source VM. Embodiments include, for each data block associated with the clone VM: determining a PBA associated with a logical block address (LBA) of the data block, determining, based on the mapping, whether data associated with the PBA is cached in the CBRC, and, if the data associated with the PBA is cached in the CBRC, copying a hash of the data from a first digest file of the source VM to a second digest file of the clone VM and associating the hash with the LBA in the second digest file.