Cache Prefetching Logic for Non-Uniform Memory Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional prefetching techniques do not consider the different performance characteristics of various system memories when making prefetching decisions, leading to suboptimal performance in multi-memory systems.

Innovation Solution

The proposed solution involves caching logic that determines which system memory to prefetch based on performance characteristics such as latency, bandwidth, and power consumption, with an arbiter prioritizing requests to high-latency or high-bandwidth memories to optimize prefetching operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional prefetching techniques are used without considering memory performance characteristics, then the prefetching implementation is simple, but the prefetching performance is suboptimal

Engineering Contradiction:
Improveprefetching performanceVSAvoidprefetching logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by making the prefetching behavior memory-specific rather than uniform across all memories. The system identifies individual memory performance characteristics (latency, bandwidth) and applies tailored prefetching strategies to each memory, optimizing prefetching for high-latency memories while avoiding excessive prefetching for low-latency memories.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adapts prefetching behavior based on memory performance characteristics. The arbiter dynamically selects which prefetch requests to honor based on the target memory's properties, and the system dynamically tracks in-flight request counts per memory type, adjusting arbitration decisions in real-time based on current memory utilization states.

Inventive Principle:
Principle #15Dynamics

2Reliability

If prefetch requests are issued aggressively to all memories, then the cache hit rate increases, but the latency and power consumption increase

Engineering Contradiction:
Improvecache hit rateVSAvoidmemory access latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system changes the parameter of prefetching aggressiveness based on the target memory's latency characteristics. For high-latency memories, the system allows more in-flight prefetch requests and uses lower confidence thresholds for triggering prefetches. For low-latency memories, the system limits in-flight requests and uses higher confidence thresholds, effectively adjusting the prefetching parameter to match memory performance.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The arbiter implements feedback by tracking the number of in-flight prefetch requests for each memory and using this information to make arbitration decisions. The system monitors current prefetch activity and adjusts which new prefetch requests to honor based on this feedback, preventing excessive prefetching that would increase latency.

Inventive Principle:
Principle #23Feedback

3Speed

If prefetch requests are issued to high-bandwidth memories, then the data transfer rate increases, but the power consumption increases

Engineering Contradiction:
Improvedata transfer rateVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system applies local quality by matching prefetching intensity to the specific power characteristics of each memory. High-bandwidth memories that consume more power receive preferential treatment for prefetch requests when appropriate, while low-power memories are accessed more conservatively. The arbiter considers both bandwidth capabilities and power consumption characteristics when making arbitration decisions.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8621157B2Cache prefetching from non-uniform memories
Publication Date: 2013.12.31 ADVANCED MICRO DEVICES INC
  • US8621157B2 patent drawing
  • US8621157B2 patent drawing
  • US8621157B2 patent drawing

AI summary

An apparatus is disclosed for performing cache prefetching from non-uniform memories. The apparatus includes a processor configured to access multiple system memories with different respective performance characteristics. Each memory stores a respective subset of system memory data. The apparatus includes caching logic configured to determine a portion of the system memory to prefetch into the data cache. The caching logic determines the portion to prefetch based on one or more of the respective performance characteristics of the system memory that stores the portion of data.