Cache Page Replacement via Refault Distance Adjustment

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Productivity

If traditional page replacement algorithms are used, then cache memory management is simplified, but cache misses increase and system performance deteriorates

Engineering Contradiction:
Improvesystem performanceVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #23Feedback

2Productivity

If cache lists are statically sized, then device complexity is reduced, but cache replacement efficiency decreases

Engineering Contradiction:
Improvepage replacement efficiencyVSAvoidcache list management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #15Dynamics

3Reliability

If more pages are evicted to make room for frequently accessed pages, then cache hit ratio improves, but memory utilization efficiency decreases

Engineering Contradiction:
Improvecache hit ratioVSAvoidmemory utilization efficiency
Core Design Contradiction:
ReliabilityVSQuantity of substance

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

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9021205B2Page replacement in cache memory
Publication Date: 2015.04.28 RED HAT INC
  • US9021205B2 patent drawing
  • US9021205B2 patent drawing
  • US9021205B2 patent drawing

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.