Cache Priority Management to Prevent Thrashing and Premature Eviction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cache replacement strategies like LFU and LRU suffer from inefficiencies such as cache-thrashing, prolonged data access times, and resource consumption due to frequent swapping of data, leading to reduced hit rates and data access efficiency.
Innovation Solution
A cache management method that adjusts data priority and activity based on access frequency, using a priority queue system to retain high-frequency data and new data in the cache, while managing cache space efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If LFU algorithm is used to replace data with smallest access times, then frequently used data is retained in cache, but cache-thrashing occurs and data access efficiency decreases
Solution Approach 1:
The patent implements dynamic priority adjustment based on access frequency thresholds. When data access frequency exceeds a threshold, its priority is increased to prevent eviction; when below the threshold, priority is decreased allowing eviction. This dynamic mechanism adapts to changing access patterns, preventing cache-thrashing while maintaining high hit rates for frequently accessed data.
Solution Approach 2:
The patent changes the state parameter of data by introducing priority levels and access frequency thresholds. Data is classified into different priority levels based on access frequency parameters, and replacement decisions are made based on these parameter changes rather than simple LRU or LFU rules, resolving the contradiction between hit rate and access efficiency.
2Productivity
If LRU algorithm is used to replace oldest data, then cache space is efficiently managed, but new data with low access frequency is prematurely replaced
Solution Approach 1:
The patent performs preliminary classification of data into different priority levels based on access frequency before replacement decisions are made. By pre-establishing priority levels and thresholds, the system proactively identifies which data should be protected from replacement, preventing premature eviction of potentially useful data while maintaining fast management speed.
Solution Approach 2:
The patent introduces priority levels as an intermediary mechanism between LRU's simple chronological ordering and LFU's complex frequency counting. This intermediary layer allows the system to balance between management speed and hit rate by using priority thresholds to guide replacement decisions without requiring full frequency counting for all data.
3Adaptability or versatility
If frequent swapping of data is performed to maintain cache freshness, then new data is retained, but processor burden increases and resource consumption rises
Solution Approach 1:
The patent implements a self-service mechanism where data automatically adjusts its own priority level based on its access frequency. When data is accessed frequently, it self-updates its priority to higher levels, protecting itself from replacement without requiring processor intervention. This reduces processor burden while maintaining cache freshness through automated priority management.
Solution Approach 2:
The patent uses periodic threshold checking instead of continuous monitoring. The system periodically evaluates access frequency against predefined thresholds and adjusts priorities accordingly, rather than continuously swapping data. This periodic action reduces processor burden and resource consumption while still maintaining cache freshness through structured, interval-based updates.
Data Source
AI summary
A cache management method may include receiving a data access request associated with first data, incrementing activity information of first data, and adjusting a priority of the first data based on the incremented activity information of the first data, in response to the first data already being stored in a cache, and deleting second data, the second data being data having a lowest priority level in the cache, loading the first data into the cache, and setting the priority and the activity information of the first data, in response to the first data not already being stored in the cache and the cache being full.


