Abstract
Not only the world is distributed, but more and more applications are distributed. Hence, a fundamental question is the following one: What can be computed in a distributed system? The answer to this question depends on the environment in which evolves the considered distributed system, i.e., on the assumptions the system relies on. This environment is very often left implicit and nearly always not formulated in terms of precise underlying requirements. In the extreme case where the environment is such that there is no synchrony assumption and the computing entities may commit failures, some problems become impossible to solve. Given a distributed computing problem, it is consequently important to know the weakest assumptions (lower bounds) that give the limits beyond which the considered distributed problem cannot be solved. This paper is a short introduction to this kind of issues. It is made up of short sections, each addressing an important point of the theory of distributed computing. Its style is voluntarily informal.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
These articles were awarded the “Dijkstra Prize” (in 2000, 2001, and 2003, respectively). As stated in https://en.wikipedia.org/wiki/Dijkstra_Prize, this prize “is given for outstanding papers on the principles of distributed computing, whose significance and impact on the theory and/or practice of distributed computing has been evident for at least a decade”.
- 2.
This paper received the Dijkstra Prize in 2013.
- 3.
This paper received the Dijkstra Prize in 2005.
- 4.
This paper received the Dijkstra Prize in 2011.
- 5.
This paper received the Dijkstra Prize in 2000
- 6.
This paper received the Dijkstra Prize in 2003
- 7.
[16] This paper received the Dijkstra Prize in 2002
- 8.
The second of these papers received the Dijkstra Prize in 2007.
- 9.
These papers received the Dijkstra Prize in 2010.
- 10.
These papers received the Dijkstra Prize in 2015.
References
Afek, Y., Attiya, H., Dolev, D., Gafni, E., Merritt, M., Shavit, N.: Atomic snapshots of shared memory. J. ACM 40(4), 873–890 (1993)
Attiya, H., Bar-Noy, A., Dolev, D.: Sharing memory robustly in message-passing systems. J. ACM 42(1), 121–132 (1995)
Attiya, H., Bar-Noy, A., Dolev, D., Peleg, D., Reischuk, R.: Renaming in an asynchronous environment. J. ACM 37(3), 524–548 (1990)
Attiya, H., Ellen, F.: Impossibility Results in Distributed Computing. Synthesis Lectures on Distributed Computing Theory, 146 pages. Morgan & Claypool, San Rafael (2014)
Awerbuch, B.: Complexity of network synchronization. J. ACM 4, 804–823 (1985)
Ben-Or, M.: Another advantage of free choice: completely asynchronous agreement protocols. In: Proceedings of the 2nd ACM Symposium on Principles of Distributed Computing, pp. 27–30. ACM Press (1983)
Brinch Hansen, P.: The Origin of Concurrent Programming, 534 pages. Springer, New York (2002). https://doi.org/10.1007/978-1-4757-3472-0
Cachin, C.: State machine replication with Byzantine faults. In: Charron-Bost, B., Pedone, F., Schiper, A. (eds.) Replication. LNCS, vol. 5959, pp. 169–184. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-11294-2_9
Castañeda, A., Rajsbaum, S., Raynal, M.: The renaming problem in shared memory systems: an introduction. Elsevier Comput. Sci. Rev. 5, 229–251 (2011)
Castañeda, A., Rajsbaum, S., Raynal, M.: Specifying concurrent problems: beyond linearizability and up to tasks. In: Moses, Y. (ed.) DISC 2015. LNCS, vol. 9363, pp. 420–435. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48653-5_28
Chandra, T.D., Hadzilacos, V., Toueg, S.: The weakest failure detector for solving consensus. J. ACM 43(4), 685–722 (1996)
Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. J. ACM 43(2), 225–267 (1996)
Dolev, D., Dwork, C., Stockmeyer, L.: On the minimal synchronism needed for distributed consensus. J. ACM 34(1), 77–97 (1987)
Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the presence of partial synchrony. J. ACM 35(2), 288–323 (1988)
Fernández, A., Jiménez, E., Raynal, M., Trédan, G.: A timing assumption and two \(t\)-resilient protocols for implementing an eventual leader service in asynchronous shared-memory systems. Algorithmica 56(4), 550–576 (2010)
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)
Friedman, R., Mostéfaoui, A., Rajsbaum, S., Raynal, M.: Asynchronous agreement and its relation with error-correcting codes. IEEE Trans. Comput. 56(7), 865–875 (2007)
Harel D., Feldman, Y.: Algorithmics: The Spirit of Computing, 572 pages. Springer, Heidelberg (2012)
Herlihy, M.P.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)
Herlihy, M.P., Kozlov, D., Rajsbaum, S.: Distributed Computing Through Combinatorial Topology, 336 pages. Morgan Kaufmann/Elsevier (2014). ISBN 9780124045781
Herlihy, M.P., Luchangco, V., Moir, M.: Obstruction-free synchronization: double-ended queues as an example. In: Proceedings of the 23th International IEEE Conference on Distributed Computing Systems (ICDCS 2003), pp. 522–529. IEEE Press (2003)
Herlihy, M.P., Rajsbaum, S., Raynal, M.: Power and limits of distributed computing shared memory models. Theoret. Comput. Sci. 509, 3–24 (2013)
Herlihy, M., Shavit, N.: The topological structure of asynchronous computability. J. ACM 46(6), 858–923 (1999)
Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming, 508 pages. Morgan Kaufmann (2008). ISBN 978-0-12-370591-4
Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)
Imbs, D., Raynal, M., Taubenfeld, G.: On asymmetric progress conditions. In: Proceedings of the 29th ACM Symposium on Principles of Distributed Computing (PODC 2010), pp. 55–64. ACM Press (2010)
Kuhn, F., Lynch, N.A., Oshman, R.: Distributed computation in dynamic networks. In: Proceedings of the 42nd ACM Symposium on Theory of Computing (STOC 2010), pp. 513–522. ACM Press (2010)
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)
Linial, N.: Locality in distributed graph algorithms. SIAM J. Comput. 21(1), 193–201 (1992)
Loui, M., Abu-Amara, H.: Memory requirements for agreement among unreliable asynchronous processes. Adv. Comput. Res. 4, 163–183 (1987)
Pease, M., Shostak, R., Lamport, L.: Reaching agreement in the presence of faults. J. ACM 27, 228–234 (1980)
Mostéfaoui, A., Moumen, H., Raynal, M.: Signature-free asynchronous binary Byzantine consensus with \(t<n/3\), \(O(n^2)\) messages, and \(O(1)\) expected time. J. ACM 62(4), Article 31, 21 pages (2015)
Mostéfaoui, A., Perrin, M., Raynal, M.: A simple object that spans the whole Consensus hierarchy. Technical report, IRISA, Université de Rennes 1 (France), 6 pages (2017)
Mostéfaoui, A., Rajsbaum, S., Raynal, M.: Conditions on input vectors for consensus solvability in asynchronous distributed systems. J. ACM 50(6), 922–954 (2003)
Mostéfaoui, A., Raynal, M.: Two-bit messages are sufficient to implement atomic read/write registers in crash-prone systems. In: Proceedings 35th ACM Symposium on Principles of Distributed Computing (PODC 2016), pp. 381–390. ACM Press (2016)
Mostéfaoui, A., Raynal, M.: Signature-free asynchronous Byzantine systems: from multivalued to binary consensus with \(t<n/3\), \(O(n^2)\) messages, and constant time. Acta Informatica 54(5), 501–520 (2017)
Peleg, D.: Distributed Computing, A Locally-sensitive Approach. SIAM Monographs on Discrete Mathematics and Applications, 343 pages (2000)
Rabin M.O.: Randomized Byzantine generals. In: Proceedings of the 24th Annual Symposium on Foundations of Computer Science (FOCS 1983), pp. 403–409. IEEE Preess (1983)
Rajsbaum, S.: Indistinguishability. In: Talk at Yoram Moses Birthday Celebration, DISC (2017)
Raynal M., Concurrent Programming: Algorithms, Principles, and Foundations, 530 pages. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-32027-9. ISBN 978-3-642-32026-2
Raynal M., Distributed Algorithms for Message-Passing Systems, 515 pages. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38123-2. ISBN 978-3-642-38122-5
Raynal, M.: Parallel computing vs. distributed computing: a great confusion? (position paper). In: Hunold, S., et al. (eds.) Euro-Par 2015. LNCS, vol. 9523, pp. 41–53. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-27308-2_4
Raynal, M.: Distributed universal constructions: a guided tour. Bull. Eur. Assoc. Theoret. Comput. Sci. (EATCS) 121(1), 64–96 (2017)
Raynal, M.: Fault-Tolerant Message-Passing Distributed Systems: An Algorithmic Approach, 560 pages. Springer (to appear, 2018)
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.: Agreement in synchronous networks with ubiquitous faults. Theoret. Comput. Sci. 384(2–3), 232–249 (2007)
Schneider, F.B.: Implementing fault-tolerant services using the state machine approach. ACM Comput. Surv. 22(4), 299–319 (1990)
Schneider, F.B., Zhou, L.: Implementing trustworthy services using replicated state machines. In: Charron-Bost, B., Pedone, F., Schiper, A. (eds.) Replication. LNCS, vol. 5959, pp. 151–167. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-642-11294-2_8
Taubenfeld, G.: Synchronization Algorithms and Concurrent Programming, 423 pages. Pearson Education/Prentice Hall, Upper Saddle River (2006). ISBN 0-131-97259-6
Taubenfeld, G.: The computational structure of progress conditions. In: Lynch, N.A., Shvartsman, A.A. (eds.) DISC 2010. LNCS, vol. 6343, pp. 221–235. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-15763-9_23
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Raynal, M., Cao, J. (2018). A Pleasant Stroll Through the Land of Distributed Machines, Computation, and Universality. In: Durand-Lose, J., Verlan, S. (eds) Machines, Computations, and Universality. MCU 2018. Lecture Notes in Computer Science(), vol 10881. Springer, Cham. https://doi.org/10.1007/978-3-319-92402-1_2
Download citation
DOI: https://doi.org/10.1007/978-3-319-92402-1_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-92401-4
Online ISBN: 978-3-319-92402-1
eBook Packages: Computer ScienceComputer Science (R0)