Distributed Hash Table Multi-Node Commit Process
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed hash table (DHT) systems face challenges in maintaining data consistency and reducing network overhead while ensuring high data throughput, particularly in ensuring that data is properly allocated and fault-tolerant across a group of storage nodes.
Innovation Solution
The implementation of jumbo transaction groups (JTGs) and a multi-node commit process that batches operations, ensures data consistency by requiring simultaneous activation of data operations across storage nodes and appends commit requests to later delivery requests, thereby minimizing network overhead and maintaining uniform data presentation across the DHT.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a blocking system is used to ensure data consistency in DHT, then data consistency is maintained, but data throughput is reduced
Solution Approach 1:
The commit process is segmented into multiple phases (prepare phase and commit phase) that can execute concurrently across different node groups. This allows the system to maintain consistency checks while enabling parallel data operations, thereby improving throughput without sacrificing consistency.
Solution Approach 2:
The prepare phase is executed before the commit phase to pre-validate data operations and identify conflicts. By performing preliminary consistency checks on a subset of nodes before full commitment, the system reduces the blocking time for subsequent commit operations, improving overall data throughput while maintaining consistency.
2Reliability
If data operations are activated simultaneously across all storage nodes, then data consistency is ensured, but network overhead increases
Solution Approach 1:
The node population is segmented into different groups that process commit phases at different times. This segmentation allows the system to maintain consistency across all nodes while reducing the peak network overhead by staggering the activation timing across multiple smaller cohorts rather than activating all nodes simultaneously.
Solution Approach 2:
The commit process uses periodic phased activation where different groups of nodes are activated in successive phases rather than all at once. This periodic approach maintains data consistency through structured phase transitions while significantly reducing the instantaneous network overhead associated with simultaneous full-node activation.
3Productivity
If the time for ensuring data consistency across DHT is reduced, then data throughput is improved, but fault tolerance may be compromised
Solution Approach 1:
The prepare phase performs preliminary validation and conflict detection before the commit phase. This preliminary action identifies potential consistency issues early, allowing the system to resolve them quickly without extending the overall commit time, thereby maintaining both throughput and fault tolerance.
Solution Approach 2:
The system can skip certain consistency verification steps for nodes that are confirmed to be in a consistent state based on previous prepare phase results. This allows the commit phase to proceed more rapidly through already-validated nodes while still maintaining fault tolerance through selective verification of critical nodes.
Data Source
AI summary
Data storage systems and methods for storing data are described herein. The storage system includes a first storage node is configured to issue a first delivery request to a first set of other storage nodes in the storage system, the first delivery request including a first at least one data operation for each of the first set of other storage nodes and issuing at least one other delivery request, while the first delivery request remains outstanding, the at least one other delivery request including a first commit request for each of the first set of other storage nodes. The first node causes the first at least one data operation to be made active within the storage system in response to receipt of a commit indicator along with a delivery acknowledgement regarding one of the at least one other delivery request.


