Skip to main content

Weak Failures: Definitions, Algorithms and Impossibility Results

  • Conference paper
  • First Online:
Networked Systems (NETYS 2018)

Part of the book series: Lecture Notes in Computer Science ((LNCCN,volume 11028))

Included in the following conference series:

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.

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

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

    Google Scholar 

  3. Anderson, J.H.: Composite registers. Distrib. Comput. 6(3), 141–154 (1993)

    Article  Google Scholar 

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

    Google Scholar 

  5. Delporte-Gallet, C., Fauconnier, H., Guerraoui, R., Tielmanns, A.: The disagreement power of an adversary. Distrib. Comput. 24(3), 137–147 (2011)

    Article  Google Scholar 

  6. Dijkstra, E.W.: Solution of a problem in concurrent programming control. Commun. ACM 8(9), 569 (1965)

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

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

  10. Guerraoui, R.: Indulgent algorithms. In: Proceedings of 19th ACM Symposium on Principles of Distributed Computing, pp. 289–298 (2000)

    Google Scholar 

  11. Guerraoui, R., Raynal, M.: The information structure of indulgent consensus. IEEE Trans. Comput. 53(4), 453–466 (2004)

    Article  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  13. Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998)

    Article  Google Scholar 

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

    MathSciNet  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  16. Peterson, G.L.: Observations on \(\ell \)-exclusion. In: 28th Annual Allerton Conference on Communication, Control and Computing, pp. 568–577, October 1990

    Google Scholar 

  17. Raynal, M.: Algorithms for Mutual Exclusion. The MIT Press, Cambridge (1986). Translation of: Algorithmique du parallélisme (1984)

    MATH  Google Scholar 

  18. Saks, M., Zaharoglou, F.: Wait-free \(k\)-set agreement is impossible: the topology of public knowledge. SIAM J. Comput. 29, 1449–1483 (2000)

    Google Scholar 

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

    Google Scholar 

  20. Taubenfeld, G.: A closer look at fault tolerance. In: Proceedings of 31st ACM Symposium on Principles of Distributed Computing, pp. 261–270 (2012)

    Google Scholar 

  21. Taubenfeld, G., Katz, S., Moran, S.: Initial failures in distributed computations. Int. J. Parallel Program. 18(4), 255–276 (1989)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gadi Taubenfeld .

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

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics