Advertisement

What Can be Computed in a Distributed System?

  • Michel Raynal
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8415)

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, many problems become impossible to solve (in these cases, a network of Turing machines where some machines may crash, is less powerful than a single reliable Turing machine). 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 first presents a few of elements related to distributed computability, and then briefly addresses distributed complexity issues. The style of the paper is voluntarily informal.

Keywords

Agreement Asynchronous system Atomicity Concurrency Consensus Crash failure Distributed complexity Distributed computability Distributed computing Environment Fault-tolerance Impossibility Indulgence Message adversary Message-passing system Progress condition Read/write system Synchronous system Universal construction Wait-freedom 

References

  1. 1.
    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)zbMATHCrossRefGoogle Scholar
  2. 2.
    Afek, Y., Gafni, E.: Asynchrony from synchrony. In: Frey, D., Raynal, M., Sarkar, S., Shyamasundar, R.K., Sinha, P. (eds.) ICDCN 2013. LNCS, vol. 7730, pp. 225–239. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  3. 3.
    Attiya, H., Bar-Noy, A., Dolev, D.: Sharing memory robustly in message passing systems. Journal of the ACM 42(1), 121–132 (1995)zbMATHCrossRefGoogle Scholar
  4. 4.
    Attiya, H., Bar-Noy, A., Dolev, D., Peleg, D., Reischuk, R.: Renaming in an asynchronous environment. Journal of the ACM 37(3), 524–548 (1990)MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Attiya, H., Ellen, F., Fatourou, P.: The complexity of updating snapshot objects. Journal of Parallel and Distributed Computing 71(12), 1570–1577 (2010)zbMATHCrossRefGoogle Scholar
  6. 6.
    Attiya, H., Welch, J.L.: Distributed computing: fundamentals, simulations and advanced topics, 2nd edn., 414 pages. Wiley-Interscience (2004) ISBN 0-471-45324-2Google Scholar
  7. 7.
    Ben-Or, M.: Another advantage of free choice: completely asynchronous agreement protocol. In: Proc. 2nd ACM Symposium on Principles of Distributed Computing (PODC 1983), pp. 27–30. ACM Press (1983)Google Scholar
  8. 8.
    Bonnet, F., Raynal, M.: A simple proof of the necessity of the failure detector Σ to implement an atomic register in asynchronous message-passing systems. Information Processing Letters 110(4), 153–157 (2010)MathSciNetzbMATHCrossRefGoogle Scholar
  9. 9.
    Brewer, E.A.: Pushing the CAP: strategies for consistency and availability. IEEE Computer 45(2), 23–29 (2012)CrossRefGoogle Scholar
  10. 10.
    Castañeda, A., Rajsbaum, S.: New combinatorial topology bounds for renaming: The upper bound. Journal of the ACM 59(1), Article 3, 49 pages (2012)Google Scholar
  11. 11.
    Castañeda, A., Rajsbaum, S., Raynal, M.: The renaming problem in shared memory systems: an introduction. Elsevier Computer Science Review 5, 229–251 (2011)zbMATHCrossRefGoogle Scholar
  12. 12.
    Chandra, T., Toueg, S.: Unreliable failure detectors for reliable distributed systems. Journal of the ACM 43(2), 225–267 (1996)MathSciNetzbMATHCrossRefGoogle Scholar
  13. 13.
    Chandra, T., Hadzilacos, V., Toueg, S.: The weakest failure detector for solving consensus. Journal of the ACM 43(4), 685–722 (1996)MathSciNetzbMATHCrossRefGoogle Scholar
  14. 14.
    Delporte-Gallet, C., Fauconnier, H., Guerraoui, R.: Tight failure detection bounds on atomic object implementations. Journal of the ACM 57(4), Article 22 (2010)Google Scholar
  15. 15.
    Delporte-Gallet, C., Fauconnier, H., Toueg, S.: The minimum information about failures for solving non-local tasks in message-passing systems. Distributed Computing 24, 255–269 (2011)zbMATHCrossRefGoogle Scholar
  16. 16.
    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)MathSciNetzbMATHCrossRefGoogle Scholar
  17. 17.
    Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. Journal of the ACM 32(2), 374–382 (1985)MathSciNetzbMATHCrossRefGoogle Scholar
  18. 18.
    Fraigniaud, P., Korman, A., Peleg, D.: Towards a complexity theory for local distributed computing. Journal of the ACM 60(5), Article 35, 16 pages (2013)MathSciNetzbMATHCrossRefGoogle Scholar
  19. 19.
    Friedman, R., Mostéfaoui, A., Rajsbaum, S., Raynal, M.: Asynchronous agreement and its relation with error-correcting codes. IEEE Transactions on Computers 56(7), 865–875 (2007)MathSciNetzbMATHCrossRefGoogle Scholar
  20. 20.
    Gilbert, S., Lynch, N.A.: Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. ACM SIGACT News 33(2), 51–59 (2002)CrossRefGoogle Scholar
  21. 21.
    Guerraoui, R.: Indulgent algorithms. In: Proc. 19th ACM Symposium on Principles of Distributed Computing (PODC 2000), pp. 289–298. ACM Press (2000)Google Scholar
  22. 22.
    Guerraoui, G., Kapalka, M., Kouznetsov, P.: The weakest failure detectors to boost obstruction-freedom. Distributed Computing 20(6), 415–433 (2008)zbMATHCrossRefGoogle Scholar
  23. 23.
    Guerraoui, R., Lynch, N.A.: A general characterization of indulgence. ACM Transactions on Autonomous and Adaptive Systems 3(4), Article 20 (2008)Google Scholar
  24. 24.
    Guerraoui, R., Raynal, M.: The information structure of indulgent consensus. IEEE Transactions on Computers 53(4), 453–466 (2004)CrossRefGoogle Scholar
  25. 25.
    Harel, D., Feldman, Y.: Algorithmics, the spirit of computing, 572 pages. Springer (2012)Google Scholar
  26. 26.
    Hélary, J.-M., Hurfin, M., Mostéfaoui, A., Raynal, M., Tronel, F.: Computing global functions in asynchronous distributed systems with perfect failure detectors. IEEE Transactions on Parallel and Distributed Systems 11(9), 897–909 (2000)CrossRefGoogle Scholar
  27. 27.
    Herlihy, M.P.: Wait-free synchronization. ACM Transactions on Programming Languages and Systems 13(1), 124–149 (1991)CrossRefGoogle Scholar
  28. 28.
    Herlihy, M.P., Kozlov, D., Rajsbaum, S.: Distributed computing through combinatorial topology, 336 pages. Morgan Kaufmann/Elsevier (2014) ISBN 9780124045781Google Scholar
  29. 29.
    Herlihy, M.P., Luchangco, V., Moir, M.: Obstruction-free synchronization: double-ended queues as an example. In: Proc. 23rd Int’l IEEE Conference on Distributed Computing Systems (ICDCS 2003), pp. 522–529. IEEE Press (2003)Google Scholar
  30. 30.
    Herlihy, M.P., Rajsbaum, S., Raynal, M.: Power and limits of distributed computing shared memory models. Theoretical Computer Science 509, 3–24 (2013)MathSciNetzbMATHCrossRefGoogle Scholar
  31. 31.
    Herlihy, M.P., Shavit, N.: The topological structure of asynchronous computability. Journal of the ACM 46(6), 858–923 (1999)MathSciNetzbMATHCrossRefGoogle Scholar
  32. 32.
    Herlihy, M.P., Shavit, N.: The art of multiprocessor programming, 508 pages. Morgan Kaufmann (2008) ISBN 978-0-12-370591-4Google Scholar
  33. 33.
    Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems 12(3), 463–492 (1990)CrossRefGoogle Scholar
  34. 34.
    Imbs, D., Raynal, M.: The weakest failure detector to implement a register in asynchronous systems with hybrid communication. Theoretical Computer Science 512, 130–142 (2013)MathSciNetzbMATHCrossRefGoogle Scholar
  35. 35.
    Imbs, D., Raynal, M., Taubenfeld, G.: On asymmetric progress conditions. In: Proc. 29th ACM Symposium on Principles of Distributed Computing (PODC 2010), pp. 55–64. ACM Press (2010)Google Scholar
  36. 36.
    Jayanti, P., Toueg, S.: Every problem has a weakest failure detector. In: Proc. 27th ACM Symposium on Principles of Distributed Computing (PODC 2008), pp. 75–84. ACM Press (2008)Google Scholar
  37. 37.
    Kuhn, F., Lynch, N.A., Oshman, R.: Distributed computation in dynamic networks. In: Proc. 42nd ACM Symposium on Theory of Computing (STOC 2010), pp. 513–522. ACM Press (2010)Google Scholar
  38. 38.
    Kuhn, F., Moscibroda, T., Wattenhofer, R.: What cannot be computed locally! In: Proc. 23rd ACM Symposium on Principles of Distributed Computing (PODC 2004), pp. 300–309. ACM Press (2004)Google Scholar
  39. 39.
    Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21(7), 558–565 (1978)zbMATHCrossRefGoogle Scholar
  40. 40.
    Lamport, L.: On inter-process communications, Part I: Basic formalism. Distributed Computing 1(2), 77–85 (1986)MathSciNetzbMATHCrossRefGoogle Scholar
  41. 41.
    Linial, N.: Locality in distributed graph algorithms. SIAM Journal on Computing 21(1), 193–201 (1992)MathSciNetzbMATHCrossRefGoogle Scholar
  42. 42.
    Loui, M., Abu-Amara, H.: Memory requirements for agreement among unreliable asynchronous processes. Advances in Computing Research 4, 163–183 (1987)MathSciNetGoogle Scholar
  43. 43.
    Lynch, N.A.: Distributed algorithms, 872 pages. Morgan Kaufmann (1996)Google Scholar
  44. 44.
    Mostéfaoui, A., Rajsbaum, S., Raynal, M.: Conditions on input vectors for consensus solvability in asynchronous distributed systems. Journal of the ACM 50(6), 922–954 (2003)MathSciNetzbMATHCrossRefGoogle Scholar
  45. 45.
    Mostéfaoui, A., Rajsbaum, S., Raynal, M.: Synchronous condition-based consensus. Distributed Computing 18(5), 325–343 (2006)zbMATHCrossRefGoogle Scholar
  46. 46.
    Naor, M., Stockmeyer, L.: What can be computed locally? In: Proc. 25th ACM Symposium on Theory of Computing (STOC 1993), pp. 184–193. ACM Press (1993)Google Scholar
  47. 47.
    Pease, M., Shostak, R., Lamport, L.: Reaching agreement in the presence of faults. Journal of the ACM 27, 228–234 (1980)MathSciNetzbMATHCrossRefGoogle Scholar
  48. 48.
    Peleg, D.: Distributed computing, a locally sensitive approach. SIAM Monographs on Discrete Mathematics and Applications, 343 pages (2000) ISBN 0-89871-464-8Google Scholar
  49. 49.
    Raynal, M.: Communication and agreement abstractions for fault-tolerant asynchronous distributed systems, 251 pages. Morgan & Claypool Pub. (2010) ISBN 978-1-60845-293-4Google Scholar
  50. 50.
    Raynal, M.: Fault-tolerant agreement in synchronous message-passing systems, 165 pages. Morgan & Claypool Publishers (2010) ISBN 978-1-60845-525-6Google Scholar
  51. 51.
    Raynal, M.: Concurrent programming: algorithms, principles, and foundations, 530 pages. Springer (2013) ISBN 978-3-642-32026-2Google Scholar
  52. 52.
    Raynal, M.: Distributed algorithms for message-passing systems, 515 pages. Springer, ISBN: 978-3-642-38122-5Google Scholar
  53. 53.
    Raynal, M., Stainer, J.: Round-based synchrony weakened by message adversaries vs asynchrony enriched with failure detectors. In: Proc. 33rd ACM Symposium on Principles of Distributed Computing (PODC 2013), pp. 166–175. ACM Press (2013)Google Scholar
  54. 54.
    Raynal, M., Stainer, J., Cao, J., Wu, W.: A simple broadcast algorithm for recurrent dynamic systems. In: Proc. 28th IEEE Int’l Conference on Advanced Information Networking and Applications (AINA 2014), 8 pages. IEEE Press (2014)Google Scholar
  55. 55.
    Santoro, N., Widmayer, P.: Time is not a healer. In: Cori, R., Monien, B. (eds.) STACS 1989. LNCS, vol. 349, pp. 304–316. Springer, Heidelberg (1989)CrossRefGoogle Scholar
  56. 56.
    Santoro, N., Widmayer, P.: Agreement in synchronous networks with ubiquitous faults. Theoretical Computer Science 384(2-3), 232–249 (2007)MathSciNetzbMATHCrossRefGoogle Scholar
  57. 57.
    Taubenfeld, G.: Synchronization algorithms and concurrent programming, 423 pages. Pearson Education/Prentice Hall (2006) ISBN 0-131-97259-6Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Michel Raynal
    • 1
    • 2
    • 3
  1. 1.Institut Universitaire de FranceFrance
  2. 2.IRISAUniversité de RennesFrance
  3. 3.Department of ComputingPolytechnic UniversityHong Kong

Personalised recommendations