Distributed Storage Controller Replication Termination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data replication methods face challenges in coordinating the termination of synchronous replication across multiple data path modules in a distributed storage controller, particularly in maintaining target replica consistency without impacting system performance during replication failures.
Innovation Solution
A clustered content addressable storage system with a distributed storage controller is implemented, where processing modules detect replication failures and suspend generation of acknowledgments, allowing for consistent termination of the replication process across multiple modules without affecting system performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If synchronous replication is performed in parallel across multiple data path modules, then replication speed and system throughput are improved, but coordination difficulty and risk of target replica inconsistency increase when replication failures occur
Solution Approach 1:
A coordination module is introduced as an intermediary between data path modules and the replication process. This module receives notifications of replication failures from any data path module and coordinates the suspension and termination of synchronous replication across all modules, ensuring consistent termination while maintaining parallel operation benefits
Solution Approach 2:
The system implements feedback mechanisms where data path modules notify the coordination module of replication failure conditions. This feedback loop enables the coordination module to detect failures and orchestrate consistent termination across all data path modules, resolving the coordination difficulty while preserving parallel replication performance
2Reliability
If synchronous replication termination is coordinated across multiple data path modules, then target replica consistency is maintained, but system performance degradation occurs due to coordination overhead
Solution Approach 1:
The replication control functionality is segmented into independent data path modules that operate in parallel, with a separate coordination module that only activates upon failure detection. This segmentation allows normal synchronous replication to proceed without coordination overhead, while ensuring consistency only when needed during failure scenarios
Solution Approach 2:
The coordination module is pre-configured and ready to orchestrate termination across all data path modules, but remains dormant during normal operation. When a replication failure is detected, the preliminary coordination structure enables rapid consistent termination without performance penalty during successful replication operations
3Reliability
If replication failure detection is implemented in each data path module, then reliability of failure detection is improved, but system complexity and communication overhead increase
Solution Approach 1:
While each data path module independently detects replication failures (maintaining high detection reliability), the coordination and response logic is merged into a single coordination module. This reduces system complexity by centralizing the coordination function rather than duplicating it across all data path modules, while still benefiting from distributed failure detection
Data Source
AI summary
A first storage system in one illustrative embodiment is configured to participate in a replication process with a second storage system. A first processing module of a distributed storage controller of the first storage system detects a replication failure condition for a given write request received from a host device, and provides a corresponding notification to a second processing module of the distributed storage controller. The second processing module, responsive to receipt of the notification, instructs the first processing module and a plurality of additional processing modules of a same type as the first processing module to suspend generation of replication acknowledgments for write requests received from the host device. Responsive to receipt of confirmation from the first and additional processing modules of their suspended generation of replication acknowledgements, the second processing module instructs the first and additional processing modules to terminate the replication process.


