Cache Eviction Scoring via Deferred Segment Calculations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cache eviction policies based solely on recency are ineffective for coarse-granularity cache systems, leading to the removal of relevant data and decreased cache hit rates, as they fail to accurately assess the relevance of data within cache units.
Innovation Solution
Implement a cache management system that scores cache units based on multiple criteria such as segment validity, age, priority, and access count, and copies forward hot segments from evicted cache units to maintain relevant data in the cache.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional LRU eviction policy is used based on recency alone, then the eviction decision is simple and fast, but relevant data is incorrectly removed and cache hit rate decreases
Solution Approach 1:
The cache unit is segmented into multiple segments, and the eviction decision is made at the segment level rather than treating the entire cache unit as a single entity. This allows selective eviction of only the least relevant segments while preserving other relevant data, thereby maintaining cache hit rate while simplifying the overall management process
Solution Approach 2:
Different segments within a cache unit are assigned different eviction priorities based on their individual relevance characteristics. Instead of uniform treatment, each segment receives customized eviction handling according to its access patterns and importance, preventing removal of relevant data while maintaining operational simplicity
2Device complexity
If coarse-granularity cache units are used, then the cache management is simplified and SSD endurance is protected, but the precision of eviction assessment is reduced leading to irrelevant data removal
Solution Approach 1:
Each coarse-granularity cache unit is divided into multiple fine-grained segments for evaluation purposes. This segmentation enables precise assessment of individual segment relevance while maintaining the simplicity of managing the overall cache unit structure, thus preserving both low complexity and high measurement precision
Solution Approach 2:
The evaluation dimension is introduced at the segment level within cache units. By adding this new dimension of segmentation, the system achieves precise assessment of data relevance without changing the coarse-granularity structure of cache units themselves, thereby maintaining simplified management while improving measurement precision
3Reliability
If multiple criteria scoring is implemented for cache unit evaluation, then eviction accuracy is improved and relevant data is preserved, but computation time and processing overhead increase
Solution Approach 1:
Segment relevance scores are pre-computed and stored during normal cache operations. This preliminary action allows the eviction decision to be made quickly by simply comparing pre-existing scores rather than performing complex calculations at eviction time, thus improving eviction accuracy while minimizing computation time during the critical eviction moment
Solution Approach 2:
Instead of evaluating all possible criteria combinations for every segment, the system uses a partial set of effective criteria (access count, recency, priority) that provide sufficient accuracy for eviction decisions. This partial action approach achieves high eviction accuracy without the excessive computation time that would result from exhaustive evaluation of all possible factors
Data Source
AI summary
A data processing system and methods for performing cache eviction are disclosed. An exemplary method includes maintaining a metadata set for each cache unit of a cache device, wherein the cache device comprises a plurality of cache units, each cache unit having a plurality of segments, calculating a score for each metadata set, and arranging the metadata sets in a list in ascending order from lowest score to highest score. The exemplary method further includes in response to determining that a cache eviction is to be performed, selecting a cache unit corresponding to the metadata set in the list having the lowest score, without recalculating a score for any of the metadata set, and evicting the selected cache unit. The metadata nay include, for example, segment count metadata, validity metadata, last access time (LAT) metadata, and hotness metadata.


