Skip to main content
Log in

The computational structure of progress conditions and shared objects

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

We study the effect of different progress conditions on the computability of distributed systems. For a system with n processes, we define exponentially many new progress conditions and explore their properties and relative strength. We cover many known and new interesting conditions and propose a new classification for evaluating the strength of shared objects. The classification is based on finding, for each object of type o, the strongest progress condition for which it is possible to solve consensus for any number of processes, using any number of objects of type o and atomic registers. Comparing our classification with the traditional one, which is based on fixing the progress condition (namely, wait-freedom) and finding the largest number of processes for which consensus is solvable, reveals interesting results. Together with our technical results, the new definitions provide a deeper understanding of synchronization and concurrency.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

Notes

  1. A swap operation takes as arguments a shared register and a local register, and atomically exchange their values.

  2. We notice that k-obstruction-freedom defined for a distinct system size is a distinct progress condition. By saying that it possible to solve consensus for any number of processes, assuming that the required progress condition is k-obstruction-freedom, we mean that it is possible to do so for any fixed number of processes n assuming that the required progress condition is k-obstruction-freedom for n processes.

  3. A test&set bit, say r, is a shared bit that supports two operations: (1) \( test \& set\), which writes 1 to r, and returns the old value (which is either 0 or 1); and (2) reset, which writes 0 into r (and does not return a value).

