Dynamic Cache Policy Switching via Emulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face challenges in dynamically adapting cache configurations to varying data access patterns, making it impractical to predict and optimize cache performance without wasting resources on multiple configurations, and lacking indicators to compare different cache policies effectively.

Innovation Solution

A dynamic cache-policy switching module is deployed to emulate multiple cache configurations concurrently, collecting performance information to identify and automatically switch to the best-performing configuration, reducing memory and processing requirements through sampling and hash-based emulation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple cache configurations are implemented simultaneously to evaluate performance, then cache performance optimization is improved, but memory resources are wasted

Engineering Contradiction:
Improvecache performance optimizationVSAvoidmemory resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent creates virtual copies of cache configurations through emulation rather than implementing multiple physical cache memories. The cache emulation module simulates different cache policies and configurations in software, allowing performance evaluation without consuming additional physical memory resources. This copying approach enables multiple configuration tests while using minimal actual cache memory.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces a cache emulation module as an intermediary between the actual cache memory and the evaluation process. This intermediary layer simulates various cache behaviors and policies, allowing performance comparison without directly implementing multiple physical cache systems. The emulation acts as a mediator that provides configuration testing capabilities while preserving actual memory resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If cache policy is fixed to satisfy one type of application, then performance for that application is improved, but performance for other application types deteriorates

Engineering Contradiction:
Improveapplication performanceVSAvoidcache policy adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic cache policy selection by continuously monitoring application access patterns and automatically switching between different cache policies based on current workload characteristics. The system transitions from static, fixed policies to dynamic, adaptive policies that respond to changing application requirements. This allows the cache to optimize performance for different application types sequentially rather than being constrained to a single policy.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes cache policy parameters dynamically based on detected access patterns. By monitoring metrics such as read/write ratios, access frequencies, and data locality, the system adjusts cache policy parameters (such as replacement policies, cache size allocation, or eviction strategies) to match current application requirements. This parameter adaptation enables the cache to serve multiple application types effectively.

Inventive Principle:
Principle #35Parameter changes

3Speed

If cache memory capacity is increased to reduce latency, then data retrieval speed is improved, but cost and resource usage increase

Engineering Contradiction:
Improvedata retrieval speedVSAvoidcache memory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies partial action by implementing cache emulation that samples and evaluates only the necessary portion of cache behavior needed for performance assessment. Rather than fully implementing multiple cache configurations with complete data sets, the emulation uses representative samples and statistical methods to evaluate cache performance. This allows the system to assess the benefits of increased cache capacity without actually provisioning the full additional hardware resources.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8112585B2Method and apparatus for dynamically switching cache policies
Publication Date: 2012.02.07 NETAPP INC
  • US8112585B2 patent drawing
  • US8112585B2 patent drawing
  • US8112585B2 patent drawing

AI summary

A method implements a cache-policy switching module in a storage system. The storage system includes a cache memory to cache storage data. The cache memory uses a first cache configuration. The cache-policy switching module emulates the caching of the storage data with a plurality of cache configurations. Upon a determination that one of the plurality of cache configurations performs better than the first cache configuration, the cache-policy switching module automatically applies the better performing cache configuration to the cache memory for caching the storage data.