Adaptive Prefetch Engine Page Boundary Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data prefetch engines experience performance impairments and increased latency when data streams cross page boundaries, leading to cache misses and re-ramping of prefetches, as they typically use conservative startup profiles that only prefetch within a real page and do not aggressively anticipate subsequent cache lines across page boundaries.

Innovation Solution

Implementing an aggressive startup profile for the prefetch engine when a program accesses a cache line at a new page boundary, tracking historical page boundary percentages to set an aggressive profile flag, and generating prefetch requests accordingly, which minimizes latency for long data streams while switching to a normal profile for short streams.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a conservative startup profile is used for prefetching at page boundaries, then implementation complexity is reduced and safety is improved, but prefetching performance deteriorates and latency increases

Engineering Contradiction:
Improveprefetch accuracyVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies dynamics by making the prefetch startup profile adaptive rather than static. The system dynamically switches between conservative and aggressive profiles based on runtime detection of stream continuity across page boundaries. When a stream is detected to continue across a page boundary, the system transitions to an aggressive profile that immediately prefetches multiple cache lines, otherwise it maintains a conservative profile. This dynamic adaptation resolves the contradiction by selecting the appropriate profile based on actual workload characteristics.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of prefetch aggressiveness based on detected patterns. By monitoring whether data streams continue across page boundaries, the system adjusts the prefetch behavior parameter - using conservative prefetching when streams are short or discontinuous, and aggressive prefetching when streams are long and continuous. This parameter change allows the system to optimize for either safety or performance depending on the actual data access patterns.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If prefetching terminates at page boundaries, then implementation simplicity is improved, but productivity deteriorates due to cache misses and re-ramping

Engineering Contradiction:
Improveprefetch engine complexityVSAvoiddata stream processing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies preliminary action by detecting page boundary crossings in advance and proactively continuing prefetch operations into the next page. Instead of terminating prefetching at page boundaries, the system identifies when a data stream is likely to continue across a boundary and preemptively prefetches the subsequent cache lines in the new page. This preliminary action prevents cache misses and eliminates the need for re-ramping, thereby maintaining high productivity without significantly increasing complexity.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If aggressive prefetching is used across page boundaries, then productivity is improved by reducing cache misses, but device complexity increases due to tracking requirements

Engineering Contradiction:
Improvestream processing throughputVSAvoidaddress tracking complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by applying aggressive prefetching only locally at specific locations where data streams cross page boundaries, rather than universally throughout the prefetch engine. The system maintains simple conservative prefetching for most cases but activates aggressive prefetching with full tracking capabilities only when a page boundary crossing is detected. This localized application of complexity resolves the contradiction by limiting the increased device complexity to only the necessary contexts where it provides productivity benefits.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7689774B2System and method for improving the page crossing performance of a data prefetcher
Publication Date: 2010.03.30 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7689774B2 patent drawing
  • US7689774B2 patent drawing
  • US7689774B2 patent drawing

AI summary

A system and method for improving the page crossing performance of a data prefetcher is presented. A prefetch engine tracks times at which a data stream terminates due to a page boundary. When a certain percentage of data streams terminate at page boundaries, the prefetch engine sets an aggressive profile flag. In turn, when the data prefetch engine receives a real address that corresponds to the beginning/end of a new page, and the aggressive profile flag is set, the prefetch engine uses an aggressive startup profile to generate and schedule prefetches on the assumption that the real address is highly likely to be the continuation of a long data stream. As a result, the system and method minimize latency when crossing real page boundaries when a program is predominately accessing long streams.