Cache Replacement Control via Partitioned RRIP Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache replacement policies are inflexible and may not perform optimally across different execution environments, leading to reduced performance due to varying memory access patterns, and current solutions like set-duelling add complexity without fully adapting to the needs of each environment.

Innovation Solution

The implementation of re-reference interval prediction (RRIP) based cache replacement policies, which use a partition identifier to select a victim cache entry and configure initial RRIP values based on specific execution environments, allowing for customizable and efficient cache replacement strategies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single cache replacement policy is used for all execution environments, then device complexity is reduced, but adaptability to different memory access patterns deteriorates

Engineering Contradiction:
Improvecache replacement policy complexityVSAvoidadaptability to different execution environments
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The cache replacement policy is made dynamic by allowing different RRIP initial value configurations for different execution environments (e.g., CPU vs. GPU workloads). The system can adapt the replacement behavior based on the type of workload being executed, switching between different initial RRIP values to optimize performance for each environment without requiring multiple complete replacement policies.

Inventive Principle:
Principle #15Dynamics

2Productivity

If cache replacement policies are optimized for specific execution environments, then performance is improved, but device complexity increases

Engineering Contradiction:
Improvecache hit rateVSAvoidcache replacement policy complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Different initial RRIP values are assigned to different execution environments based on their specific characteristics. For example, CPU workloads may use one initial RRIP value while GPU workloads use another. This local optimization allows each environment to have tailored cache replacement behavior without requiring completely separate replacement policies, thereby improving performance while limiting complexity growth.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If existing cache replacement policies are used without configuration, then ease of operation is maintained, but adaptability to specific memory access patterns deteriorates

Engineering Contradiction:
Improvecache operation simplicityVSAvoidadaptability to memory access patterns
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system allows modification of the initial RRIP value parameter based on the execution environment and anticipated memory access patterns. Software developers and hardware designers can configure the initial RRIP value to match expected workload characteristics (e.g., sequential vs. random access patterns), providing adaptability while maintaining ease of operation through configuration rather than complex policy selection.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12056058B2Cache replacement control
Publication Date: 2024.08.06 ARM LTD
  • US12056058B2 patent drawing
  • US12056058B2 patent drawing
  • US12056058B2 patent drawing

AI summary

An apparatus comprises a cache comprising a plurality of cache entries, and cache replacement control circuitry to select, in response to a cache request specifying a target address missing in the cache, a victim cache entry to be replaced with a new cache entry. The cache request specifies a partition identifier indicative of an execution environment associated with the cache request. The victim cache entry is selected based on re-reference interval prediction (RRIP) values for a candidate set of cache entries. The RRIP value for a given cache entry is indicative of a relative priority with which the given cache entry is to be selected as the victim cache entry. Configurable replacement policy configuration data is selected based on the partition identifier, and the RRIP value of the new cache entry is set to an initial value selected based on the selected configurable replacement policy configuration data.