Intelligent Cache Pre-fetch Throttling for I/O Timeout Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In tiered data storage systems, pre-fetching can increase disk I/O operations at lower performance HDD layers, leading to potential I/O operation timeouts, and it is challenging to determine when pre-fetching will benefit cache performance without impacting disk I/O.

Innovation Solution

An intelligent cache pre-fetch system that monitors cache hit rates and only initiates pre-fetch reads when the cache hit rate is below a threshold, and selectively pre-fetches data for neighboring segments in hot regions with good temporal locality, thereby optimizing cache performance without unnecessary disk I/O.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If pre-fetching is used to improve cache hit rate, then cache performance is improved, but disk I/O operations increase causing timeouts

Engineering Contradiction:
Improvecache hit rateVSAvoidI/O operation timeout
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically changes the pre-fetching parameter (whether to pre-fetch) based on the cache hit rate context. When cache hit rate is above the threshold, pre-fetching is disabled; when below the threshold, pre-fetching is enabled. This parameter change resolves the contradiction by adapting the pre-fetching behavior to current system conditions.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system uses cache hit rate as feedback to control the pre-fetching operation. The cache hit rate context is monitored and fed back to the pre-fetching decision logic, which adjusts pre-fetching behavior accordingly. This feedback mechanism ensures that pre-fetching only occurs when it will improve cache performance without causing I/O timeouts.

Inventive Principle:
Principle #23Feedback

2Productivity

If pre-fetching is used to increase cache efficiency, then cache performance is improved, but disk I/O operations increase

Engineering Contradiction:
Improvecache efficiencyVSAvoiddisk I/O operations
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The system changes the pre-fetching parameter based on cache hit rate context to eliminate harmful disk I/O operations. By dynamically adjusting whether pre-fetching occurs, the system avoids unnecessary disk I/O that would occur with continuous pre-fetching, while still achieving cache efficiency improvements when needed.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system extracts and removes the harmful aspect of continuous pre-fetching (unnecessary disk I/O operations) while retaining the beneficial aspect (cache performance improvement). By conditionally enabling pre-fetching only when cache hit rate is below threshold, the system takes out the harmful disk I/O operations that would otherwise occur.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10095624B1Intelligent cache pre-fetch
Publication Date: 2018.10.09 EMC IP HLDG CO LLC
  • US10095624B1 patent drawing
  • US10095624B1 patent drawing
  • US10095624B1 patent drawing

AI summary

An intelligent cache pre-fetch system includes a pre-fetch throttling scheme to monitor a cache hit rate context. Pre-fetch reads of additional data are only launched when the context is below a given threshold. A pre-fetch read of additional data can be selectively initiated after determining that references to neighboring segments related to a compression region already in memory are not yet present in the cache. Additional throttling of pre-fetch reads can be accomplished by only initiating the selective pre-fetch of additional data after determining whether the compression region to which the neighboring segments are related is a hot region, where a hot region is characterized as a compression region having data that is accessed frequently as compared to data in other compression regions.