Eventual election of multiple leaders for solving consensus in anonymous systems

Ernesto Jiménez, Sergio Arévalo, Carlos Herrera, Jian Tang
2015 Journal of Supercomputing  
In classical distributed systems, each process has a unique identity. Today, new distributed systems have emerged where a unique identity is not always possible to be assigned to each process. For example, in many sensor networks a unique identity is not possible to be included in each device due to its small storage capacity, reduced computational power, or the huge number of devices to be identified. In these cases, we have to work with anonymous distributed systems where processes cannot be
more » ... dentified. Consensus cannot be solved in classical and anonymous asynchronous distributed systems where processes can crash. To bypass this impossibility result, failure detectors are added to these systems. It is known that Q is the weakest failure detector class for solving consensus in classical asynchronous systems when a majority of processes never crashes. Although AQ was introduced as an anonymous version of E. Jimenez et al. Q, to And the weakest failure detector in anonymous systems to solve consensus when a majority of processes never crashes is nowadays an open question. Furthermore, AQ has the important drawback that it is not implementable. Very recently, AQ' has been introduced as a counterpart of Q for anonymous systems. In this paper, we show that the AQ' failure detector class is strictly weaker than AQ (i.e., AQ' provides less information about process crashes than AQ). We also present in this paper the first implementation of AQ' (hence, we also show that AQ' is implementable), and, finally, we include the first implementation of consensus in anonymous asynchronous systems augmented with AQ' and where a majority of processes does not crash. A£2 was first proposed by Bonnet and Raynal in the preliminary DISC 2010 conference paper [7]. Eventual election of multiple leaders for solving... not implementable in anonymous systems [6] . Hence, any algorithm that implements consensus with Af2 is not implementable. Very recently, AQ' has been introduced as a new counterpart of Q for anonymous systems [10] . Roughly speaking, AQ' states that eventually a set L of non-crashed processes will permanently identify themselves as leaders, and all these leader processes eventually will know the size of L (i.e., \L\). Related work One of our main goals in this paper is to present the first implementation of the AQ' failure detector [10] . This failure detector is important because it is weaker than other classes of failure detectors [5, 6] . In [6], the anonymous classes AP, AQ and AS are introduced. They are the anonymous counterparts of the classes of perfect failure detector P [13], eventual leader failure detector Q [12], and quorum failure detectors S [15], respectively. In the paper [11], another slightly different anonymous version of S denoted AS' is introduced. In [5], the authors present the failure detector AP which is the anonymous counterpart of the perfect failure detector P when the membership of the system is unknown. With respect to the implementability, Afi has the drawback that is not implementable even in anonymous synchronous systems [6] . If the membership is unknown, AP is not implementable either (applying similar techniques than in [22] ). In [19] , a distributed model where the system is a collection of anonymous finitestate agents is presented. A protocol is self-stable if it does not require initialization to work, and it is always able to recover from temporary failures. In that paper [19], it is shown that self-stabilizing eventual leader election is impossible to achieve in such systems. To circumvent this result, they enrich the system with the failure detector Q1 When an agent invokes f2 ? this failure detector returns the information of whether or not one or more processes are working as leaders. The information returned by Q ? may be incorrect by a finite period of time, but eventually Q ? will always provide accurate information. The authors show in [19] that in this system augmented with Ql it is possible to achieve self-stabilizing eventual leader election in rings and complete graphs. Failure detectors are important because they can help to solve important problems in distributed computing. One of the most important problems is consensus [13] . Consensus in anonymous systems is introduced for first time in [5] . In it, the authors solve consensus with a majority of processes that never crashes and using the failure detector AP. They show that It + 1 is the lower bound on the number of rounds to achieve consensus (t is the maximum number of crashed processes, and all processes must know this value of t). In [17] , consensus in anonymous systems with different synchrony assumptions is also solved (that is, they assume that the system is not totally asynchronous but with partial synchrony). In the technical report [11] , an algorithm is presented using the failure detector {A£2', AS') to solve consensus in anonymous systems where all processes are interconnected using FIFO reliable links (hence, their anonymous system is stronger than the system we present in this paper). Nevertheless, their solution allows to solve consensus even if a majority of processes crashes. Not only in anonymous message-passing systems the consensus problem is solved, but also several solutions are presented in the literature to achieve consensus in anonymous shared memory systems [3, 4, 9, 14] . In all of them, consensus is implemented in
doi:10.1007/s11227-015-1460-6 fatcat:gpyw2uczojfx7j3ztctturuy3u