Cache Object Deletion Prioritization via Age Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional cache management techniques do not effectively prioritize the deletion of cache objects, leading to the removal of newer internally-accessed objects instead of older externally-accessed objects when internal caches are full, resulting in inefficient memory management.
Innovation Solution
A method that tracks the time externally-accessed objects spend in external caches, queues them based on their age, and prioritizes their deletion alongside internally-accessed objects, ensuring that older objects with longer times in both internal and external caches are deleted first.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional cache management techniques are used to delete cache objects when internal caches are full, then memory can be freed for new cache objects, but newer internally-accessed objects may be deleted instead of older externally-accessed objects, resulting in inefficient memory management
Solution Approach 1:
The system performs preliminary actions by tracking and recording the age of cache objects as they are placed in external caches before deletion decisions are made. This advance tracking ensures that when deletion is needed, the oldest objects can be quickly identified without requiring time-consuming analysis at the moment of deletion
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring cache object ages and using this information to inform deletion decisions. The age tracking feedback loop ensures that deletion priorities are dynamically adjusted based on actual object ages, preventing the deletion of recently accessed objects while prioritizing older ones
2Device complexity
If cache object deletion priorities are not tracked, then the cache management system is simpler to implement, but it cannot distinguish between older and newer objects, leading to suboptimal deletion decisions
Solution Approach 1:
The system applies the nesting principle by embedding age tracking metadata within the existing cache object structure. Rather than creating a separate complex tracking system, the age information is nested within each cache object's data structure, allowing the system to maintain simplicity while gaining the capability to make informed deletion decisions based on object age
3Productivity
If the system tracks and prioritizes deletion of externally-accessed objects based on their age in external caches, then older objects can be deleted first improving memory management, but the system must maintain additional tracking infrastructure
Solution Approach 1:
The system merges the age tracking function with the existing cache management infrastructure by integrating tracking logic into the cache placement and eviction processes. This consolidation allows the system to track object ages without requiring separate complex tracking systems, as the same infrastructure that manages cache objects is also used to monitor their ages
Data Source
AI summary
Provided computer-implemented methods for prioritizing cache objects for deletion may include (1) tracking, at a computing device, a respective time an externally-accessed object spends in an external cache, (2) queuing, when the externally-accessed object is purged from the external cache, the externally-accessed object in a first queue, (3) queuing, when an internally-accessed object is released, the internally-accessed object in a second queue, (4) prioritizing objects within the first queue, based on a cache-defined internal age factor and on respective times the objects spend in the external cache and respective times the objects spend in an internal cache, (5) prioritizing objects within the second queue based on respective times the objects spend in the internal cache, (6) selecting an oldest object having a longest time in any of the first queue and the second queue, and (7) deleting the oldest object. Various other methods, systems, and computer-readable media are disclosed.


