Cache Eviction Policy Optimization via Conditional Writeback
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Caches in memory hierarchies face limitations in storage space, leading to evictions of older data to make way for newer data, and writing back data to lower-level caches increases bandwidth consumption, especially if the data is not accessed again soon.
Innovation Solution
A data processing apparatus with a cache system that includes access, retrieval, and control circuitry to proactively store and retrieve data, evicting it based on conditions such as threshold requests, and using performance monitoring to determine storage policies across different cache subsets, and tracking hit rates to optimize data placement and reduce unnecessary writebacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is evicted from cache to make way for newer data, then cache storage space is maintained, but bandwidth consumption increases due to writeback operations
Solution Approach 1:
The patent changes the parameter of writeback behavior from a fixed always-writeback policy to a conditional policy based on multiple parameters including access count thresholds, data age, and cache hit rates. This allows the system to adapt writeback decisions to current cache performance conditions, reducing unnecessary writebacks when cache performance is good and maintaining writebacks when performance degrades.
Solution Approach 2:
The patent implements feedback mechanisms by monitoring cache hit rates, access counts, and data age, then using this information to dynamically adjust writeback decisions. The system continuously observes cache performance metrics and feeds this information back into the eviction policy to optimize the balance between storage space utilization and bandwidth consumption.
2Speed
If data is stored proactively in cache, then access speed is improved, but cache space is consumed reducing capacity for other data
Solution Approach 1:
The patent applies partial action by selectively prefetching and proactively storing only certain data based on predicted access patterns, rather than aggressively filling the cache with all potentially useful data. This partial approach maintains speed benefits for frequently accessed data while leaving space for other important data, avoiding the excessive action of over-prefetching.
Solution Approach 2:
The patent uses preliminary action through predictive prefetching mechanisms that load data into cache before it is actually requested, based on analysis of access patterns and workload characteristics. This preliminary loading improves access speed for anticipated data while the conditional writeback policy ensures space is freed up when predictions prove inaccurate.
3Duration of action of stationary object
If writeback policy is applied to all evicted data, then data retention is improved, but unnecessary bandwidth consumption occurs for data not accessed soon
Solution Approach 1:
The patent applies local quality by differentiating writeback treatment based on individual data characteristics rather than applying a uniform policy. Each data item is evaluated based on its specific access count, age, and predicted likelihood of future access, with writeback decisions tailored to each item's local characteristics. This allows important data to be retained while avoiding writebacks for data unlikely to be accessed soon.
Solution Approach 2:
The patent segments the cache into different regions or categories based on data characteristics such as access frequency, age, and importance. Different writeback policies can be applied to different segments, with high-priority segments receiving more aggressive retention policies and lower-priority segments allowing more aggressive eviction without writeback, thus reducing overall bandwidth consumption.
Data Source
AI summary
The present disclosure is concerned with improvements to cache systems that can be used to improve the performance (e.g. hit performance) and/or bandwidth within a memory hierarchy. For instance, a data processing apparatus is provided that comprises a cache. Access circuitry receives one or more requests for data and when the data is present in the cache the data is returned. Retrieval circuitry retrieves the data and stores the data in the cache, either proactively or in response to the one or more requests for the data. Control circuitry evicts the data from the cache and, in dependence on at least one condition, stores the data in the further cache. The at least one condition comprises a requirement that the data was stored into the cache proactively and that a number of the one or more requests is above a threshold value.


