Segmented File Prefetching to Resolve Cache Thrash
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
File-level disk-caching leads to suboptimal performance due to 'cache thrash' situations where entire files are frequently added to and evicted from non-volatile memory, resulting in inefficiencies and increased size requirements.
Innovation Solution
Implementing a cache prefetch policy that selectively prefetches individual file segments based on access patterns, using a cache policy manager to identify and manage non-volatile memory locations, creating a stack instance of evicted segments, and prefetching only those segments that were previously accessed and not cached, thereby improving performance and reducing cache size requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If file-level caching is implemented, then recent files can be stored in non-volatile memory for faster access, but cache thrash occurs where entire files are frequently added to and evicted from cache
Solution Approach 1:
The patent divides files into smaller segments and caches only the recently accessed segments rather than entire files. The cache policy manager tracks access patterns at the segment level and selectively prefetches only those segments that are likely to be accessed next, preventing cache thrash while maintaining fast access to frequently used portions of files.
Solution Approach 2:
The system performs preliminary actions by tracking file access patterns and proactively prefetching segments before they are actually needed. The cache policy manager monitors access patterns and prefetches segments in advance based on predicted future access needs, improving cache efficiency without requiring entire files to be cached.
2Stability of the object's composition
If entire files are cached to prevent cache thrash, then cache stability improves, but cache size requirements increase
Solution Approach 1:
By segmenting files into smaller units and caching only the necessary portions, the system maintains cache stability for the cached segments while dramatically reducing the total cache size required. Only segments that are actively or recently accessed are maintained in cache, rather than entire files.
Solution Approach 2:
The system applies partial action by caching only the necessary portion of files (recently accessed segments) rather than complete files. This partial caching approach provides sufficient stability for active workloads while minimizing cache size requirements.
3Quantity of substance
If selective segment prefetching is implemented, then cache size is reduced, but system complexity increases
Solution Approach 1:
The cache policy manager implements self-service by automatically tracking access patterns and making intelligent decisions about which segments to prefetch and cache. The system monitors its own usage patterns and autonomously manages cache contents without requiring complex external control mechanisms.
Solution Approach 2:
The system uses feedback from actual file access patterns to dynamically adjust cache behavior. The cache policy manager continuously monitors which segments are accessed and uses this feedback to make informed decisions about prefetching and cache eviction, simplifying management through data-driven automation.
Data Source
AI summary
Systems, apparatuses and methods may provide for technology to automatically identify a plurality of non-volatile memory locations associated with a file in response to a close operation with respect to the file and automatically conduct a prefetch from one or more of the plurality of non-volatile memory locations that have been most recently accessed and do not reference cached file segments. The prefetch may be conducted in response to an open operation with respect to the file and on a per-file segment basis.


