Machine Learning Cache Management for Variable Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual desktop infrastructure (VDI) faces performance issues due to variable workloads, which existing solutions like Content Based Read Cache (CBRC) do not effectively address, as they are optimized for static workloads.

Innovation Solution

A machine-learning algorithm is used to cluster I/O requests based on properties such as time, size, disk offset, and unique identifiers, allowing for dynamic cache management and efficient block prediction and caching, thereby improving performance in VDI systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Content Based Read Cache (CBRC) is used to reduce I/O costs, then cache hit ratio is improved, but it only works well for static workloads and cannot adapt to variable workloads

Engineering Contradiction:
Improvecache hit ratioVSAvoidworkload adaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies dynamics by transitioning from a static CBRC approach to a dynamic machine learning-based cache management system. The system continuously learns from incoming I/O requests, adapts clustering models in real-time, and dynamically adjusts cache content based on changing workload patterns, enabling effective handling of both static and variable workloads.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters of cache management by using machine learning algorithms that analyze multiple I/O request properties (time, size, disk offset, unique identifiers) and dynamically adjust cache behavior. The system modifies cache content, clustering structure, and prediction accuracy based on learned patterns from variable workload characteristics.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If machine-learning clustering algorithm is used to cluster I/O requests, then workload adaptability is improved, but computational complexity increases

Engineering Contradiction:
Improveworkload adaptabilityVSAvoidcomputational complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the complex task of cache management into distinct phases: initial clustering of I/O requests based on multiple properties, model training on clustered data, and prediction-based cache content selection. This segmentation reduces computational complexity by processing data in manageable stages rather than attempting to solve the entire problem at once.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by pre-clustering I/O requests and training clustering models before actual cache operations. The system performs initial analysis and model preparation in advance, so that during runtime, cache content can be quickly determined based on pre-computed clustering results and predictions, reducing real-time computational burden.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If CBRC is used for multiple virtual computing instances, then resource efficiency is improved, but it cannot handle variable workloads effectively

Engineering Contradiction:
Improveresource efficiencyVSAvoidvariable workload handling
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies universality by creating a cache management system that serves multiple virtual computing instances with different workload characteristics. The machine learning-based system universally handles various workload types (static, variable, mixed) by learning patterns across instances and adapting cache content predictions to match specific instance requirements, making the system versatile across different scenarios.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11487670B2Machine learning based cache management
Publication Date: 2022.11.01 VMWARE INC
  • US11487670B2 patent drawing
  • US11487670B2 patent drawing
  • US11487670B2 patent drawing

AI summary

Techniques are disclosed for dynamically managing a cache. Certain techniques include clustering I/O requests into a plurality of clusters by a machine-learning clustering algorithm that collects the I/O requests into clusters of similar I/O requests based on properties of the I/O requests. Further, certain techniques include identifying, for a received I/O request, a cluster stored in the cache. Certain techniques further include loading a set of blocks of the identified cluster into the cache.