VM Suspend Resume Cache Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing VM suspend/resume feature in virtualized computer systems becomes inefficient during 'suspend storms' and 'resume storms,' where many VMs are suspended or resumed simultaneously, leading to prolonged processing times due to storage device bottlenecks, delaying resource reallocation and user access.

Innovation Solution

Implementing a cache with lower input/output latency and higher throughput than traditional storage devices, such as local or shared SSDs, to manage VM states during suspend and resume operations, allowing for faster IO operations and efficient resource management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a cache with lower I/O latency and higher throughput is introduced, then suspend and resume operations become faster, but device complexity increases

Engineering Contradiction:
Improvesuspend and resume operation speedVSAvoidstorage system complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The storage system is segmented into two distinct components: a high-speed cache storage device and a standard storage device. The cache device handles suspend/resume operations requiring fast I/O, while the standard device handles other storage needs. This segmentation allows the system to achieve fast suspend/resume without making the entire storage system complex.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache storage device acts as an intermediary between the VM suspend/resume operations and the standard storage device. It temporarily holds VM state data during suspend operations, enabling fast I/O performance, and coordinates with the standard storage device to manage data persistence. This intermediary approach resolves the contradiction by providing fast access paths without requiring complete system redesign.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If VM state data is stored in a cache device, then I/O operations during suspend and resume are faster, but loss of substance increases if cache data is not persisted

Engineering Contradiction:
ImproveI/O operation speedVSAvoidVM state data loss
Core Design Contradiction:
SpeedVSLoss of substance

Solution Approach 1:

The system performs preliminary actions by first writing VM state data to the cache storage device, which has faster I/O capabilities. After confirming successful write operations, the system then persists this data to the standard storage device. This preliminary action in the cache enables fast suspend/resume operations while the subsequent persistence step prevents data loss.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache storage device serves as a cushioning layer that temporarily protects VM state data during transitions. It absorbs the speed requirements for fast suspend/resume operations while the system prepares to persist data to the standard storage device. This beforehand cushioning ensures that even if the standard storage device experiences delays, the VM state data remains safe in the cache.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Productivity

If multiple VMs are suspended or resumed simultaneously, then resource allocation efficiency improves, but storage device bottleneck increases processing time

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidprocessing time during storms
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The storage I/O operations are segmented between the cache device and standard device. During suspend/resume storms, the cache device handles the time-critical VM state data transfers, while the standard device handles other storage operations. This segmentation prevents the standard storage device from becoming a bottleneck during simultaneous VM operations, maintaining both resource allocation efficiency and acceptable processing times.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the I/O performance parameters by introducing a cache device with fundamentally different performance characteristics (lower latency, higher throughput). This parameter change enables the system to handle multiple simultaneous suspend/resume operations without the standard storage device becoming a bottleneck, thus maintaining productivity during storms without excessive time loss.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9575688B2Rapid virtual machine suspend and resume
Publication Date: 2017.02.21 VMWARE INC
  • US9575688B2 patent drawing
  • US9575688B2 patent drawing
  • US9575688B2 patent drawing

AI summary

A method of enabling “fast” suspend and “rapid” resume of virtual machines (VMs) employs a cache that is able to perform input/output operations at a faster rate than a storage device provisioned for the VMs. The cache may be local to a computer system that is hosting the VMs or may be shared cache commonly accessible to VMs hosted by different computer systems. The method includes the steps of saving the state of the VM to a checkpoint file stored in the cache and locking the checkpoint file so that data blocks of the checkpoint file are maintained in the cache and are not evicted, and resuming execution of the VM by reading into memory the data blocks of the checkpoint file stored in the cache.