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.
Chapter PDF
Similar content being viewed by others
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
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)
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)
Attiya, H., Bar-Noy, A., Dolev, D.: Sharing memory robustly in message passing systems. Journal of the ACM 42(1), 121–132 (1995)
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)
Attiya, H., Ellen, F., Fatourou, P.: The complexity of updating snapshot objects. Journal of Parallel and Distributed Computing 71(12), 1570–1577 (2010)
Attiya, H., Welch, J.L.: Distributed computing: fundamentals, simulations and advanced topics, 2nd edn., 414 pages. Wiley-Interscience (2004) ISBN 0-471-45324-2
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)
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)
Brewer, E.A.: Pushing the CAP: strategies for consistency and availability. IEEE Computer 45(2), 23–29 (2012)
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)
Castañeda, A., Rajsbaum, S., Raynal, M.: The renaming problem in shared memory systems: an introduction. Elsevier Computer Science Review 5, 229–251 (2011)
Chandra, T., Toueg, S.: Unreliable failure detectors for reliable distributed systems. Journal of the ACM 43(2), 225–267 (1996)
Chandra, T., Hadzilacos, V., Toueg, S.: The weakest failure detector for solving consensus. Journal of the ACM 43(4), 685–722 (1996)
Delporte-Gallet, C., Fauconnier, H., Guerraoui, R.: Tight failure detection bounds on atomic object implementations. Journal of the ACM 57(4), Article 22 (2010)
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)
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. Journal of the ACM 32(2), 374–382 (1985)
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)
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)
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)
Guerraoui, R.: Indulgent algorithms. In: Proc. 19th ACM Symposium on Principles of Distributed Computing (PODC 2000), pp. 289–298. ACM Press (2000)
Guerraoui, G., Kapalka, M., Kouznetsov, P.: The weakest failure detectors to boost obstruction-freedom. Distributed Computing 20(6), 415–433 (2008)
Guerraoui, R., Lynch, N.A.: A general characterization of indulgence. ACM Transactions on Autonomous and Adaptive Systems 3(4), Article 20 (2008)
Guerraoui, R., Raynal, M.: The information structure of indulgent consensus. IEEE Transactions on Computers 53(4), 453–466 (2004)
Harel, D., Feldman, Y.: Algorithmics, the spirit of computing, 572 pages. Springer (2012)
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)
Herlihy, M.P.: Wait-free synchronization. ACM Transactions on Programming Languages and Systems 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: Proc. 23rd Int’l 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. Theoretical Computer Science 509, 3–24 (2013)
Herlihy, M.P., Shavit, N.: The topological structure of asynchronous computability. Journal of the ACM 46(6), 858–923 (1999)
Herlihy, M.P., 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 Transactions on Programming Languages and Systems 12(3), 463–492 (1990)
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)
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)
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)
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)
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)
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21(7), 558–565 (1978)
Lamport, L.: On inter-process communications, Part I: Basic formalism. Distributed Computing 1(2), 77–85 (1986)
Linial, N.: Locality in distributed graph algorithms. SIAM Journal on Computing 21(1), 193–201 (1992)
Loui, M., Abu-Amara, H.: Memory requirements for agreement among unreliable asynchronous processes. Advances in Computing Research 4, 163–183 (1987)
Lynch, N.A.: Distributed algorithms, 872 pages. Morgan Kaufmann (1996)
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)
Mostéfaoui, A., Rajsbaum, S., Raynal, M.: Synchronous condition-based consensus. Distributed Computing 18(5), 325–343 (2006)
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)
Pease, M., Shostak, R., Lamport, L.: Reaching agreement in the presence of faults. Journal of the ACM 27, 228–234 (1980)
Peleg, D.: Distributed computing, a locally sensitive approach. SIAM Monographs on Discrete Mathematics and Applications, 343 pages (2000) ISBN 0-89871-464-8
Raynal, M.: Communication and agreement abstractions for fault-tolerant asynchronous distributed systems, 251 pages. Morgan & Claypool Pub. (2010) ISBN 978-1-60845-293-4
Raynal, M.: Fault-tolerant agreement in synchronous message-passing systems, 165 pages. Morgan & Claypool Publishers (2010) ISBN 978-1-60845-525-6
Raynal, M.: Concurrent programming: algorithms, principles, and foundations, 530 pages. Springer (2013) ISBN 978-3-642-32026-2
Raynal, M.: Distributed algorithms for message-passing systems, 515 pages. Springer, ISBN: 978-3-642-38122-5
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)
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)
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)
Santoro, N., Widmayer, P.: Agreement in synchronous networks with ubiquitous faults. Theoretical Computer Science 384(2-3), 232–249 (2007)
Taubenfeld, G.: Synchronization algorithms and concurrent programming, 423 pages. Pearson Education/Prentice Hall (2006) ISBN 0-131-97259-6
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Raynal, M. (2014). What Can be Computed in a Distributed System?. In: Bensalem, S., Lakhneck, Y., Legay, A. (eds) From Programs to Systems. The Systems perspective in Computing. Lecture Notes in Computer Science, vol 8415. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-54848-2_14
Download citation
DOI: https://doi.org/10.1007/978-3-642-54848-2_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-54847-5
Online ISBN: 978-3-642-54848-2
eBook Packages: Computer ScienceComputer Science (R0)