Correlation Prefetcher Accuracy via Control Flow and Adaptive Degree

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computer systems face performance bottlenecks due to high cache miss rates and inefficient memory access, particularly in multi-threading processors, where correlation prefetching techniques suffer from poor accuracy and waste memory bandwidth.

Innovation Solution

The proposed solution enhances correlation prefetching by incorporating control flow correlation and adaptively varying the number of prefetches based on past accuracy, using a correlation table to store and manage cache miss addresses and control flow history, and dynamically adjusting the prefetch degree for each correlation table entry.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If correlation prefetching is used to reduce cache misses, then memory access efficiency is improved, but prefetching accuracy deteriorates leading to wasted memory bandwidth

Engineering Contradiction:
Improvememory access efficiencyVSAvoidprefetching accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent segments the prefetching process by separating the correlation table into multiple sets (first set and second set) that are selectively activated based on the type of memory access (load vs. instruction fetch). This segmentation allows the system to apply different prefetching strategies for different access patterns, improving overall accuracy while maintaining high memory access efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic prefetching by conditionally enabling or disabling prefetch operations based on real-time detection of access patterns and correlation table set selection. The system dynamically adapts the prefetching behavior to match the current execution context, thereby maintaining high accuracy while maximizing memory bandwidth utilization.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the number of prefetches is increased to reduce cache misses, then cache hit rate is improved, but memory bandwidth is wasted due to inaccurate prefetches

Engineering Contradiction:
Improvecache hit rateVSAvoidmemory bandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent employs feedback mechanisms by monitoring actual cache access patterns and using this information to dynamically adjust prefetching behavior. The system observes whether prefetches result in actual cache hits or misses, and uses this feedback to refine future prefetch decisions, thereby improving cache hit rate while minimizing wasted bandwidth through intelligent prefetch suppression when accuracy is low.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7925865B2Accuracy of correlation prefetching via block correlation and adaptive prefetch degree selection
Publication Date: 2011.04.12 ORACLE AMERICAN INC
  • US7925865B2 patent drawing
  • US7925865B2 patent drawing
  • US7925865B2 patent drawing

AI summary

In the described embodiments, a method for prefetching data and/or instructions may include generating control flow information for each retired branch instruction. A correlation table may be maintained based on the generated control flow information and cache miss addresses for each retired instruction that incurs one or more cache misses. Each correlation table entry may correspond to an index, and may contain a tag and a correlation list. The correlation list may consist of a specified number of cache miss addresses that most frequently follow the cache miss address for the index. A prefetch operation may be performed for each cache miss based on the contents of the correlation table entry corresponding to the index. The index may generated using a combination of bits of a given cache miss address and one or more bits of the program control flow information for the given cache miss address.