Adaptive Pre-fetch Tuning for Cache Miss Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The traditional memory hierarchy system incurs performance delays due to cache misses, as it relies on predicting data access patterns and pre-fetching data, which can lead to spurious pre-fetches and resource wastage when the actual demand is less or predictions are inaccurate.

Innovation Solution

A system that monitors and evaluates the accuracy of pre-fetch cache requests, dynamically adjusting the maximum amount of data pre-fetched beyond the current actual demand for a data stream, using a pattern table and adaptive pre-fetch table to optimize pre-fetching based on confidence levels and feedback mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is pre-fetched based on predicted access patterns, then cache hit rate is improved, but resource wastage increases due to spurious pre-fetches

Engineering Contradiction:
Improvecache hit rateVSAvoidresource wastage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements a feedback mechanism where the system monitors the accuracy of pre-fetch requests by comparing pre-fetched data against actual processor demands. Based on this feedback, the system dynamically adjusts the pre-fetch degree parameter, reducing pre-fetching when accuracy is low and increasing it when accuracy is high, thereby optimizing the trade-off between cache hit rate and resource wastage

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts the degree of pre-fetching based on real-time evaluation of prediction accuracy. The pre-fetch degree parameter is not fixed but adapts according to the actual performance and accuracy metrics, allowing the system to optimize pre-fetching behavior under varying workloads and prediction conditions

Inventive Principle:
Principle #15Dynamics

2Reliability

If the maximum amount of pre-fetched data is increased, then cache hit rate is improved, but processor performance deteriorates due to increased latency from memory hierarchy operations

Engineering Contradiction:
Improvecache hit rateVSAvoidprocessor performance
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system changes the pre-fetch degree parameter dynamically based on evaluation results. When pre-fetch accuracy is high, the system allows greater pre-fetching to improve cache hit rate. When accuracy is low, the system reduces pre-fetching to minimize the overhead and latency associated with memory hierarchy operations, thus maintaining processor performance

Inventive Principle:
Principle #35Parameter changes

3Productivity

If pre-fetching is performed for all data streams, then overall system throughput is improved, but power consumption increases due to unnecessary pre-fetch operations

Engineering Contradiction:
Improvesystem throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system applies feedback control to each data stream individually, evaluating pre-fetch accuracy and adjusting the pre-fetch degree parameter accordingly. This selective approach ensures that pre-fetching is intensified only for data streams with high prediction accuracy, improving system throughput while avoiding the power consumption associated with pre-fetching data streams with low accuracy

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9665491B2Adaptive mechanism to tune the degree of pre-fetches streams
Publication Date: 2017.05.30 SAMSUNG ELECTRONICS CO LTD
  • US9665491B2 patent drawing
  • US9665491B2 patent drawing
  • US9665491B2 patent drawing

AI summary

According to one general aspect, a method may include monitoring a plurality of pre-fetch cache requests associated with a data stream. The method may also include evaluating an accuracy of the pre-fetch cache requests. The method may further include, based at least in part upon the accuracy of the pre-fetch cache requests, adjusting a maximum amount of data that is allowably pre-fetched in excess of a data stream's current actual demand for data.