Skip to main content

A Pleasant Stroll Through the Land of Distributed Machines, Computation, and Universality

  • Conference paper
  • First Online:
Book cover Machines, Computations, and Universality (MCU 2018)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10881))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 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. 2.

    This paper received the Dijkstra Prize in 2013.

  3. 3.

    This paper received the Dijkstra Prize in 2005.

  4. 4.

    This paper received the Dijkstra Prize in 2011.

  5. 5.

    This paper received the Dijkstra Prize in 2000

  6. 6.

    This paper received the Dijkstra Prize in 2003

  7. 7.

    [16] This paper received the Dijkstra Prize in 2002

  8. 8.

    The second of these papers received the Dijkstra Prize in 2007.

  9. 9.

    These papers received the Dijkstra Prize in 2010.

  10. 10.

    These papers received the Dijkstra Prize in 2015.

References

  1. Afek, Y., Attiya, H., Dolev, D., Gafni, E., Merritt, M., Shavit, N.: Atomic snapshots of shared memory. J. ACM 40(4), 873–890 (1993)

    Article  Google Scholar 

  2. Attiya, H., Bar-Noy, A., Dolev, D.: Sharing memory robustly in message-passing systems. J. ACM 42(1), 121–132 (1995)

    Article  Google Scholar 

  3. Attiya, H., Bar-Noy, A., Dolev, D., Peleg, D., Reischuk, R.: Renaming in an asynchronous environment. J. ACM 37(3), 524–548 (1990)

    Article  MathSciNet  Google Scholar 

  4. Attiya, H., Ellen, F.: Impossibility Results in Distributed Computing. Synthesis Lectures on Distributed Computing Theory, 146 pages. Morgan & Claypool, San Rafael (2014)

    Google Scholar 

  5. Awerbuch, B.: Complexity of network synchronization. J. ACM 4, 804–823 (1985)

    Article  MathSciNet  Google Scholar 

  6. 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)

    Google Scholar 

  7. Brinch Hansen, P.: The Origin of Concurrent Programming, 534 pages. Springer, New York (2002). https://doi.org/10.1007/978-1-4757-3472-0

  8. 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

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  10. 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

    Chapter  Google Scholar 

  11. Chandra, T.D., Hadzilacos, V., Toueg, S.: The weakest failure detector for solving consensus. J. ACM 43(4), 685–722 (1996)

    Article  MathSciNet  Google Scholar 

  12. Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. J. ACM 43(2), 225–267 (1996)

    Article  MathSciNet  Google Scholar 

  13. Dolev, D., Dwork, C., Stockmeyer, L.: On the minimal synchronism needed for distributed consensus. J. ACM 34(1), 77–97 (1987)

    Article  MathSciNet  Google Scholar 

  14. Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the presence of partial synchrony. J. ACM 35(2), 288–323 (1988)

    Article  MathSciNet  Google Scholar 

  15. 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)

    Article  MathSciNet  Google Scholar 

  16. Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)

    Article  MathSciNet  Google Scholar 

  17. 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)

    Article  MathSciNet  Google Scholar 

  18. Harel D., Feldman, Y.: Algorithmics: The Spirit of Computing, 572 pages. Springer, Heidelberg (2012)

    Google Scholar 

  19. Herlihy, M.P.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)

    Article  Google Scholar 

  20. Herlihy, M.P., Kozlov, D., Rajsbaum, S.: Distributed Computing Through Combinatorial Topology, 336 pages. Morgan Kaufmann/Elsevier (2014). ISBN 9780124045781

    Chapter  Google Scholar 

  21. 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)

    Google Scholar 

  22. Herlihy, M.P., Rajsbaum, S., Raynal, M.: Power and limits of distributed computing shared memory models. Theoret. Comput. Sci. 509, 3–24 (2013)

    Article  MathSciNet  Google Scholar 

  23. Herlihy, M., Shavit, N.: The topological structure of asynchronous computability. J. ACM 46(6), 858–923 (1999)

    Article  MathSciNet  Google Scholar 

  24. Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming, 508 pages. Morgan Kaufmann (2008). ISBN 978-0-12-370591-4

    Google Scholar 

  25. Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)

    Article  Google Scholar 

  26. 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)

    Google Scholar 

  27. 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)

    Google Scholar 

  28. Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)

    Article  Google Scholar 

  29. Linial, N.: Locality in distributed graph algorithms. SIAM J. Comput. 21(1), 193–201 (1992)

    Article  MathSciNet  Google Scholar 

  30. Loui, M., Abu-Amara, H.: Memory requirements for agreement among unreliable asynchronous processes. Adv. Comput. Res. 4, 163–183 (1987)

    MathSciNet  Google Scholar 

  31. Pease, M., Shostak, R., Lamport, L.: Reaching agreement in the presence of faults. J. ACM 27, 228–234 (1980)

    Article  MathSciNet  Google Scholar 

  32. 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)

    Google Scholar 

  33. 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)

    Google Scholar 

  34. 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)

    Article  MathSciNet  Google Scholar 

  35. 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)

    Google Scholar 

  36. 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)

    Article  MathSciNet  Google Scholar 

  37. Peleg, D.: Distributed Computing, A Locally-sensitive Approach. SIAM Monographs on Discrete Mathematics and Applications, 343 pages (2000)

    Google Scholar 

  38. 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)

    Google Scholar 

  39. Rajsbaum, S.: Indistinguishability. In: Talk at Yoram Moses Birthday Celebration, DISC (2017)

    Google Scholar 

  40. 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

    Book  Google Scholar 

  41. 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

  42. 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

    Chapter  Google Scholar 

  43. Raynal, M.: Distributed universal constructions: a guided tour. Bull. Eur. Assoc. Theoret. Comput. Sci. (EATCS) 121(1), 64–96 (2017)

    MathSciNet  Google Scholar 

  44. Raynal, M.: Fault-Tolerant Message-Passing Distributed Systems: An Algorithmic Approach, 560 pages. Springer (to appear, 2018)

    Google Scholar 

  45. 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

    Chapter  Google Scholar 

  46. Santoro, N., Widmayer, P.: Agreement in synchronous networks with ubiquitous faults. Theoret. Comput. Sci. 384(2–3), 232–249 (2007)

    Article  MathSciNet  Google Scholar 

  47. Schneider, F.B.: Implementing fault-tolerant services using the state machine approach. ACM Comput. Surv. 22(4), 299–319 (1990)

    Article  Google Scholar 

  48. 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

    Chapter  Google Scholar 

  49. Taubenfeld, G.: Synchronization Algorithms and Concurrent Programming, 423 pages. Pearson Education/Prentice Hall, Upper Saddle River (2006). ISBN 0-131-97259-6

    Google Scholar 

  50. 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

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michel Raynal .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics