L1 L2 Cache Eviction Policy Based on Read Write Access Patterns
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory caching systems face challenges in optimizing the transfer of data between level one (L1) and level two (L2) operating system caches, particularly due to differences in read and write performance characteristics of memory technologies used in these caches.
Innovation Solution
A method is introduced to determine whether data evicted from the L1 cache should be moved to the L2 cache by tracking and comparing the relative frequency of read and write access, using values that increase or decrease based on access types, and applying these values to decide the suitability of data for transfer, considering the performance characteristics of the L2 cache.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is moved from L1 cache to L2 cache, then storage capacity is improved, but access time may increase due to slower L2 cache performance
Solution Approach 1:
The patent applies local quality by differentiating data based on access patterns (read-intensive vs. write-intensive) and directing different types of data to different cache locations. The system assigns a characteristic value to each data element that reflects its access pattern, and uses this to determine optimal placement in either L1 or L2 cache, thereby optimizing access time for each data type while utilizing available cache capacity.
2Productivity
If L2 cache is used for all evicted data, then cache utilization is improved, but performance deteriorates due to L2 cache's slower read/write characteristics
Solution Approach 1:
The patent inverts the conventional approach by not moving all evicted data to L2 cache, but rather selectively keeping certain data in L1 cache based on access patterns. Instead of the traditional policy of moving all data out of L1 to make room, the system identifies read-intensive data and preserves it in L1 despite eviction pressure, thereby maintaining high access speeds for frequently read data while still utilizing L2 cache for write-intensive data.
3Speed
If read-intensive data is kept in L1 cache, then read access speed is improved, but write access performance deteriorates due to L1 cache fullness
Solution Approach 1:
The patent implements self-service by enabling data elements to effectively 'choose' their own cache location based on their access patterns. Each data element is assigned a characteristic value that reflects whether it is read-intensive or write-intensive, and the system automatically directs read-intensive data to L1 cache while directing write-intensive data to L2 cache, thereby optimizing performance for each data type without manual intervention.
4Device complexity
If cache eviction policy is simplified, then system complexity is reduced, but cache performance deteriorates due to inability to optimize for different access patterns
Solution Approach 1:
The patent applies parameter changes by introducing a characteristic value parameter that changes based on data access patterns. This parameter is used to dynamically adjust the cache eviction decision, transforming the cache management policy from a static, size-based approach to a dynamic, pattern-based approach. The characteristic value serves as an additional dimension for making eviction decisions, enabling optimization for different access patterns without significantly increasing system complexity.
Data Source
AI summary
Various systems and methods can decide whether information being evicted from a level one (L1) operating system cache should be moved to a level two (L2) operating system cache. The L2 operating system cache can be implemented using a memory technology in which read performance differs from write performance. One method involves detecting that a portion of a file (e.g., a page) is being evicted from a L1 operating system cache. In response to detecting the imminent eviction of the portion of the file, the method determines whether the portion of the file has been read more frequently or written more frequently. Based upon this determination (e.g., in response to determining that the portion of the file has been read more frequently, if the L2 cache provides better read than write performance), the method decides to copy the portion of the file to the L2 operating system cache.


