Cache Page Replacement via Refault Distance Adjustment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current page replacement algorithms in cache memory management struggle to optimize the balance between cache lists, leading to inefficiencies in evicting pages and managing memory, particularly in multi-processor systems with non-uniform memory access (NUMA) architectures, resulting in suboptimal performance and increased cache misses.
Innovation Solution
The proposed solution involves maintaining a refault distance metric, which tracks the number of pages evicted between a page's eviction and its subsequent refault, to adjust the ratio between protected and probationary lists in the cache, dynamically rebalancing these lists based on refault distance to optimize page replacement and prevent thrashing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional page replacement algorithms are used, then cache memory management is simplified, but cache misses increase and system performance deteriorates
Solution Approach 1:
The patent implements dynamic adjustment of the probationary list size based on refault distance metrics. The system automatically modifies cache list ratios without manual intervention, allowing the cache management algorithm to adapt to varying workload patterns and optimize page replacement decisions in real-time
Solution Approach 2:
The patent introduces feedback mechanisms through refault distance tracking and eviction counter monitoring. By measuring how often evicted pages are re-faulted and using this information to adjust cache list ratios, the system creates a closed-loop control mechanism that continuously optimizes cache performance
2Productivity
If cache lists are statically sized, then device complexity is reduced, but cache replacement efficiency decreases
Solution Approach 1:
The patent transforms static cache list sizes into dynamic structures that automatically adjust based on refault distance measurements. The probationary list size varies according to observed page access patterns, enabling efficient page replacement while maintaining manageable system complexity through automated adaptation
3Reliability
If more pages are evicted to make room for frequently accessed pages, then cache hit ratio improves, but memory utilization efficiency decreases
Solution Approach 1:
The patent changes the parameter of cache list ratio dynamically based on refault distance. By adjusting the proportion of pages in probationary versus protected lists according to observed refault patterns, the system optimizes the balance between evicting pages to improve hit ratio and retaining pages to maintain memory utilization efficiency
Data Source
AI summary
A mechanism for page replacement for cache memory is disclosed. A method of the disclosure includes referencing an entry of a data structure of a cache in memory to identify a stored value of an eviction counter, the stored value of the eviction counter placed in the entry when a page of a file previously stored in the cache was evicted from the cache, determining a refault distance of the page of the file based on a difference between the stored value of the eviction counter and a current value of the eviction counter, and adjusting a ratio of cache lists maintained by the processing device to track pages in the cache, the adjusting based on the determined refault distance.


