Machine Learning Cache Eviction Algorithm Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache management systems face challenges in selecting the optimal cache eviction algorithm to improve the cache hit-to-miss ratio across different operating environments and read access patterns, leading to increased latency and performance issues.

Innovation Solution

The implementation of a machine learning module that evaluates and selects between multiple cache eviction algorithms, such as LRU and LFU, based on confidence levels generated from cache statistics to determine which algorithm will optimize the read hit rate and minimize the cache miss ratio.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single cache eviction algorithm is used, then the system is simple to implement, but the cache hit-to-miss ratio deteriorates under varying access patterns

Engineering Contradiction:
Improvecache hit-to-miss ratioVSAvoidalgorithm selection mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system dynamically selects between different cache eviction algorithms (LRU, LFU, FIFO) based on current workload characteristics and access patterns. The machine learning module continuously monitors cache performance metrics and adapts the eviction strategy in real-time, transforming the static single-algorithm approach into a dynamic multi-algorithm system that optimizes cache hit-to-miss ratio for varying conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The machine learning module autonomously evaluates multiple eviction algorithms, compares their performance, and automatically selects the optimal algorithm without external intervention. The system self-monitors cache statistics, self-adjusts the eviction strategy, and self-optimizes the cache hit-to-miss ratio based on observed access patterns and workload characteristics.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If multiple cache eviction algorithms are evaluated, then the cache hit-to-miss ratio improves, but the processing time increases

Engineering Contradiction:
Improvecache hit-to-miss ratioVSAvoidalgorithm evaluation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The machine learning module evaluates multiple eviction algorithms but does not exhaustively test all possible algorithms in all conditions. Instead, it selectively applies evaluation to the most relevant algorithms based on current workload characteristics, monitoring only the necessary metrics to make informed selection decisions. This partial evaluation approach reduces processing overhead while maintaining optimization effectiveness.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system changes the parameters of algorithm evaluation based on workload conditions. The machine learning module adjusts which algorithms are evaluated, the intensity of monitoring, and the frequency of re-evaluation based on cache usage patterns, access rates, and performance thresholds. This adaptive parameter adjustment minimizes evaluation time while preserving the ability to improve cache hit-to-miss ratio when conditions warrant it.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If cache eviction is performed frequently, then the cache remains fresh with recent access patterns, but read latency increases due to evictions

Engineering Contradiction:
Improvecache freshnessVSAvoidread latency
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The machine learning module continuously monitors cache performance feedback including hit-to-miss ratios, access patterns, and eviction rates. Based on this feedback, it dynamically adjusts the eviction strategy to maintain cache freshness only when it improves overall performance. The system learns from past evictions and their impact on read latency, optimizing the balance between keeping cache content fresh and minimizing disruptive evictions that increase read latency.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11301394B2Using a machine learning module to select one of multiple cache eviction algorithms to use to evict a track from the cache
Publication Date: 2022.04.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11301394B2 patent drawing
  • US11301394B2 patent drawing
  • US11301394B2 patent drawing

AI summary

Provided are a computer program product, system, and method for using a machine learning module to select one of multiple cache eviction algorithms to use to evict a track from the cache. A first cache eviction algorithm determines tracks to evict from the cache. A second cache eviction algorithm determines tracks to evict from the cache, wherein the first and second cache eviction algorithms use different eviction schemes. At least one machine learning module is executed to produce output indicating one of the first cache eviction algorithm and the second cache eviction algorithm to use to select a track to evict from the cache. A track is evicted that is selected by one of the first and second cache eviction algorithms indicated in the output from the at least one machine learning module.