Abstract
The notion of weak failures, which should be viewed as fractions of traditional failures, is introduced and studied. It is known that there is no consensus algorithm using registers that can tolerate even a single crash failure. Is there a consensus algorithm using registers that can tolerate a “fraction” of a crash failure, i.e., a weak failure? It is known that there is no k-set consensus algorithm for \(n>k\) processes using registers that can tolerate k crash failures. How many weak failures can a k-set consensus algorithm which uses registers tolerate? Answers to these questions follow from our general possibility and impossibility results regarding the ability to tolerate weak failures.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
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)
Afek, Y., Dolev, D., Gafni, E., Merritt, M., Shavit, N.: A bounded first-in, first-enabled solution to the \(\ell \)-exclusion problem. ACM Trans. Program. Lang. Syst. 16(3), 939–953 (1994)
Anderson, J.H.: Composite registers. Distrib. Comput. 6(3), 141–154 (1993)
Borowsky, E., Gafni, E.: Generalizecl FLP impossibility result for \(t\)-resilient asynchronous computations. In: Proceedings of 25th ACM Symposium on Theory of Computing, pp. 91–100 (1993)
Delporte-Gallet, C., Fauconnier, H., Guerraoui, R., Tielmanns, A.: The disagreement power of an adversary. Distrib. Comput. 24(3), 137–147 (2011)
Dijkstra, E.W.: Solution of a problem in concurrent programming control. Commun. ACM 8(9), 569 (1965)
Fischer, M.J., Lynch, N.A., Burns, J.E., Borodin, A.: Distributed FIFO allocation of identical resources using small shared space. ACM Trans. Program. Lang. Syst. 11(1), 90–114 (1989)
Fischer, M.J., Lynch, N.A., Burns, J.E., Borodin, A.: Resource allocation with immunity to limited process failure. In: Proceedings of 20th IEEE Symposium on Foundations of Computer Science, pp. 234–254, October 1979
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)
Guerraoui, R.: Indulgent algorithms. In: Proceedings of 19th ACM Symposium on Principles of Distributed Computing, pp. 289–298 (2000)
Guerraoui, R., Raynal, M.: The information structure of indulgent consensus. IEEE Trans. Comput. 53(4), 453–466 (2004)
Herlihy, M.P., Shavit, N.: The topological structure of asynchronous computability. J. ACM 46(6), 858–923 (1999)
Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998)
Loui, M.C., 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(2), 228–234 (1980)
Peterson, G.L.: Observations on \(\ell \)-exclusion. In: 28th Annual Allerton Conference on Communication, Control and Computing, pp. 568–577, October 1990
Raynal, M.: Algorithms for Mutual Exclusion. The MIT Press, Cambridge (1986). Translation of: Algorithmique du parallélisme (1984)
Saks, M., Zaharoglou, F.: Wait-free \(k\)-set agreement is impossible: the topology of public knowledge. SIAM J. Comput. 29, 1449–1483 (2000)
Taubenfeld, G.: Synchronization Algorithms and Concurrent Programming, p. 423. Pearson/Prentice-Hall, London/Upper Saddle River (2006). ISBN 0-131-97259-6
Taubenfeld, G.: A closer look at fault tolerance. In: Proceedings of 31st ACM Symposium on Principles of Distributed Computing, pp. 261–270 (2012)
Taubenfeld, G., Katz, S., Moran, S.: Initial failures in distributed computations. Int. J. Parallel Program. 18(4), 255–276 (1989)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A A Formal Definition of the k-Exclusion Problem
A A Formal Definition of the k-Exclusion Problem
The k-exclusion problem, which is a natural generalization of the mutual exclusion problem is to design a protocol which guarantees that up to k processes and no more may simultaneously access identical copies of the same non-sharable resource when there are several competing processes. That is, k processes are permitted to be in their critical section simultaneously. A solution is required to withstand the slow-down or even the crash (fail by stopping) of up to \(k -1\) of processes. For \(k =1\), the 1-exclusion problem is the exactly mutual exclusion problem.
To illustrate the k-exclusion problem, consider the case of buying a ticket for a bus ride. Here a resource is a seat on the bus, and the parameter k is the number of available seats. In the k-exclusion problem, a passenger needs only to make sure that there is some free seat on the bus, but not to reserve a particular seat.
More formally, it is assumed that each process is executing a sequence of instructions in an infinite loop. The instructions are divided into four continuous sections of code: the remainder, entry, critical section and exit. The k-exclusion problem is to write the code for the entry code and the exit code in such a way that the following basic requirements are satisfied.
-
k-exclusion: No more than k processes are at their critical section at the same time.
-
k-deadlock-freedom: If strictly fewer than k processes fail (are delayed forever) then if a process is trying to enter its critical section, then some process, not necessarily the same one, eventually enters its critical section.
The k-deadlock-freedom requirement may still allow “starvation” of individual processes. It is possible to consider stronger progress requirements which do not allow starvation.
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Taubenfeld, G. (2019). Weak Failures: Definitions, Algorithms and Impossibility Results. In: Podelski, A., Taïani, F. (eds) Networked Systems. NETYS 2018. Lecture Notes in Computer Science(), vol 11028. Springer, Cham. https://doi.org/10.1007/978-3-030-05529-5_4
Download citation
DOI: https://doi.org/10.1007/978-3-030-05529-5_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-05528-8
Online ISBN: 978-3-030-05529-5
eBook Packages: Computer ScienceComputer Science (R0)