Automated Flash Cache Space Allocation for Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Server Flash Cache (SFC) implementations require manual definition of cache allocation sizes for virtual machines (VMs) or virtual disks, leading to suboptimal cache usage due to scalability issues, reliance on heuristics, and lack of adaptability to changing workloads and runtime events.

Innovation Solution

A computer system automatically allocates flash storage-based cache space by collecting I/O trace logs, determining cache utility models, and calculating optimal cache allocation sizes based on these models, which are continuously monitored and adjusted to ensure optimal performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual cache allocation sizing is used, then system administrators can control cache space distribution, but scalability deteriorates as the number of VMs increases

Engineering Contradiction:
Improveadministrator controlVSAvoidscalability
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system enables VMs to automatically determine their own optimal cache allocation sizes by collecting I/O trace logs and analyzing workload characteristics. This self-service approach eliminates the need for manual administrator intervention while maintaining adaptability to changing workloads, thus resolving the contradiction between administrator control and scalability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically adjusts cache allocation parameters based on collected I/O statistics and workload characteristics. By automatically changing allocation parameters without manual intervention, the system maintains optimal performance across varying numbers of VMs, resolving the scalability issue while preserving control through automated parameter optimization.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If manual cache allocation sizing is used, then initial configuration can be performed, but adaptability to changing workloads deteriorates

Engineering Contradiction:
Improveinitial configurationVSAvoidresponsiveness to workload changes
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system continuously collects I/O trace logs and monitors workload characteristics, using this feedback to dynamically adjust cache allocation sizes. This closed-loop feedback mechanism ensures the system adapts to changing workloads in real-time, resolving the contradiction between simple initial configuration and adaptability to workload changes.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system transitions from static manual configuration to dynamic automated adjustment of cache allocations. By continuously monitoring I/O patterns and adjusting allocations based on actual workload characteristics, the system maintains both ease of initial configuration and adaptability to changing conditions.

Inventive Principle:
Principle #15Dynamics

3Reliability

If large cache allocation sizes are assigned, then cache utility for individual VMs improves, but overall flash storage utilization deteriorates

Engineering Contradiction:
Improvecache utilityVSAvoidflash storage utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system assigns different cache allocation sizes to different VMs based on their specific I/O characteristics and workload requirements. By tailoring cache allocations locally to each VM's needs rather than applying uniform allocations, the system optimizes cache utility for individual VMs while maximizing overall flash storage utilization through efficient space distribution.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts cache allocation parameters for each VM based on collected I/O statistics and workload analysis. By changing allocation parameters optimally for each VM rather than using fixed large allocations, the system maintains high cache utility while improving overall flash storage utilization efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9495104B2Automated space management for server flash cache
Publication Date: 2016.11.15 VMWARE INC
  • US9495104B2 patent drawing
  • US9495104B2 patent drawing
  • US9495104B2 patent drawing

AI summary

Techniques for automatically allocating space in a flash storage-based cache are provided. In one embodiment, a computer system collects I/O trace logs for a plurality of virtual machines or a plurality of virtual disks and determines cache utility models for the plurality of virtual machines or the plurality of virtual disks based on the I/O trace logs. The cache utility model for each virtual machine or each virtual disk defines an expected utility of allocating space in the flash storage-based cache to the virtual machine or the virtual disk over a range of different cache allocation sizes. The computer system then calculates target cache allocation sizes for the plurality of virtual machines or the plurality of virtual disks based on the cache utility models and allocates space in the flash storage-based cache based on the target cache allocation sizes.