Processor Cache Hot Set Pre-fetch Regulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The latency in accessing memory in computer systems is prolonged due to the inefficiencies in data pre-fetching, where pre-fetched data often replaces necessary data in the cache, leading to additional latency costs when the pre-fetched data is not required.

Innovation Solution

A method and system that identify 'hot sets' in the cache by using a hotness indicator field to track the frequency of line replacements, determining whether to pre-fetch data based on a predefined threshold, thereby preventing unnecessary replacements and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If data pre-fetching is implemented to minimize memory access latency, then processor performance is improved, but cache replacement efficiency deteriorates when pre-fetched data is not required

Engineering Contradiction:
Improvememory access latencyVSAvoidunnecessary cache replacement energy
Core Design Contradiction:
Loss of timeVSLoss of energy

Solution Approach 1:

The patent implements dynamic threshold adjustment for cache set selection based on observed access patterns. The threshold for selecting a cache set for pre-fetched data is not fixed but adapts based on the frequency and pattern of cache hits, allowing the system to optimize between pre-fetching aggressiveness and cache hit rate maintenance

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system monitors cache hit rates and uses this feedback to adjust pre-fetching behavior. When cache hit rates drop below a threshold, the system reduces pre-fetching activity or adjusts which cache sets receive pre-fetched data, creating a closed-loop control system that balances pre-fetching benefits against cache performance

Inventive Principle:
Principle #23Feedback

2Speed

If pre-fetch instructions are embedded in the program to bring data into cache before needed, then data availability is improved, but cache hit rate deteriorates due to inaccurate pre-fetching

Engineering Contradiction:
Improvedata availability speedVSAvoidcache hit rate
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent changes the parameter of cache set selection by introducing a dynamic threshold mechanism. Instead of using fixed or static rules for selecting which cache sets to pre-fetch into, the system adjusts the selection threshold based on observed cache performance, thereby adapting pre-fetch behavior to actual workload patterns

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If the cache stores less data to maintain faster access speed, then access latency is reduced, but the ability to accommodate pre-fetched data without replacements deteriorates

Engineering Contradiction:
Improvecache access latencyVSAvoidcache data accommodation capacity
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent segments the cache into multiple cache sets and implements differentiated pre-fetching policies for different sets. By dividing the cache structure and applying selective pre-fetching based on set-specific characteristics and a dynamic threshold, the system can accommodate pre-fetched data more effectively without compromising the fast access speed of the limited cache capacity

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8086804B2Method and system for optimizing processor performance by regulating issue of pre-fetches to hot cache sets
Publication Date: 2011.12.27 ORACLE AMERICAN INC
  • US8086804B2 patent drawing
  • US8086804B2 patent drawing
  • US8086804B2 patent drawing

AI summary

A method for pre-fetching data. The method includes obtaining a pre-fetch request. The pre-fetch request identifies new data to pre-fetch from memory and store in a cache. The method further includes identifying a set in the cache to store the new data and identifying a value of a hotness indicator for the set. The hotness indicator value defines a number of replacements of at least one line in the set. The method further includes determining whether the value of the hotness indicator exceeds a predefined threshold, and storing the new data in the set when the value of the hotness indicator does not exceed the pre-defined threshold.