References

  1. Afek, Y., Ellen, F., Gafni, E.: Deterministic objects: life beyond consensus. In: Proceedings of the 35th ACM Symposium on Principles of Distributed Computing, pp. 97–106 (2016)

  2. Attiya, H., Guerraoui, R., Kouznetsov, P.: Computing with reads and writes in the absence of step contention. In: Proceedings of the 19th International Symposium on Distributed Computing, LNCS, vol. 3724, pp. 122–136 (2005)

  3. Aguilera, M.K., Toueg, S.: Timeliness-based wait-freedom: a gracefully degrading progress condition. In: Proceedings of 27th ACM Symposium on Principles of Distributed Computing, pp. 305–314 (2008)

  4. Bushkov, V., Guerraoui, R.: Safety-liveness exclusion in distributed computing. In: Proceedings of the 2015 ACM Symposium on Principles of Distributed Computing, pp. 227–236 (2015)

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

    Article  Google Scholar 

  6. Fich, F.E., Ruppert, E.: Hundreds of impossibility results for distributed computing. Distrib. Comput. 16(2–3), 121–163 (2003)

    Article  Google Scholar 

  7. Fich, E.F., Luchangco, V., Moir, M., Shavit, N.: Obstruction-free algorithms can be practically wait-free. In: Proceedings of the 19th International Symposium on Distributed Computing, LNCS, vol. 3724, pp. 78–92 (2005)

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

  9. Gafni, E., Guerraoui, R.: Simulating few by many: limited concurrency = set consensus. Unpublished manuscript (2009)

  10. Guerraoui, R., Herlihy, M.P., Pochon, B.: Towards a theory of transactional contention managers. In: Proceedings of the 24th Symposium on Principles of Dist. Computing, pp. 258–264 (2005)

  11. Gafni, E., Kuznetsov, P.: Turning adversaries into friends: simplified, made constructive, and extended. In: 14th International Conference on Principles of Distributed Systems (OPODIS 2010). LNCS, vol. 6490, pp. 380–394. Springer (2010)

  12. Guerraoui, R., Kapalka, M., Kouznetsov, P.: The weakest failure detectors to boost obstruction-freedom. Distrib. Comput. 20(6), 415–433 (2008)

    Article  Google Scholar 

  13. Gafni, E., Merritt, M., Taubenfeld, G.: The concurrency hierarchy, and algorithms for unbounded concurrency. In: Proceedings of the 20th ACM Symposium on Principles of Distributed Computing, pp. 161–169 (2001)

  14. Guerraoui, R., Kouznetsov, P.: Failure detectors as type boosters. Distrib. Comput. 20, 343–358 (2008)

    Article  Google Scholar 

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

    Article  Google Scholar 

  16. Herlihy, M.P., Luchangco, V., Moir, M.: Obstruction-free synchronization: double-ended queues as an example. In: Proceedings of the 23rd International Conference on Computational Computing Systems (2003)

  17. Herlihy, M., Rajsbaum, S.: The topology of distributed adversaries. Distrib. Comput. 26(3), 173–192 (2013)

    Article  Google Scholar 

  18. Herlihy, M., Shavit, N.: On the nature of progress. In: 15th International Conference on Principles of Distributed Systems (OPODIS 2011), 2011. LNCS, vol. 7109, pp. 313–328. Springer (2011)

  19. Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. TOPLAS 12(3), 463–492 (1990)

    Article  Google Scholar 

  20. Imbs, D., Raynal, M., Taubenfeld, G.: On asymmetric progress conditions. In: Proceedings of the 29th Annual ACM Symposium on Principles of Distributed Computing, pp. 55–64 (2010)

  21. Jayanti, P.: Robust wait-free hierarchies. J. ACM 44(4), 592–614 (1997)

    Article  MathSciNet  Google Scholar 

  22. Jayanti, P., Toueg, S.: Some results on the impossibility, universality, and decidability of consensus. In: Proceedings of the 6th International Workshop on Distributed Algorithms: LNCS, vol. 674, pp. 69–84 (1992)

  23. Lo, Wai-Kau, Hadzilacos, Vassos: All of us are smarter than any of us: nondeterministic wait-free hierarchies are not robust. SIAM J. Comput. 30(3), 689–728 (2000)

    Article  MathSciNet  Google Scholar 

  24. Luchangco, V., Moir, M., Shavit, N.: On the uncontended complexity of consensus. In: Proceedings of the 17th International Symposium on Distributed Computing, LNCS, vol. 2848, pp. 45–59 (2003)

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

    MathSciNet  Google Scholar 

  26. Merritt, M., Taubenfeld, G.: Resilient consensus for infinitely many processes. In: Proceedings of the 17th International Symposium on Distributed Computing, LNCS, vol. 2848, pp. 1–15 (2003)

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

    Article  MathSciNet  Google Scholar 

  28. Plotkin, S.A.: Sticky bits and universality of consensus. In: Proceedings of the 8th ACM Symposium on Principles of Distributed Computing, pp. 159–175 (1989)

  29. Raynal, M., Stainer, J., Taubenfeld, G.: Distributed universality. Algorithmica 76, 502–535 (2016)

    Article  MathSciNet  Google Scholar 

  30. Scherer, W.N., Scott, M.L.: Advanced contention management for dynamic software transactional memory. In: Proceedings of the 24th Symposium on Principles an of Distributed computing, pp. 240–248 (2005)

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

    Google Scholar 

  32. Taubenfeld, G.: On the nonexistence of resilient consensus protocols. Inf. Process. Lett. 37(5), 285–289 (1991)

    Article  MathSciNet  Google Scholar 

  33. Taubenfeld, G.: Contention-sensitive data structures and algorithms. In: Proceedings - 23rd International Symposium on Distributed Computing, Spain, 2009. LNCS, vol. 5805, pp. 157–171 (2009)

  34. Taubenfeld, G.: Contention-sensitive data structures and algorithms. Theor. Comput. Sci. 677, 41–55 (2017)

    Article  MathSciNet  Google Scholar 

  35. Taubenfeld, G.: On the computational power of shared objects. In: Proceedings of the 13th International Conference on Principles of Distributed Systems, France, 2009. LNCS, vol. 5923, pp. 270–284 (2009)

  36. Taubenfeld, G.: The computational structure of progress conditions. In: Proceedings of the 24th International Symposium on Distributed Computing, USA, 2010. LNCS, vol. 6343, pp. 221–235 (2010)

  37. Taubenfeld, G.: Coordination without prior agreement. In: Proc. ACM Symposium on Principles of Distributed Computing, PODC ’17, pp. 325–334 (2017)

  38. Taubenfeld, G.: Weak failures: definition, algorithms, and impossibility results. In: Proc. 6th Int’l Conference on Networked Systems (NETYS’18). LNCS, vol. 11028. Springer (2018)

  39. Taubenfeld, G.: Set agreement power is not a precise characterization for oblivious deterministic anonymous objects In: 26th International Colloquium on Structural Information and Communication Complexity (SIROCCO 2019) (2019)

Download references

Acknowledgements

I wish to thank the editor Eric Ruppert and three anonymous referees for their constructive comments and suggestions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gadi Taubenfeld.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Preliminary versions of the results presented in this paper appeared in: (1) the proceedings of the 13th international conf. on principles of distributed systems (OPODIS 2009, best paper award) [35], and (2) the proceedings of the 24th international symposium on distributed computing (DISC 2010) [36].

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Taubenfeld, G. The computational structure of progress conditions and shared objects. Distrib. Comput. 33, 103–123 (2020). https://doi.org/10.1007/s00446-019-00356-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-019-00356-0

Keywords

Navigation