Adaptive Prefetching Reduces Cache Misses via Working Set Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache systems suffer from inefficiencies due to cache misses, where requested data is not in the cache, leading to slower response times, as they do not effectively track working set relationships between files and blocks, and lack adaptive prefetching mechanisms to anticipate data needs.

Innovation Solution

The implementation of an adaptive prefetching system that configures block devices to declare and infer working sets, predict future I/O requests, and proactively prefetch data into a cache, reducing cache misses by organizing data into chunks and using predictors to optimize data storage and retrieval based on access patterns and relationships.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored in conventional cache systems, then data retrieval is fast for cached data, but response time deteriorates significantly on cache misses

Engineering Contradiction:
Improvedata retrieval speedVSAvoidresponse time on cache miss
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system performs preliminary actions by predicting future data access patterns and prefetching data into the cache before it is actually requested. The working set predictor analyzes I/O operations and identifies chunks that are likely to be needed soon, transferring them from backing storage to cache in advance, thereby eliminating cache miss delays when the data is actually needed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring I/O operations and using the observed access patterns to refine predictions. The working set predictor uses feedback from actual data access behavior to improve its accuracy in predicting future working sets, creating a self-improving system that reduces cache misses over time

Inventive Principle:
Principle #23Feedback

2Ease of operation

If conventional file systems organize data in directories, then data can be grouped logically, but the system cannot track working set relationships between files

Engineering Contradiction:
Improvedata organizationVSAvoidworking set relationship information
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The block device acts as an intermediary between the file system and the application, bridging the gap by tracking working set relationships that the file system cannot observe. The block device monitors I/O operations at the block level and uses this information to predict working sets, enabling prefetching based on actual data access patterns rather than just file system directory structures

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The block device performs self-service by autonomously analyzing its own I/O operations and using this self-generated information to predict future working sets. The system uses its own operational data to improve data retrieval efficiency without requiring external intervention or complex file system modifications

Inventive Principle:
Principle #25Self-service

3Productivity

If applications access data directly from block devices, then data can be retrieved, but the application does not know the relationship between needed data and stored blocks

Engineering Contradiction:
Improvedata access efficiencyVSAvoidrelationship information between data and blocks
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The block device serves as an intelligent intermediary that maintains the mapping information between application-level data concepts and physical block storage locations. By tracking I/O operations and analyzing access patterns, the block device builds knowledge of working set relationships, enabling it to predict which blocks will be needed and prefetch them appropriately

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10877893B2Adaptive pre-fetch
Publication Date: 2020.12.29 ALTER DOMUS (US) LLC AS AGENT FOR THE SECURED PARTIES
  • US10877893B2 patent drawing
  • US10877893B2 patent drawing
  • US10877893B2 patent drawing

AI summary

Adaptive pre-fetching devices can predict data placement to improve the operating and/or electrical efficiency of a data storage system. A future input/output operation can be predicted from a current input/output operation, the state of the data storage apparatus, relationships between data currently being processed and data previously processed, or other factors. The apparatus and methods can improve data storage efficiency by selectively pre-fetching data, relocating data on the data storage apparatus, the backing storage, or within a plurality of data storage apparatus based on working set predictors to reduce cache misses or outperform fetch processes from the backing storage.