Asynchronous File Tracking for Cache Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In high-frequency and high-volume storage devices, cache managers often lose track of files due to overflowing IPC message queues or unavailability, leading to permanent cache retention and reduced cache performance.
Innovation Solution
Implementing asynchronous tracking of files, where the first process independently enters files into the cache without synchronizing with the cache manager, allowing for independent operation and delayed updating by the second process, which retains or removes files based on eviction policies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous operation with IPC messages is used to track files in cache, then the cache manager can maintain an up-to-date view of cached files, but the IPC message queue overflows when request frequency exceeds processing capacity, causing file tracking loss
Solution Approach 1:
The system segments the file tracking function into a separate asynchronous process that independently monitors cache operations. This process reads cache state changes directly from the cache data structure without requiring inter-process communication, thereby eliminating the IPC queue bottleneck while maintaining reliable file tracking.
Solution Approach 2:
The patent introduces an intermediary asynchronous tracking process that acts as a mediator between the cache manager and eviction policies. This intermediary independently observes cache operations and maintains its own file tracking data structure, eliminating the need for synchronous IPC while ensuring accurate file tracking for cache management decisions.
2Loss of information
If the cache manager processes IPC messages at high speed to keep up with request volume, then file tracking remains accurate, but the system complexity and overhead increase due to synchronization requirements
Solution Approach 1:
The asynchronous file tracking process is self-service in nature, independently acquiring cache state information directly from the cache data structure without requiring synchronization with the cache manager. It maintains its own file tracking records and operates autonomously to support eviction policies, eliminating complex synchronization mechanisms.
Solution Approach 2:
The system employs periodic action by having the asynchronous tracking process periodically scan and update its file tracking data structure based on cache operations. This periodic independent updating ensures file tracking completeness without requiring continuous synchronous communication, thereby reducing system complexity.
3Reliability
If the cache is periodically purged to prevent tracking issues, then file tracking accuracy is restored, but cache performance degrades due to cache misses during repopulation
Solution Approach 1:
The asynchronous file tracking process provides beforehand cushioning by continuously and independently tracking cached files before tracking loss can occur. This continuous independent monitoring prevents the need for periodic cache purges, thereby maintaining both file tracking accuracy and cache performance without interruption.
Data Source
AI summary
Asynchronous file tracking may include a first process that adds files to a cache and that generates different instances of a tracking file to track the files as they are entered into the cache. A second process, executing on the device, asynchronously accesses one or more instances of the tracking file at a different rate than the first process generates the tracking file instances. The second process may update a record of cached files based on a set of entries from each of the different instances of the tracking file accessed by the second process. Each set of entries may identify a different set of files that are cached by the device. The second process may then purge one or more cached files that satisfy eviction criteria while the first process continues to asynchronously add files to the cache and create new instances to track the newly cached files.


