Leader Election in Distributed Storage via RPC Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing leader election processes in distributed storage systems are hindered by node failures and network partitions, leading to unsuccessful leader elections and limited redundancy, which can result in service disruption even when a majority of nodes fail.
Innovation Solution
The method involves sending remote procedure calls (RPCs) from compute nodes to storage boxes to execute a leader election algorithm, with each storage node determining whether to elect a compute node as leader based on communication thresholds and shared leader data, ensuring redundancy and adaptability to network partitions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If leader election is performed using traditional algorithms in distributed storage systems, then a leader can be elected under normal conditions, but the system fails to elect a leader when node failures or network partitions occur
Solution Approach 1:
The system segments the leader election process into multiple independent phases: initial leader identification, verification phase with multiple storage boxes, and fallback mechanisms. Each phase can operate independently, allowing the system to complete leader election even if some nodes or storage boxes fail during the process.
Solution Approach 2:
The system performs preliminary actions by pre-configuring multiple storage boxes with leader election algorithms and pre-establishing communication channels. When a leader election is needed, the system can immediately initiate the process without waiting for node availability, and the pre-configured redundancy ensures that at least some storage boxes remain accessible to complete the election.
2Productivity
If the system uses a single leader node for coordination, then decision-making is efficient under normal conditions, but the system becomes unavailable when the leader node fails
Solution Approach 1:
The system merges the leader election functionality across multiple storage boxes, combining their verification capabilities. Instead of relying on a single leader node, the system combines the authority of multiple storage boxes to verify and confirm leader identity, ensuring that the leader can be elected and confirmed even if the current leader fails or becomes unreachable.
3Stability of the object's composition
If the leader election algorithm requires communication with all nodes, then complete consensus is achieved, but the election process fails when most nodes are unavailable
Solution Approach 1:
The system applies partial action by requiring communication with only a subset of storage boxes rather than all nodes. The leader election algorithm is designed to achieve sufficient consensus with a quorum of storage boxes, which provides excessive redundancy - the system can tolerate more node failures than the strict minimum would allow, ensuring election success even when most nodes are unavailable.
Data Source
AI summary
Systems and methods for leader election. A disclosed method includes sending, by a first compute node of a plurality of compute nodes, a plurality of remote procedure calls (RPCs) to a plurality of storage boxes according to an order, wherein each of the plurality of RPCs causes a leader election algorithm to execute in one of the plurality of storage boxes; and updating a state of the first compute node to “leader” when a result of executing the leader election algorithm for each of the plurality of RPCs indicates that the first compute node is elected as a leader node.


