Resumable Cache Preload via State Monitoring
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In clustered computer systems, cache preload operations are often interrupted due to failures, requiring a restart from the beginning, which incurs significant performance penalties and resource overhead.
Innovation Solution
Implementing a system to monitor the cache state during preload operations, allowing the operation to resume from the interrupted point after a failover, thereby avoiding the need for a full restart by retaining preloaded data and continuing the preload from the intermediate state.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cache preload operation is restarted from the beginning after a failure, then the cache can be fully preloaded, but the time and resources required increase significantly
Solution Approach 1:
The system performs preliminary actions by saving the preload state (number of entries preloaded, last loaded entry identifier) to persistent storage before completing the preload operation. This allows the system to resume from the saved state rather than restarting from zero, reducing the time and resources required after a failure.
Solution Approach 2:
The invention creates a copy of the preload state information (state object containing preload progress) and stores it in a location accessible after failover. This copied state information enables the new primary node to resume the preload operation without re-executing the entire preload process.
2Reliability
If cache preload operation is restarted from the beginning after a failure, then the cache can be fully preloaded, but the resource overhead increases significantly
Solution Approach 1:
The system performs preliminary actions by saving the preload state (number of entries preloaded, last loaded entry identifier) to persistent storage before completing the preload operation. This allows the system to resume from the saved state rather than restarting from zero, reducing the time and resources required after a failure.
3Reliability
If the primary node fails during cache preload, then fault tolerance is maintained through failover, but the preload operation must be restarted
Solution Approach 1:
The system implements feedback by continuously monitoring the preload operation progress and saving the state at intervals. The state object contains information about how many entries have been preloaded and what the last loaded entry was, allowing the system to detect when preload is complete and to resume from the correct point after failover.
Solution Approach 2:
The system performs preliminary actions by saving the preload state (number of entries preloaded, last loaded entry identifier) to persistent storage before completing the preload operation. This allows the system to resume from the saved state rather than restarting from zero, reducing the time and resources required after a failure.
4Use of energy by moving object
If lazy loading is used instead of preload, then initial resource usage is reduced, but performance degrades when data is first requested
Solution Approach 1:
The system performs preliminary actions by preloading cache data before it is needed. By maintaining a state object that tracks preload progress and enabling resumption after failover, the system ensures that data is available in the cache when requested, providing fast access without the performance penalty of first-time lazy loading.
Data Source
AI summary
An apparatus, program product and method monitor the state of a cache during a cache preload operation in a clustered computer system such that the monitored state can be used after a failover to potentially avoid the need to restart the cache preload operation from the beginning. In particular, by monitoring the state of the cache during a cache preload operation, any data that has been preloaded into a cache prior to a failure may be retained after a failover occurs, thus enabling the cache preload operation to continue from the point at which it was interrupted as a result of the failure.


