LRU List Rank Determination via Change List Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for determining the rank of data records in a least-recently-used (LRU) list are inefficient, requiring frequent traversal and re-initialization, which consumes substantial computational resources and time, especially in cache simulations where cache size volatility necessitates multiple simulations with varying sizes.

Innovation Solution

A system that manages LRU lists by using an index field in each record to track its rank, a change list to record movements, and a histogram to track access frequencies, allowing efficient computation of record ranks and optimizing cache size determination, while also using doubly-linked lists and hash tables for efficient data access and parallel simulation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the system uses traditional LRU list management with frequent traversal and re-initialization, then the rank determination is simple but the computational time and resources are excessive

Engineering Contradiction:
Improvecomputational time for rank determinationVSAvoidcomplexity of LRU list management structure
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the LRU list management into two independent components: (1) the main LRU list that maintains insertion order, and (2) a separate change list that records only the positions of moved elements. This segmentation allows rank determination to operate on the compact change list rather than traversing the entire main list, dramatically reducing computational time while maintaining manageable complexity through clear separation of concerns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a change list as an intermediary data structure that mediates between the main LRU list and rank determination operations. The change list acts as a buffer that captures movement information, allowing the system to determine ranks by processing this intermediate representation rather than directly querying the main list, thereby reducing the time complexity from O(n) to O(m) where m is the number of changed elements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If the system re-initializes the LRU list frequently to maintain accurate ranks, then the rank accuracy is maintained but the computational overhead increases substantially

Engineering Contradiction:
Improveaccuracy of rank determinationVSAvoidsimulation throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-recording the positions of moved elements in the change list during list operations. Instead of performing full re-initialization when rank information is needed, the system has already captured the necessary movement data in advance, allowing rapid rank determination without sacrificing accuracy. This preliminary recording of changes enables the system to maintain precision while avoiding costly re-initialization operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent discards the traditional approach of maintaining complete rank information throughout the entire LRU list, instead recovering only the necessary rank information from the change list. By discarding redundant rank data from unchanged elements and recovering only the minimal set of position changes needed for accurate rank determination, the system improves productivity while maintaining measurement precision through selective information retention.

Inventive Principle:
Principle #34Discarding and recovering

3Ease of operation

If the system traverses the entire LRU list to determine ranks, then the rank determination is straightforward but the operation becomes a bottleneck in cache simulations

Engineering Contradiction:
Improvesimplicity of rank computationVSAvoidtime for list traversal and re-enumeration
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent extracts the rank determination problem from the context of traversing the entire main LRU list and relocates it to operate on the much smaller change list. By taking out only the essential movement information from the full list context and processing it separately, the system maintains the simplicity of rank computation (it remains conceptually straightforward) while dramatically reducing the time required, as the change list contains only the subset of elements whose positions have actually changed.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7360043B1Method and apparatus for efficiently determining rank in an LRU list
Publication Date: 2008.04.15 ORACLE AMERICAN INC
  • US7360043B1 patent drawing
  • US7360043B1 patent drawing
  • US7360043B1 patent drawing

AI summary

One embodiment of the present invention provides a system that manages an LRU list such that the rank, or position, of data records in the sequence can be determined efficiently. The system initializes an index field in each record to the record's initial rank. When a record is accessed, the system moves it to the beginning of the LRU list and appends the value of the record's index field to a “change list.” The system then sets the record's index field to zero. The change list effectively tracks the records accessed since initialization, and combined with the records' index fields can be used to efficiently compute the rank of any record in the list. This ability to efficiently compute the rank of the data record in the LRU list reduces the frequency with which the computationally-expensive initialization operation must be executed on the LRU list.