LRU List Rank Determination via Change List Segmentation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


