Batching Non-Conflicting I/O Operations During Storage Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing multi-site distributed data storage systems face challenges in reducing resumption time for I/O operations during automatic unplanned failover (AUFO), due to delays in detecting primary cluster failures, serial health-check operations, redundant operations, system resource contention, and conflicting workflows.
Innovation Solution
The solution involves a computer-implemented method that reduces resumption time by batching multiple non-conflicting I/O operations across different consistency groups and volumes into a single operation, using ultra-short heartbeats for early failure detection, optimizing health check operations through multi-level parallelization, and minimizing system calls and context switches through prefetching.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If serial health-check operations are performed during failover, then system reliability is ensured, but I/O resumption time increases
Solution Approach 1:
The patent combines multiple serial health-check operations into a single parallel health-check operation that can evaluate multiple consistency groups simultaneously. This merging approach maintains the reliability requirement of performing health checks while reducing the total time by eliminating sequential execution delays.
Solution Approach 2:
The system dynamically adjusts the health-check mechanism by implementing a bulk role change call that can be triggered when multiple non-conflicting operations are identified. This dynamic approach allows the system to switch from a conservative serial check to an optimized parallel check based on real-time operational conditions.
2Manufacturing precision
If multiple individual role change calls are sent during failover, then role transition accuracy is maintained, but system resource contention increases
Solution Approach 1:
The patent merges multiple individual role change calls into a single bulk role change call when multiple non-conflicting operations are identified. This consolidation maintains role transition accuracy by ensuring all changes are coordinated through a single operation, while reducing system resource contention by eliminating multiple separate call overheads.
3Reliability
If individual I/O operations are processed separately during failover, then operation correctness is ensured, but productivity decreases
Solution Approach 1:
The system merges multiple individual I/O operations into a single batch operation when they are determined to be non-conflicting. This batching approach ensures operation correctness by maintaining proper sequencing and coordination, while significantly improving productivity by processing multiple operations in parallel rather than sequentially.
Solution Approach 2:
The system applies partial batching by only grouping operations that are determined to be non-conflicting, while leaving conflicting operations to be processed individually. This selective approach ensures that correctness is maintained for critical operations while maximizing throughput for safe-to-batch operations.
4Stability of the object's composition
If standard heartbeat intervals are used for failure detection, then network stability is maintained, but failure detection time increases
Solution Approach 1:
The system performs preliminary failure detection by monitoring heartbeat interruptions and proactively triggering the failover process before complete system failure occurs. This preliminary action allows for faster detection and response while maintaining network stability by not prematurely triggering false failovers.
Data Source
AI summary
Multi-site distributed storage systems and computer-implemented methods are described for improving a resumption time of input/output (I/O) operations during an automatic unplanned failover (AUFO). A computer-implemented method includes determining, with a second storage cluster, whether heartbeat information from one or more storage objects of a CG of a first set of CGs is received during a time period, determining an out of sync state for a data replication relationship between the CG of the first set of CGs and a mirrored CG of a second set of CGs when the heartbeat information is not received during the time period and sending a single bulk role change call with a cluster identifier from the second cluster to an external mediator to provide a role change from follower to leader in the second set of CGs.


