Conditional Prefetcher Spatial Locality Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing prefetching solutions in computing systems are inefficient due to their inability to effectively capture spatial locality of workloads and often require additional hardware, leading to increased latency and power overheads.

Innovation Solution

A conditional probability prefetcher that tracks memory elements in aligned and uniformly sized segments, using probability thresholds to determine when to prefetch data based on future fetch requests, thereby reducing memory latency and improving system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If stride prefetchers use large tables to identify known addresses, then prediction accuracy may improve, but hardware overhead and power consumption increase

Engineering Contradiction:
Improveprediction accuracyVSAvoidhardware overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts only the essential information needed for prefetching (spatial locality patterns and temporal locality patterns) and discards the complex large tables used by traditional stride prefetchers. This is achieved by using a simplified data structure that tracks only the most recent memory access patterns rather than maintaining extensive historical data in large tables.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent employs lightweight, easily updateable data structures that can be quickly modified as new access patterns emerge. Instead of maintaining persistent large tables that require significant hardware resources, the system uses compact structures that can be rapidly updated with minimal overhead, effectively replacing expensive long-lived data structures with cheap short-lived ones.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

2Measurement precision

If complex rules are used to dictate prefetching based on multiple variables, then prefetching accuracy may improve, but processing time and hardware requirements increase

Engineering Contradiction:
Improveprefetching accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the prefetching decision process into distinct, simple components: detecting spatial locality patterns and detecting temporal locality patterns. Each segment handles a specific aspect of pattern recognition using dedicated, simple logic rather than a single complex rule engine, thereby reducing processing time while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary detection of spatial and temporal locality patterns in advance, before the actual prefetching decision is made. By pre-identifying and storing these patterns in simple data structures, the system avoids performing complex analysis at the moment of decision-making, thus reducing processing time while preserving prefetching accuracy.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If prefetching is implemented without considering spatial locality, then implementation simplicity is maintained, but prefetching effectiveness decreases

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprefetching effectiveness
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent introduces dynamic adaptation by continuously monitoring and updating spatial locality patterns and temporal locality patterns based on actual memory access behavior. The prefetching mechanism dynamically adjusts its predictions based on observed patterns rather than relying on static, pre-configured rules, thereby improving effectiveness while maintaining implementation simplicity through adaptive learning.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9367466B2Conditional prefetching
Publication Date: 2016.06.14 ADVANCED MICRO DEVICES INC
  • US9367466B2 patent drawing
  • US9367466B2 patent drawing
  • US9367466B2 patent drawing

AI summary

A type of conditional probability fetcher prefetches data, such as for a cache, from another memory by maintaining information relating to memory elements in a group of memory elements fetched from the second memory. The information may be an aggregate number of memory elements that have been fetched for different memory segments in the group. The information is maintained responsive to fetching one or more memory elements from a segment of memory elements in the group of memory elements. Prefetching one or more remaining memory elements in a particular segment of memory elements from the second memory into the first memory occurs when the information relating to the memory elements in the group of memory elements indicates that a prefetching condition has been satisfied.