Selective Read Cache Retention for Rebooted Storage Nodes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multiple-node storage clusters, the local READ cache of a temporarily disabled node becomes stale or invalid due to ongoing data transfers by other nodes, requiring a time-consuming rebuild of the cache upon reboot, which degrades node performance.
Innovation Solution
A system and method that tracks data transfers between active nodes and cached regions when a node is disabled, allowing the cache manager to retain a valid portion of cache data, thereby avoiding a full cache rebuild upon reboot.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the local READ cache is completely rebuilt after node reboot, then cache data validity is ensured, but cache rebuild time and processing power increase significantly
Solution Approach 1:
The system performs preliminary tracking of data transfers during the node downtime. The cache manager monitors and records which cache regions are modified by other nodes while the first node is disabled, so that upon reboot, only the necessary cache portions need to be invalidated rather than the entire cache being rebuilt.
Solution Approach 2:
Instead of treating the entire cache uniformly, the system applies different validity assessments to different cache regions. Each cache region is independently evaluated based on whether it was modified by other nodes, allowing selective retention of valid cache data while invalidating only the affected portions.
2Reliability
If the local READ cache is completely rebuilt after node reboot, then stale cache data is eliminated, but node performance during reboot degrades
Solution Approach 1:
The cache manager performs preliminary tracking of data transfers to cached regions while the node is disabled. This advance preparation allows the system to quickly identify and invalidate only the necessary cache portions upon reboot, rather than performing a time-consuming complete cache rebuild, thus maintaining node performance.
Solution Approach 2:
The system performs partial cache invalidation rather than complete cache rebuild. By tracking which specific cache regions were modified by other nodes, the system invalidates only those specific portions that became stale, leaving the rest of the cache intact and usable, thereby maintaining node performance during and after reboot.
3Loss of time
If cache data is retained after node reboot, then cache rebuild time is reduced, but risk of using stale cache data increases
Solution Approach 1:
The cache manager implements a feedback mechanism by tracking data transfers from other nodes to cached regions. This tracking information provides feedback about which cache regions have become stale, enabling the system to make informed decisions about cache retention and invalidation, thus balancing cache rebuild time reduction with cache data validity assurance.
Solution Approach 2:
The system uses the tracked transfer information as feedback to selectively invalidate cache regions. The cache manager receives information about which regions were modified by other nodes and uses this feedback to invalidate only those specific regions, allowing retention of valid cache data while ensuring stale data is eliminated.
4Reliability
If complete cache invalidation is performed, then cache consistency is maintained, but processing power and time are wasted
Solution Approach 1:
The system applies local quality by treating different cache regions differently based on their validity status. Instead of uniformly invalidating the entire cache, the system identifies and invalidates only the specific regions that were modified by other nodes, conserving processing power while maintaining cache consistency for the regions that remain valid.
Solution Approach 2:
The system performs partial cache invalidation rather than complete cache invalidation. By using tracking information to identify only the necessary cache regions that became stale, the system invalidates only those specific portions, avoiding the waste of processing power that would result from invalidating the entire cache when only portions are actually stale.
Data Source
AI summary
The disclosure is directed to a system and method for managing READ cache memory of at least one node of a multiple-node storage cluster. According to various embodiments, a cache data and a cache metadata are stored for data transfers between a respective node (hereinafter “first node”) and regions of a storage cluster. When the first node is disabled, data transfers are tracked between one or more active nodes of the plurality of nodes and cached regions of the storage cluster. When the first node is rebooted, at least a portion of valid cache data is retained based upon the tracked data transfers. Accordingly, local cache memory does not need to be entirely rebuilt each time a respective node is rebooted.


