Prefetcher-Aware Cache Replacement for Dynamic Line Eviction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache systems face inefficiencies in assigning cache replacement precedence values (CRPVs) due to the lack of consideration for prefetcher engines and event-types, which affect cache and processing efficiency.

Innovation Solution

A system that assigns CRPVs based on prefetcher engines and event-types, utilizing machine learning agents like multi-armed bandit and spatially distributed agents to optimize cache operations, and employs a method to reduce the number of available policies through grouping and greedy algorithms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional cache replacement policies are used without considering prefetcher engines and event-types, then the cache replacement process is simple, but cache efficiency and processing performance deteriorate

Engineering Contradiction:
Improvecache efficiencyVSAvoidcache replacement policy complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache replacement policy transitions from static to dynamic by assigning different CRPVs based on the prefetcher engine that loaded each cache line and the event-type that occurred. The processor dynamically adjusts CRPVs in response to different cache events (loading, returning, invalidation) and prefetcher engine identities, allowing the system to adapt to varying workloads and memory access patterns while optimizing cache efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of cache replacement precedence by introducing CRPV as a variable attribute that depends on prefetcher engine identity and event-type. Instead of using a fixed replacement policy, the system modifies the replacement precedence parameter dynamically based on which prefetcher engine loaded the line and what event occurred, thereby improving cache efficiency without requiring complete policy restructuring

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If the number of cache replacement precedence value policies is large to cover all prefetcher engine and event-type combinations, then cache optimization coverage is improved, but policy selection complexity and processing overhead increase

Engineering Contradiction:
Improvepolicy coverageVSAvoidpolicy management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the cache replacement decision space by separating the CRPV assignment into distinct components: prefetcher engine identity and event-type. Each combination of prefetcher engine and event-type has its own CRPV, allowing fine-grained control over cache replacement behavior. This segmentation enables comprehensive coverage of all scenarios while keeping the management structure organized and manageable through the use of event counters and status bits for each prefetcher engine

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12450171B2Cache replacement system
Publication Date: 2025.10.21 MELLANOX TECHNOLOGIES LTD(IL)
  • US12450171B2 patent drawing
  • US12450171B2 patent drawing
  • US12450171B2 patent drawing

AI summary

In one embodiment, a system includes prefetcher engines to predict next memory access addresses of a memory from which to load data to a cache during execution of a software application, and load the data from the predicted next memory access addresses to the cache during execution of the software application, and a processor to assign cache replacement precedence values to cache lines based on the prefetcher engines that loaded the cache lines, and evict the cache lines from the cache based on the cache replacement precedence values of the cache lines.