Abstract.
The condition-based approach for consensus solvability consists of identifying sets of input vectors, called conditions, for which there exists an asynchronous protocol solving consensus despite the occurrence of up to f process crashes. This paper investigates \(\mathcal{C}_f\), the largest set of conditions which allow us to solve the consensus problem in an asynchronous shared memory system.
The first part of the paper shows that \(\mathcal{C}_f\) is made up of a hierarchy of classes of conditions, \(\mathcal{C}^{[d]}_f\) where d is a parameter (called degree of the condition), starting with \(d = \min(n-f,\allowbreak f)\) and ending with d = 0, where \(\mathcal{C}^{[0]}_f = \mathcal{C}_f\). We prove that each one is strictly contained in the previous one: \(\mathcal{C}^{[d]}_f\subset\mathcal{C}^{[d-1]}_f\). Various properties of the hierarchy are also derived. It is shown that a class can be characterized in two equivalent but complementary ways: one is convenient for designing protocols while the other is for analyzing the class properties. The paper also defines a linear family of conditions that can be used to derive many specific conditions. In particular, for each d, two natural conditions are presented.
The second part of the paper is devoted to the design of efficient condition-based protocols. A generic condition-based protocol is presented. This protocol can be instantiated with any condition C, \(C\in\mathcal{C}^{[d]}_f\), and requires at most \((2n + 1) \lceil{\log_2(\lceil{(f-d)/2\rceil} + 1)}\) shared memory read/write operations per process in the synchronization part of the protocol. Thus, the value (f-d) represents the “ difficulty” of the class \(\mathcal{C}^{[d]}_f\). An improvement of the protocol for the conditions in \(\mathcal{C}^{[0]}_f\) is also presented.
Similar content being viewed by others
References
Afek Y., Attiya H., Dolev D., Gafni E., Merritt M., Shavit N., Atomic Snapshots of Shared Memory. Journal of the ACM 40(4), 873-890 (1993)
Aguilera M.K., Toueg S., Failure Detection and Randomization: a Hybrid Approach to Solve Consensus. SIAM Journal of Computing 28(3), 890-903 (1998)
Attiya H., Herlihy M.P., Rachman O., Atomic Snapshots Using Lattice Agreement, Distributed Computing 8(3), 121-132 (1995)
Attiya H., Rachman O., Atomic Snapshots in O(\(n\log n\)) Operations. SIAM Journal of Computing 27(2), 319-340 (1998)
Attiya H., Welch J., Distributed Computing: Fundamentals, Simulations and Advanced Topics, McGraw-Hill, 451 pages (1998)
Ben-Or M., Another Advantage of Free Choice: Completely Asynchronous Agreement Protocols. Proc. 2nd ACM Symposium on Principles of Distributed Computing (PODC’83), ACM Press, pp. 27-30, Montréal, Canada (1983)
Berman P., Garay J., Adaptability and the Usefulness of Hints. 6th European Symposium on Algorithms (ESA’98), Springer, LNCS #1461, pp. 271-282, Venice, Italy (1998)
Borowsky E., Gafni E., Lynch N.A., Rajsbaum S., The BG Distributed Simulation Algorithm. Distributed Computing 14(3), 127-146 (2001)
Biran O., Moran S., Zaks S., A Combinatorial Characterization of the Distributed 1-Solvable Tasks. Journal of Algorithms 11, 420-440 (1990)
Biran O., Moran S., Zaks S., Deciding 1-Solvability of Distributed Tasks is NP-Hard. Proc. 16th International Workshop on Graph-Theoretic Concepts in Computer Science (WG’90), Springer, LNCS #484, pp. 206-220 (1990)
Chandra T., Toueg S., Unreliable Failure Detectors for Reliable Distributed Systems. Journal of ACM 43(2), 225-267 (1996)
Chaudhuri S., More Choices Allow More Faults: Set consensus Problems in Totally Asynchronous Systems. Information and Computation 105, 132-158 (1993)
Dwork C., Lynch N.A., Stockmeyer L., Consensus in the Presence of Partial Synchrony. Journal of ACM 35(2), 288-323 (1988)
Dolev D., Lynch N.A., Pinter S., Stark E.W., Weihl W.E., Reaching Approximate Agreement in the Presence of Faults. Journal of ACM 33(3), 499-516 (1986)
Fischer M.J., Lynch N.A., Paterson M.S., Impossibility of Distributed Consensus with One Faulty Process. Journal of ACM 32(2), 374-382 (1985)
Gafni E., Koutsoupias E., Three-Processor Tasks Are Undecidable. SIAM Journal of Computing 28(3), 970-983 (1999)
Herlihy M.P., Rajsbaum S., On the Decidability of Distributed Decision Tasks. Proc. 29th ACM Symposium on the Theory of Computing (STOC’97), ACM Press, pp. 589-598 (1997)
Herlihy M.P., Rajsbaum S., New Perspectives in Distributed Computing. Invited Talk, Proc. 24th Int. Symposium on Mathematical Foundations of Computer Science (MFCS’99), Springer, LNCS #1672, pp. 170-186 (1999)
Inoue M., Chen W., Masuzawa T., Tokura N., Linear-Time Snapshot Using Multi-Writer Multi-Reader Registers. Proc. 8th Int. Workshop on Distributed Algorithms (WDAG’94), Springer, LNCS #857, pp. 130-140 (1994)
Israeli A., Shaham A., Shirazi A., Linear-Time Snapshot Protocols for Unbalanced Systems. Proc. 7th Int. Workshop on Distributed Algorithms, Springer, LNCS #725, pp. 26-38 (1993)
Lynch N.A., Distributed Algorithms. Morgan Kaufmann Pub., San Francisco, CA, 872 pages (1996)
Mostéfaoui A., Rajsbaum S., Raynal M., Conditions on Input Vectors for Consensus Solvability in Asynchronous Distributed Systems. Proc. 33rd ACM Symposium on Theory of Computing (STOC’01), ACM Press, pp. 153-162, Hersonissos, Crete, Greece (2001)
Mostéfaoui A., Rajsbaum S., Raynal M., Roy M., A Hierarchy of Conditions for Consensus Solvability. Proc. 20th ACM Symposium on Principles of Distributed Computing (PODC’01), ACM Press, pp. 151-160, Newport, RI (2001)
Mostéfaoui A., Rajsbaum S., Raynal M., Roy M., Condition-Based Protocols for Set Agreement Problems, Proc. 16th Int. Symp. on Distributed Computing (DISC’02), Springer, LNCS #2508, pp. 48-62 (2002)
Mostéfaoui A., Rajsbaum S., Raynal M., Roy M., Efficient Condition-Based Consensus. Proc. 8th International Colloquium on Structural Information and Communication Complexity (SIROCCO’01), Carleton Scientific Press, pp. 275-293, Vall de Núria, Catalonia, Spain (2001)
Mostéfaoui A., Raynal M., Tronel F., The Best of Both Worlds: a Hybrid Approach to Solve Consensus. Proc. IEEE Int. Conf. on Dependable Systems and Networks (DSN’00, previously FTCS), pp. 513-522 (2000)
Taubenfeld G., Katz S., Moran S., Impossibility Results in the Presence of Multiple Faulty Processes. Information and Computation 113(2), 173-198 (1994)
Taubenfeld G., Moran S., Possibility and Impossibility Results in a Shared Memory Environment. Acta Informatica 35, 1-20 (1996)
Author information
Authors and Affiliations
Corresponding author
Additional information
Received: 15 November 2001, Accepted: 15 April 2003, Published online: 6 February 2004
Parts of it have previously appeared in [23] and [25].
Rights and permissions
About this article
Cite this article
Mostéfaoui, A., Rajsbaum, S., Raynal, M. et al. Condition-based consensus solvability: a hierarchy of conditions and efficient protocols. Distrib. Comput. 17, 1–20 (2004). https://doi.org/10.1007/s00446-003-0093-9
Issue Date:
DOI: https://doi.org/10.1007/s00446-003-0093-9