FRLLE: a failure rate and load-based leader election algorithm for a bidirectional ring in distributed systems

In a distributed system, multiple nodes work together to build a highly available, reliable, resource shareable, and fault-tolerant system to achieve a common goal. Here, multiple nodes work together to complete a task, so coordination is essential among these nodes. Electing a node as a system leader from among all the nodes can be a possible solution to do the coordination. Besides coordination, the leader also controls various activities like task allocation, result aggregation, efficient resource sharing, clock synchronization, and communication among the nodes of the system. In this work, we address the leader election problem through a new leader election algorithm called Failure Rate and Load-based Leader Election (FRLLE) algorithm for bidirectional ring networks. The proposed algorithm elects a node with a minimum failure rate and load as well so that the system gets a more reliable leader that can concentrate on leadership roles and activity comfortably. Like a proper leader election algorithm, this algorithm satisfies safety, liveness, and termination conditions that help to build an efficient and consistent distributed system. This algorithm reduces the message and time complexity, which means the algorithm takes fewer time steps to elect a leader by exchanging fewer messages. We compare the simulation results of the FRLLE algorithm with the well-known existing leader election algorithms and demonstrate that the FRLLE algorithm exchanges fewer messages and takes fewer time steps to elect the leader. We further carried out a priori complexity analysis and compared the outcome with the results of the simulation to corroborate our proposal.

[1]  Ajoy Kumar Datta,et al.  Leader Election in Rings with Bounded Multiplicity (Short Paper) , 2016, SSS.

[2]  Orhan Dagdeviren,et al.  A Hierarchical Leader Election Protocol for Mobile Ad Hoc Networks , 2008, ICCS.

[3]  Federico Fariña,et al.  Efficient leader election in complete networks , 2005, 13th Euromicro Conference on Parallel, Distributed and Network-Based Processing.

[4]  Butler W. Lampson,et al.  Distributed Systems — Architecture and Implementation , 1982, Lecture Notes in Computer Science.

[5]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[6]  J. B. Fussell,et al.  How to Hand-Calculate System Reliability and Safety Characteristics , 1975, IEEE Transactions on Reliability.

[7]  Nancy A. Lynch,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[8]  Ernest J. H. Chang,et al.  An improved algorithm for decentralized extrema-finding in circular configurations of processes , 1979, CACM.

[9]  Parul Choudhary,et al.  Novel algorithm for leader election process in virtual traffic light protocol , 2020 .

[10]  Pradip K. Srimani,et al.  A Self-Stabilizing Leader Election Algorithm for Tree Graphs , 1996, J. Parallel Distributed Comput..

[11]  Donald F. Towsley,et al.  Design and analysis of a leader election algorithm for mobile ad hoc networks , 2004, Proceedings of the 12th IEEE International Conference on Network Protocols, 2004. ICNP 2004..

[12]  Jiannong Cao,et al.  Top K-leader election in mobile ad hoc networks , 2014, Pervasive Mob. Comput..

[13]  Nitin H. Vaidya,et al.  Leader election algorithms for mobile ad hoc networks , 2000, DIALM '00.

[14]  Fukuhito Ooshita,et al.  Loosely-Stabilizing Leader Election for Arbitrary Graphs in Population Protocol Model , 2019, IEEE Transactions on Parallel and Distributed Systems.

[15]  Gurdip Singh,et al.  Leader Election in the Presence of Link Failures , 1996, IEEE Trans. Parallel Distributed Syst..

[16]  Mohammad Modarres,et al.  Reliability engineering and risk analysis : a practical guide , 2016 .

[17]  Ajay D. Kshemkalyani,et al.  Distributed Computing: Principles, Algorithms, and Systems , 2008 .

[18]  Gérard Le Lann,et al.  Distributed Systems - Towards a Formal Approach , 1977, IFIP Congress.

[19]  Shay Kutten,et al.  Deterministic Leader Election in Programmable Matter , 2019, ICALP.

[20]  Sam Toueg,et al.  Unreliable failure detectors for reliable distributed systems , 1996, JACM.

[21]  Ashish Kumar Maurya,et al.  On benchmarking task scheduling algorithms for heterogeneous computing systems , 2018, The Journal of Supercomputing.

[22]  Sung-Hoon Park,et al.  An election protocol based on group membership detection algorithm in mobile ad hoc distributed systems , 2018, The Journal of Supercomputing.

[23]  R.M. Fujimoto,et al.  Parallel and distributed simulation systems , 2001, Proceeding of the 2001 Winter Simulation Conference (Cat. No.01CH37304).

[24]  Yishay Mansour,et al.  Fair Leader Election for Rational Agents in Asynchronous Rings and Networks , 2018, PODC.

[25]  Daniel S. Hirschberg,et al.  Decentralized extrema-finding in circular configurations of processors , 1980, CACM.

[26]  Maxim Finkelstein,et al.  Failure Rate Modelling for Reliability and Risk , 2008 .

[27]  Animesh Dutta,et al.  A Timer Based Leader Election Algorithm , 2016, 2016 Intl IEEE Conferences on Ubiquitous Intelligence & Computing, Advanced and Trusted Computing, Scalable Computing and Communications, Cloud and Big Data Computing, Internet of People, and Smart World Congress (UIC/ATC/ScalCom/CBDCom/IoP/SmartWorld).

[28]  Danny Dolev,et al.  Distributed Protocols for Leader Election , 2019, ACM Trans. Economics and Comput..

[29]  Hagit Attiya,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 1998 .

[30]  Rachid Guerraoui,et al.  Introduction to Reliable and Secure Distributed Programming , 2011 .

[31]  Andrew S. Tanenbaum,et al.  Distributed systems: Principles and Paradigms , 2001 .

[32]  Riccardo Gusella,et al.  The Accuracy of the Clock Synchronization Achieved by TEMPO in Berkeley UNIX 4.3BSD , 1987, IEEE Trans. Software Eng..

[33]  Sam Toueg,et al.  The weakest failure detector for solving consensus , 1996, JACM.

[34]  Norihiko Shinomiya,et al.  Cluster Leader Election Problem for Distributed Controller Placement in SDN , 2017, GLOBECOM 2017 - 2017 IEEE Global Communications Conference.

[35]  Kan Yu,et al.  Multi-leader election in dynamic sensor networks , 2016, 2016 International Conference on Identification, Information and Knowledge in the Internet of Things (IIKI).

[36]  Abolfazl Toroghi Haghighat,et al.  Modified bully election algorithm in distributed systems , 2005 .

[37]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[38]  Michel Raynal,et al.  Distributed Algorithms for Message-Passing Systems , 2013, Springer Berlin Heidelberg.

[39]  Hector Garcia-Molina,et al.  Elections in a Distributed Computing System , 1982, IEEE Transactions on Computers.

[40]  Vassos Hadzilacos,et al.  On the Relationship Between the Atomic Commitment and Consensus Problems , 1990, Fault-Tolerant Distributed Computing.