Cache Rewarming via Tagstore Reconstruction in Storage Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data storage networks, cache rewarming during failure events leads to degraded performance and increased latency due to the cache being inaccessible and stale, as modifications are not tracked by the takeover node during the failure event.
Innovation Solution
Implementing a method where a takeover node can leverage the cache of a failover node by reconstructing the tagstore and bringing aggregates online using a metafile and snapshot stored on flash storage, allowing the cache to be accessed and maintained, even during a takeover event.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the cache is owned by a single storage node and maintained in non-volatile memory, then cache contents can be preserved through failure events, but the cache becomes inaccessible and stale during the failure event, leading to degraded performance
Solution Approach 1:
The patent introduces a partner storage node as an intermediary that maintains a copy of the cache tagstore and can service cache hits during failure events. When the primary storage node fails, the partner node acts as a mediator to continue providing cache services to clients, preventing performance degradation while the primary node is unavailable.
Solution Approach 2:
The patent implements preliminary actions by having the partner storage node proactively maintain a synchronized copy of the cache tagstore before any failure occurs. This advance preparation allows the partner node to immediately service cache requests upon failure detection, eliminating the performance penalty that would otherwise occur during failover.
2Ease of operation
If the takeover node does not track data modifications during the failure event, then the system simplifies operation, but the cache contents become stale and require rewarming, increasing loss of time
Solution Approach 1:
The patent ensures continuity of useful action by having the partner storage node continuously track data modifications (invalidations) during the entire failure event period. This continuous tracking allows the partner node to maintain an up-to-date cache tagstore, enabling it to service cache requests accurately without requiring rewarming after the failure is resolved.
Solution Approach 2:
The patent implements a feedback mechanism where the partner storage node receives and processes invalidation information about cache modifications during the failure event. This feedback allows the partner node to update its cached tagstore in real-time, ensuring cache contents remain current and eliminating the need for time-consuming rewarming operations.
3Productivity
If the cache is made accessible to the takeover node during the failure event, then performance is maintained, but the device complexity increases due to additional tracking and synchronization mechanisms
Solution Approach 1:
The patent uses copying by creating and maintaining a duplicate copy of the cache tagstore at the partner storage node. This copy mechanism allows the partner node to independently service cache requests without complex real-time synchronization, reducing system complexity while maintaining performance during failure events.
Solution Approach 2:
The patent segments the cache management function by separating the primary cache owner (failover node) from the backup cache service provider (takeover node). This segmentation allows each node to have simplified responsibilities - the failover node manages the primary cache while the takeover node maintains a read-only copy for failover purposes, reducing overall system complexity.
Data Source
AI summary
Methods, non-transitory machine readable media, and computing devices that facilitate cache rewarming in a failover domain are disclosed. With this technology, a tag is inserted into a local tagstore. The tag includes a location of data in a cache hosted by a failover computing device and is retrieved from a snapshot of a remote tagstore for the cache. An invalidation log for an aggregate received from the failover computing device is replayed subsequent to mounting a filesystem that is associated with the aggregate and comprises the data. The data is retrieved from the cache following determination of the location from the tag in the local tagstore in order to service a received storage operation associated with the data. Takeover nodes do not have to wait for a cache to repopulate organically, and can leverage the contents of a cache of a failover node to thereby improve performance following takeover events.


