Resumable Cache Preload via State Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecache preload completionVSAvoidpreload operation time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improvecache preload completionVSAvoidpreload operation resource usage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the primary node fails during cache preload, then fault tolerance is maintained through failover, but the preload operation must be restarted

Engineering Contradiction:
Improvesystem availabilityVSAvoidpreload operation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveinitial resource usageVSAvoiddata access speed
Core Design Contradiction:
Use of energy by moving objectVSSpeed

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7676635B2Recoverable cache preload in clustered computer system based upon monitored preload state of cache
Publication Date: 2010.03.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7676635B2 patent drawing
  • US7676635B2 patent drawing
  • US7676635B2 patent drawing

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.