Token-Based Data Flow Control in Clustered Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed clustered storage systems, excessive communications between storage nodes can lead to reduced throughput and increased latency, particularly in non-atomic persistent storage environments like content addressable storage systems with all-flash arrays.
Innovation Solution
Implementing token-based data flow control, where tokens are allocated to control modules to limit the generation of control-to-routing messages based on availability, dynamically adjusting token distribution based on communication statistics to optimize data replication and transfer performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If distributed storage nodes communicate extensively to maintain data consistency and coordination, then system reliability and data integrity are improved, but communication overhead increases causing reduced throughput and increased latency
Solution Approach 1:
The system dynamically adjusts the number of tokens allocated to control modules based on current system conditions, communication patterns, and workload characteristics. This dynamic token distribution allows the system to optimize the balance between maintaining data consistency through necessary communications and reducing communication overhead to preserve throughput performance.
Solution Approach 2:
The patent changes the parameter of message generation rate by using tokens as a control mechanism. Control modules must acquire tokens before generating control-to-routing messages, and the token availability directly regulates the frequency and volume of communications. This parameter change enables fine-grained control over communication intensity while maintaining essential data consistency operations.
2Reliability
If distributed storage nodes communicate extensively to maintain data consistency and coordination, then system reliability and data integrity are improved, but communication overhead increases causing increased latency
Solution Approach 1:
The system dynamically adjusts token allocation to control modules based on real-time communication patterns and system state. When latency is high or system conditions warrant reduced communication, the token distribution limits the frequency of control messages, thereby reducing communication overhead and latency while maintaining necessary data consistency through essential communications.
3Productivity
If token distribution is adjusted dynamically based on communication statistics, then data transfer efficiency and throughput are improved, but system complexity and overhead for monitoring and adjusting tokens increase
Solution Approach 1:
The system implements feedback mechanisms where control modules monitor communication statistics, token usage patterns, and system performance metrics. Based on this feedback, the system automatically adjusts token distribution to optimize data transfer efficiency. The feedback loop enables adaptive optimization without requiring complex manual configuration or intervention.
Solution Approach 2:
The token-based control mechanism is self-regulating, where control modules autonomously manage their message generation based on available tokens. The system self-adjusts communication patterns through the token distribution mechanism, reducing the need for external control complexity while maintaining optimal data transfer efficiency through automated adaptation to system conditions.
Data Source
AI summary
An apparatus in one embodiment comprises a storage system including multiple storage nodes each having a plurality of storage devices. Each of the storage nodes further comprises a set of processing modules configured to communicate with corresponding sets of processing modules on other ones of the storage nodes. The sets of processing modules of the storage nodes collectively comprise at least a portion of a distributed storage controller of the storage system. The distributed storage controller is configured to implement token-based data flow control between designated ones of the modules by determining a token distribution for the designated modules, the token distribution providing an allocation of tokens to particular ones of the designated modules. A given one of the modules is configured to limit its generation of messages to other modules based at least in part on availability of corresponding ones of the tokens allocated to the given module.


