Cache System Using Access Frequency and Recency Priority
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cache systems are often too small to store all necessary information, requiring selective storage and existing algorithms, such as the most-recently used method, fail to optimize storage based on access patterns and usage frequency.
Innovation Solution
A system that stores items in the cache based on previous requests, using calculated priority values considering the duration between requests and comparing them to other items in the cache, with evictions prioritizing items that have not been accessed recently, ensuring that more frequently requested items are retained.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the cache stores only the most-recently used information, then the cache utilization is improved, but the storage of frequently accessed items is compromised
Solution Approach 1:
The system implements feedback by continuously monitoring access patterns and using this information to dynamically adjust caching decisions. The server tracks how many times each information item has been accessed and uses this feedback to determine whether to cache an item, ensuring that frequently accessed items are prioritized for storage.
Solution Approach 2:
The invention changes the parameter used for caching decisions from单纯的 recency (time-based) to a combination of recency and frequency (access count-based). By modifying the decision parameter to consider both when an item was last accessed and how many times it has been accessed, the system resolves the contradiction between cache utilization and reliable storage of frequently accessed items.
2Reliability
If the cache size is increased to store all necessary information, then the availability of frequently accessed items is improved, but the system cost and complexity increase
Solution Approach 1:
The system changes the caching parameter from static (fixed cache size) to dynamic (adaptive caching based on access patterns). By using access frequency and recency as dynamic parameters, the system can store all necessary information in the cache when needed without requiring a permanently large cache capacity, thus avoiding increased system cost and complexity.
Solution Approach 2:
The invention introduces dynamics to the caching system by making cache storage decisions adaptive rather than static. The cache dynamically adjusts which items to store based on real-time access patterns, allowing the system to maintain high availability of frequently accessed items without requiring a permanently large cache size, thereby avoiding increased complexity and cost.
3Ease of operation
If the cache stores items based on recency alone, then the implementation simplicity is maintained, but the access efficiency deteriorates
Solution Approach 1:
The system changes the caching parameter from a single factor (recency) to multiple factors (recency and frequency). While this increases implementation complexity slightly, it dramatically improves access efficiency by ensuring that frequently accessed items are prioritized for caching, making the performance improvement worthwhile.
Solution Approach 2:
The invention introduces dynamic adaptive caching that adjusts storage decisions based on observed access patterns. This dynamic approach improves access efficiency by prioritizing frequently accessed items while maintaining reasonable implementation complexity through straightforward tracking of access counts and recency information.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system comprises a processor configured to retrieve and store items in memory in accordance with instructions, a first memory having a first capacity and a first access time, where access time refers to the average time it takes for the processor to obtain information from a memory, a second memory having a second capacity and a second access time, the second capacity being greater than the first capacity and the second access time being slower than the first access time, a third memory having a third capacity and a third access time, the third capacity being greater than the second capacity and the third access time being slower than the second access time. The instructions comprising, in response to a request for a request for the item received by the processor: retrieving the requested item from first memory when the requested item is stored in the first memory; retrieving the requested item from second memory when the requested item is stored in the second memory; retrieving the requested item from third memory when the requested item is stored in the third memory; storing the requested item in the first memory depending on whether the item was stored in the second memory at the time of the request and whether the time elapsed since the last time the item was requested is less than the last-eviction duration, where the last-eviction duration comprises the duration of time beginning with the last request for the most recently evicted item while it was still stored in the first memory and ending with the most recently evicted item's eviction from the first memory; storing the requested item in the second memory depending on whether the item was stored in the second memory at the time of the request and whether the item was retrieved from the third memory.