Cache Decision Engines for Dynamic Caching Technique Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face challenges in optimizing caching techniques due to varying workloads and access patterns from multiple applications, leading to suboptimal performance and inefficient resource utilization.

Innovation Solution

A method and system that evaluate multiple caching techniques by executing multiple cache decision engines, each using different caching algorithms, to determine which engine provides better performance based on measured metrics such as cache hit ratio and response time, allowing for automatic switching to the most effective engine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single caching technique is used in data storage systems, then the system structure remains simple, but the performance becomes suboptimal under varying workloads and access patterns

Engineering Contradiction:
Improvecaching performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements multiple cache decision engines that dynamically evaluate different caching techniques (LRU, LFU, FIFO, Random) and automatically switch between them based on real-time workload conditions. This dynamic adaptation allows the system to optimize caching performance for varying access patterns while maintaining a unified interface, resolving the contradiction between performance optimization and system complexity.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If multiple caching techniques are evaluated and switched between, then caching performance is optimized, but the device complexity increases

Engineering Contradiction:
Improveadaptability to workloadsVSAvoidcaching system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The cache decision engines automatically monitor workload characteristics, evaluate caching technique performance, and switch between algorithms without external intervention. The system self-adjusts to optimal caching strategies based on real-time conditions, providing adaptability to varying workloads while encapsulating complexity within the automated decision-making mechanism rather than requiring complex external control.

Inventive Principle:
Principle #25Self-service

3Reliability

If caching techniques are dynamically switched based on performance metrics, then responsiveness to changing workloads improves, but the measurement and evaluation complexity increases

Engineering Contradiction:
Improveperformance optimizationVSAvoidperformance measurement complexity
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system continuously monitors caching performance metrics (cache hit ratios, response times) and uses this feedback to automatically adjust caching strategy selection. The feedback loop enables the system to respond to changing workload patterns by identifying which caching technique performs best under current conditions and switching accordingly, achieving reliable performance optimization through systematic measurement and adaptation.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10101917B1Evaluating and selecting data caching techniques
Publication Date: 2018.10.16 EMC IP HLDG CO LLC
  • US10101917B1 patent drawing
  • US10101917B1 patent drawing
  • US10101917B1 patent drawing

AI summary

Described are techniques for evaluating a plurality of caching techniques. Cache decision engines (CDEs) are executed where each CDE uses a different caching technique. The CDEs includes a first CDE that performs data caching in accordance with a plurality of I/O operations and one or more other CDEs each simulating data caching in accordance with the plurality of I/O operations. Sets of performance data are determined with a different one of the sets of performance data determined for each of the CDEs thereby denoting measured performance for the CDE. Using the sets of performance data, it is determined whether any of the one or more other CDEs each simulating data caching has better performance than the first CDE.