A WAITING TIME-BASED BULLY ALGORITHM FOR LEADER NODE SELECTION IN DISTRIBUTED SYSTEMS - Md. Navid Bin Anwar; Nahar, Afroza; Nashid Kamal Md.; Mehedi Hasan Shuvo (Malaysian Journal of Science, 2022)
In distributed systems, a single node (referred to as a leader) coordinates all other nodes to ensure synchronization. If this node fails, another node in the system must adopt the role of leader. The classic bully algorithm suffers from some significant drawbacks, such as excessive message passing, a redundant number of election calls, and uncertainties over message delivery. The enhanced bully algorithm is one of the most recent improvements of this algorithm. However, this algorithm performs poorly in average- and worst-case scenarios. In this paper, a novel waiting time-based algorithm is proposed to improve the enhanced bully algorithm for electing a new leader during such critical scenarios. In this algorithm, if a single or multiple number of nodes discover that the leader has failed, it does not broadcast instantly. Rather, it waits for a certain period, and this waiting time is assigned to the nodes according to their load. After the timeout, the node sends its message and starts the election process. Moreover, it restricts nodes from unnecessary message passing and stops any redundant election calls. Accordingly, this algorithm detects the failure of the leader node more precisely and elects a new leader more quickly.