Abstract
We show that consensus can be solved by an alternating sequence of adopt-commit objects (Gafni in Proceedings of the seventeenth annual ACM symposium on principles of distributed computing, pp 143–152, 1998; Alistarh et al. in ISAAC, Lecture notes in computer science, vol 5878. Springer, Berlin, pp 943–953, 2009), which detect agreement, and conciliators, which ensure agreement with some probability. We observe that most known randomized consensus algorithms have this structure. We give a deterministic implementation of an m-valued adopt-commit object for an unbounded number of processes that uses lg m + Θ(log log m) space and individual work. We also give a randomized conciliator for any number of values in the probabilistic-write model with n processes that guarantees agreement with constant probability while using one multi-writer register, O(log n) expected individual work, and Θ(n) expected total work. Combining these objects gives a consensus protocol for the probabilistic-write model that uses O(log m + log n) individual work and O(n log m) total work. No previous protocol in this model uses sublinear individual work or linear total work for constant m.
Similar content being viewed by others
References
Gafni, E.: Round-by-round fault detectors: unifying synchrony and asynchrony (extended abstract). In: Proceedings of the Seventeenth Annual ACM Symposium on Principles of Distributed Computing, pp. 143–152 (1998)
Alistarh D., Gilbert S., Guerraoui R., Travers C.: Of choices, failures and asynchrony: the many faces of set agreement. In: Dong, Y., Du, D.Z., Ibarra, O.H. (eds) ISAAC, Lecture Notes in Computer Science, vol 5878, pp. 943–953. Springer, Berlin (2009)
Pease, M., Shostak, R., Lamport, L.:Reaching agreement in the presence of faults. J. ACM 27(2), 228–234 (1980), doi:10.1145/322186.322188
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985), doi:10.1145/3149.214121, http://portal.acm.org/citation.cfm?id=214121
Loui, M.C., Abu-Amara, H.H.: Memory requirements for agreement among unreliable asynchronous processes. Adv. Comput. Res. 163–183 (1987)
Ben-Or, M.: Another advantage of free choice: Completely asynchronous agreement protocols (extended abstract). In: Proceedings of the Second Annual ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, Montreal, Quebec, Canada, pp. 27–30 (1983)
Abrahamson, K.: On achieving consensus using a shared memory. In: Proceedings of the 7th Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 291–302 (1988)
Aspnes J.: Randomized protocols for aynchronous consensus. Distribut. Comput. 16(2–3), 165–176 (2003)
Herlihy M.: Wait-free synchronization. ACM Trans. Progr. Lang. Syst. 13(1), 124–149 (1991)
Attiya H., Censor K.: Tight bounds for asynchronous randomized consensus. J. ACM 55(5), 20 (2008)
Aspnes, J., Censor, K.: Approximate shared-memory counting despite a strong adversary. ACM Transactions on Algorithms 6(2), 1–23 (2010), doi:10.1145/1721837.1721841
Attiya H., Censor-Hillel K.: Lower bounds for randomized consensus under a weak adversary. SIAM J. Comput. 39(8), 3885–3904 (2010)
Aumann, Y.: Efficient asynchronous consensus with the weak adversary scheduler. In: PODC ’97: Proceedings of the Sixteenth Annual ACM Symposium on Principles of Distributed Computing. ACM, New York, NY, USA, pp. 209–218 (1997), doi:10.1145/259380.259441
Cheung, L.: Randomized wait-free consensus using an atomicity assumption. In: Principles of Distributed Systems, 9th International Conference, OPODIS 2005, Pisa, Italy, December 12–14, 2005, Revised Selected Papers, Lecture Notes in Computer Science. Springer, Berlin, vol. 3974, pp. 47–60 (2006)
Babai, L.: Monte-carlo algorithms in graph isomorphism testing. Tech. Rep. D.M.S. 79-10, Université de Montréal (1979)
Aspnes J., Herlihy M.: Fast randomized consensus using shared memory. J. Algorithms 11(3), 441–461 (1990)
Chandra, T.D.: Polylog randomized wait-free consensus. In: Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing, Philadelphia, Pennsylvania, USA, pp. 166–175 (1996)
Aumann, Y., Bender, M.A.: Efficient low-contention asynchronous consensus with the value-oblivious adversary scheduler. Distribut. Comput. 17(3), 191–207 (2005), doi:10.1007/s00446-004-0113-4
Chor B., Israeli A., Li M.: Wait-free consensus using asynchronous hardware. SIAM J. Comput. 23(4), 701–712 (1994)
Ramamurthy, S., Moir, M., Anderson, J.H.: Real-time object sharing with minimal system support. In: Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing. ACM, New York, NY, USA, pp. 233–242 (1996), doi:10.1145/248052.248098
Anderson, J.H., Jain, R., Ott, D.: Wait-free synchronization in quantum-based multiprogrammed systems. In: Distributed Computing; 12th International Symposium; Proceedings, Lecture Note in Computer Science. Springer, Andros, Greece, vol. 1499, pp. 34–45 (1998)
Anderson, J.H., Moir, M.: Wait-free synchronization in multiprogrammed systems: integrating priority-based and quantum-based scheduling. In: Proceedings of the Eighteenth Annual ACM Symposium on Principles of Distributed Computing. Atlanta, Georgia, USA, pp. 123–132 (1999)
Aspnes J.: Fast deterministic consensus in a noisy environment. J. Algorithms 45(1), 16–39 (2002)
Aspnes, J.: A modular approach to shared-memory consensus, with applications to the probabilistic-write model. In: Proceedings of the Twenty-Ninth Annual ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, pp. 460–467 (2010)
Aspnes J.: Time- and space-efficient randomized consensus. J. Algorithms 14(3), 414–431 (1993)
Censor-Hillel, K.: Multi-sided shared coins and randomized set-agreement. In: SPAA 2010: Proceedings of the 22nd Annual ACM Symposium on Parallel Algorithms and Architectures, Thira, Santorini, Greece, June 13–15, pp. 60–68 (2010)
Aspnes J., Waarts O.: Randomized consensus in expected O(N log2 N) operations per processor. SIAM J. Comput. 25(5), 1024–1044 (1996)
Aspnes, J., Attiya, H., Censor, K.: Randomized consensus in expected O(n log n) individual work. In: PODC ’08: Proceedings of the Twenty-Seventh ACM Symposium on Principles of Distributed Computing, pp. 325–334 (2008)
Bollobás B.: On generalized graphs. Acta Math. Hungarica 16(3), 447–452 (1965)
Jukna S.: Extremal Combinatorics: With Applications in Computer Science. Springer, Berlin (2001)
Author information
Authors and Affiliations
Corresponding author
Additional information
Supported in part by NSF grant CCF-0916389.
Rights and permissions
About this article
Cite this article
Aspnes, J. A modular approach to shared-memory consensus, with applications to the probabilistic-write model. Distrib. Comput. 25, 179–188 (2012). https://doi.org/10.1007/s00446-011-0134-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-011-0134-8