Abstract
In the 1980s, three related impossibility results emerged in the field of distributed computing. First, Fischer, Lynch, and Paterson demonstrated that deterministic consensus is unattainable in an asynchronous message-passing system when a single process may crash-stop. Subsequently, Loui and Abu-Amara showed the infeasibility of achieving consensus in asynchronous shared-memory systems, given the possibility of one crash-stop failure. Lastly, Santoro and Widmayer established the impossibility of consensus in synchronous message-passing systems with a single process per round experiencing send-omission faults.
In this paper, we revisit these seminal results. First, we observe that all these systems are equivalent in the sense of implementing each other. Then, we prove the impossibility of consensus in the synchronous system of Santoro and Widmayer, which is the easiest to reason about. Taking inspiration from Volzer’s proof pearl and from the Borowski-Gafni simulation, we obtain a remarkably simple proof.
We believe that a contemporary pedagogical approach to teaching these results should first address the equivalence of the systems before proving the consensus impossibility within the system where the result is most evident.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
\(n>2\) is required for the ABD shared-memory simulation algorithm and by the get-core algorithm.
- 2.
See Sect. 2.1 for a discussion of colorless tasks.
- 3.
This is an instance of the following first-order logic tautology: \(\exists y. \forall x .P(x,y)\rightarrow \forall x. \exists y . P(x,y)\).
References
Afek, A., Gafni, E.: A simple characterization of asynchronous computations. Theor. Comput. Sci. 561Part B, 88–95 (2015). ISSN 0304–3975. https://doi.org/10.1016/j.tcs.2014.07.022. http://www.sciencedirect.com/science/article/pii/S0304397514005659
Attiya, H., Bar-Noy, A., Dolev, D.: Sharing memory robustly in message-passing systems. J. ACM (JACM) 42(1), 124–142 (1995). ISSN 0004–5411. https://doi.org/10.1145/200836.200869
Attiya, H., Welch, J.: Distributed Computing: Fundamentals, Simulations, and Advanced Topics, vol. 19. Wiley, Hoboken (2004)
Berman, P., Garay, J.A., Perry, K.J.: Towards optimal distributed consensus. In: FOCS, vol. 89, pp. 410–415 (1989)
Bisping, B., et al.: Mechanical verification of a constructive proof for FLP. In: Blanchette, J.C., Merz, S. (eds.) ITP 2016. LNCS, vol. 9807, pp. 107–122. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-43144-4_7
Borowsky, E., Gafni, E.: Generalized FLP impossibility result for t-resilient asynchronous computations. In Proceedings of the Twenty-Fifth Annual ACM Symposium on Theory of Computing, STOC 1993, pp. 91–100 (1993). ACM. ISBN 978-0-89791-591-5. https://doi.org/10.1145/167088.167119
Chandy, M., Misra, J.: On the nonexistence of robust commit protocols (1985)
Constable, R.: Effectively nonblocking consensus procedures can execute forever-a constructive version of FLP (2011)
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. 32(2), 374–382 (1985). ISSN 0004–5411. https://doi.org/10.1145/3149.214121
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. In: Proceedings of the 2nd ACM SIGACT-SIGMOD Symposium on Principles of Database Systems, PODS 1983, pp. 1–7 (1985). Association for Computing Machinery, ISBN 978-0-89791-097-2. https://doi.org/10.1145/588058.588060
Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991). ISSN 0164–0925. https://doi.org/10.1145/114005.102808
Herlihy, M., Kozlov, D., Rajsbaum, S.: Distributed Computing Through Combinatorial Topology. Morgan Kaufmann, Burlington (2013). ISBN 978-0-12-404578-1
Herlihy, M., Shavit, N.: The topological structure of asynchronous computability. J. ACM (JACM) 46(6), 858–923 (1999)
Loui, M.C., Abu-Amara, H.H.: Memory requirements for agreement among unreliable asynchronous processes. Adv. Comput. Res. 4(163), 31 (1987)
Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, Burlington (1996)
Raynal, M., Roy, M.: A note on a simple equivalence between round-based synchronous and asynchronous models. In: 11th Pacific Rim International Symposium on Dependable Computing (PRDC 2005), p. 4 (2005). https://doi.org/10.1109/PRDC.2005.10
Saks, M., Zaharoglou, F.: Wait-free k-set agreement is impossible: the topology of public knowledge. 29(5):1449–1483 (2000). ISSN 0097–5397. https://doi.org/10.1137/S0097539796307698. https://epubs.siam.org/doi/abs/10.1137/S0097539796307698
Santoro, N., Widmayer, P.: Time is not a healer. In: Monien, B., Cori, R. (eds.) STACS 1989. LNCS, vol. 349, pp. 304–313. Springer, Heidelberg (1989). https://doi.org/10.1007/BFb0028994
Santoro, N., Widmayer, P.: Distributed function evaluation in the presence of transmission faults. In: Asano, T., Ibaraki, T., Imai, H., Nishizeki, T. (eds.) SIGAL 1990. LNCS, vol. 450, pp. 358–367. Springer, Heidelberg (1990). https://doi.org/10.1007/3-540-52921-7_85
Taubenfeld, G.: On the nonexistence of resilient consensus protocols. Inf. Process. Lett. 37(5), 285–289 (1991)
Völzer, H.: A constructive proof for FLP. 92(2), 83–87. http://www.sciencedirect.com/science/article/pii/S0020019004001887
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Gafni, E., Losa, G. (2023). Invited Paper: Time Is Not a Healer, but It Sure Makes Hindsight 20:20. In: Dolev, S., Schieber, B. (eds) Stabilization, Safety, and Security of Distributed Systems. SSS 2023. Lecture Notes in Computer Science, vol 14310. Springer, Cham. https://doi.org/10.1007/978-3-031-44274-2_6
Download citation
DOI: https://doi.org/10.1007/978-3-031-44274-2_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-44273-5
Online ISBN: 978-3-031-44274-2
eBook Packages: Computer ScienceComputer Science (R0)