Persisting Page Access Heuristics in Memory-Centric Architecture
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage systems face challenges in persistently managing memory access patterns, leading to inefficiencies in cache performance and increased latency due to the volatility of DRAM, which results in the loss of cache state upon system restarts.
Innovation Solution
The method involves collecting and persisting page access heuristics as metadata in non-volatile memory during runtime, allowing for the restoration of the page cache to a previous state upon application restart, thereby maintaining optimal cache performance and reducing page faults.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If volatile memory (DRAM) is used for page cache, then cache access speed is improved, but cache state is lost upon system restart
Solution Approach 1:
The system performs preliminary actions by collecting and persisting page access heuristics metadata to non-volatile memory during runtime execution. This allows the cache state to be restored after restart without losing the access patterns that optimize cache performance
Solution Approach 2:
The invention creates a copy of the access heuristics metadata and stores it in non-volatile memory. This copy preserves the cache optimization information even when the volatile memory is cleared, enabling restoration of cache performance characteristics after system restart
2Reliability
If page cache is cleared on restart, then system reliability is improved, but cache performance is degraded due to loss of access patterns
Solution Approach 1:
The access heuristics metadata is copied to non-volatile memory, creating a persistent record of cache optimization information that survives system restarts, allowing cache performance to be restored without compromising system reliability
Solution Approach 2:
The system changes the persistence parameter of the metadata by storing it in non-volatile memory with durability settings, ensuring that the access patterns are preserved across restart events while maintaining system reliability
3Device complexity
If metadata is stored only in volatile memory, then device complexity is reduced, but data loss occurs upon restart
Solution Approach 1:
The system performs preliminary persistence of metadata to non-volatile memory during runtime, ensuring that the information is saved before restart occurs, thus preventing data loss without requiring complex dual-storage architectures
Solution Approach 2:
The non-volatile memory serves as an intermediary storage layer that bridges the gap between volatile memory's speed and permanent storage's persistence, allowing metadata to be preserved across restarts while maintaining relatively simple system architecture
4Reliability
If cache is repopulated after restart, then cache state is restored, but time and resources are wasted
Solution Approach 1:
The access heuristics metadata is preliminarily persisted to non-volatile memory during runtime, so that upon restart the system can immediately restore cache performance characteristics without needing to repopulate the cache from scratch, saving significant time and resources
Data Source
AI summary
Systems, methods, and articles of manufacture comprising processor-readable storage media are provided for managing memory by persistence of page access heuristics. For example, a method includes collecting, during run-time execution of an application, access heuristics with regard to each page of data that is accessed by the application and cached in a page cache associated with the application, and generating metadata for each cached page in the page cache. The metadata for a given cached page represents the access heuristics of the given cached page. The metadata for each cached page is maintained in a volatile memory during run-time execution of the application. Moreover, the metadata for each cached page is persistently stored in a non-volatile memory during run-time execution of the application. The persistently stored metadata for each cached page is accessed when the application is restarted to restore the page cache associated with the application to a previous state.


