Clustered Storage Process Restart Decoupling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional clustered storage systems face performance degradation and redundancy issues due to the need to wait for in-flight commands to complete before restarting a process, which can lead to excessive wait times and potential system failure.
Innovation Solution
The implementation of a content addressable storage system with a distributed storage controller that decouples process restart from in-flight command execution by identifying and treating transfer buffer commands and logically ordered commands differently, allowing the restarted process to begin without waiting for the completion of in-flight commands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the system waits for in-flight commands to complete before restarting a process, then reliability is improved by ensuring command completion, but productivity deteriorates due to excessive wait times
Solution Approach 1:
The patent segments in-flight commands into two categories: transfer buffer commands and logically ordered commands. This segmentation allows different handling strategies for each type, enabling the restarted process to proceed without waiting for transfer buffer commands while maintaining proper ordering for logically ordered commands, thus resolving the contradiction between reliability and productivity.
Solution Approach 2:
The patent introduces an intermediary mechanism (the command identification and classification system) that mediates between the failed process's in-flight commands and the restarted process. This intermediary identifies and distinguishes command types, allowing the system to safely restart the process while managing command completion asynchronously, thereby improving both reliability and productivity.
2Object-affected harmful factors
If the system waits for in-flight commands to complete before restarting a process, then harmful factors are reduced by preventing command interference, but loss of time increases due to wait times extending beyond timeout limits
Solution Approach 1:
The patent applies preliminary action by identifying and classifying in-flight commands into transfer buffer and logically ordered categories before the process restart occurs. This preliminary classification enables the system to immediately restart the process without waiting for transfer buffer commands, while still protecting against interference through the ghost buffer mechanism, thus reducing both harmful factors and time loss.
Solution Approach 2:
The patent converts the potentially harmful in-flight transfer buffer commands into a beneficial mechanism by using ghost buffers. These ghost buffers track the completion status of in-flight commands without blocking the restarted process, transforming what was previously a source of interference and delay into a mechanism that ensures safety while enabling rapid restart.
3Productivity
If the system allows immediate process restart without waiting for in-flight commands, then productivity is improved by reducing wait times, but reliability deteriorates due to potential interference with restarted process
Solution Approach 1:
The patent segments commands into transfer buffer commands and logically ordered commands, allowing immediate restart while protecting against interference. Transfer buffer commands are handled asynchronously through ghost buffers, while logically ordered commands maintain their ordering requirements, thus achieving both high productivity and reliability.
Solution Approach 2:
The patent introduces ghost buffers as an intermediary mechanism that mediates between in-flight transfer buffer commands and the restarted process. This intermediary allows the restarted process to operate immediately without waiting for command completion, while still preventing interference through the ghost buffer tracking mechanism, thus resolving the contradiction between productivity and reliability.
Data Source
AI summary
A clustered storage system in one embodiment comprises a plurality of nodes, with each of at least a subset of the nodes comprising a set of processing modules configured to communicate over one or more networks with corresponding sets of processing modules on other ones of the nodes. In conjunction with a failure of a first instance of a process running on a given one of the nodes and a subsequent restart of a second instance of the process, at least one of the processing modules is to identify at least one transfer buffer command of the first instance of the process, to identify a plurality of logically ordered commands of the first instance of the process, and to provide distinct treatment of the transfer buffer command relative to treatment of the logically ordered commands in a manner that ensures that the restart of the second instance of the process is not delayed to await completion of the transfer buffer command or the logically ordered commands.


