Skip to main content
Log in

Anonymous obstruction-free (nk)-set agreement with \(n-k+1\) atomic read/write registers

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

The k-set agreement problem is a generalization of the consensus problem. Namely, assuming that each process proposes a value, every non-faulty process must decide one of the proposed values, under the constraint that at most k different values are decided. This is a hard problem in the sense that it cannot be solved in a pure read/write asynchronous system, in which k or more processes may crash. One way to sidestep this impossibility result consists in weakening the termination property, requiring only that a process decides if it executes alone during a long enough period of time. This is the well-known obstruction-freedom progress condition. Consider a system of n anonymous asynchronous processes that communicate through atomic read/write registers, and such that any number of them may crash. This paper addresses and solves the challenging open problem of designing an obstruction-free k-set agreement algorithm with only \((n-k+1)\) atomic registers. From a shared memory cost point of view, our algorithm is the best algorithm known to date, thereby establishing a new upper bound on the number of registers needed to solve this problem. For the consensus case \((k=1)\), the proposed algorithm is up to an additive factor of 1 close to the best known lower bound. Further, the paper extends this algorithm to obtain an x-obstruction-free solution to the k-set agreement problem that employs \((n-k+x)\) atomic registers (with \(1 \le x\le k<n\)), as well as a space-optimal solution for the repeated version of k-set agreement. Using this last extension, we prove that n registers are enough for every colorless task that is obstruction-free solvable with identifiers and any number of registers.

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

Similar content being viewed by others

Notes

  1. Let us observe here that single-writer/multi-reader registers are meaningless in anonymous systems. This is due to the fact that, as processes have no identity, it is not possible to link each of them to some specific registers (for which the process would be the only writer).

  2. In an anonymous system, the input values are the only way to distinguish processes.

  3. Let us notice that this is the only place in the proof where the algorithm requires more than \((n-1)\) MWMR atomic registers.

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  MATH  Google Scholar 

  2. Aguilera, M.: A pleasant stroll through the land of infinitely many creatures. ACM SIGACT News DC Column 35(2), 36–59 (2004)

    Article  Google Scholar 

  3. Attiya, H., Gorbach, A., Moran, S.: Computing in totally anonymous asynchronous shared memory systems. Inf. Comput. 173(2), 162–183 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  4. Attiya, H., Guerraoui, R., Hendler, D., Kuznetsov, P.: The complexity of obstruction-free implementations. J. ACM 56(4), 24:1–24:33 (2009)

  5. Aspnes, J., Herlihy, M.: Fast randomized consensus using shared memory. J. Algorithms 11, 441–461 (1990)

    Article  MathSciNet  MATH  Google Scholar 

  6. Bonnet, F., Raynal, M.: Anonymous asynchronous systems: the case of failure detectors. Distrib. Comput. 26(3), 141–158 (2013)

    Article  MATH  Google Scholar 

  7. Borowsky, E., Gafni, E.: Generalized FLP impossibility result for \(t\)-resilient asynchronous computations. In: Proceedings of 25-th nnual ACM Symposium on Theory of Computing (STOC’93), ACM Press, pp. 91–100 (1993)

  8. Borowsky, E., Gafni, E., Lynch, N., Rajsbaum, S.: The BG distributed simulation algorithm. Distrib. Comput. 14(3), 127–146 (2001)

    Article  Google Scholar 

  9. Bouzid, Z., Raynal, M., Sutra, P.: Anonymous obstruction-free \((n,k)\)-set agreement with \(n-k+1\) atomic read/write registers. In: Proceedings of 19th International Conference on Principles of Distributed Systems (OPODIS’15), Leibnitz International Proceedings in Informatics (LIPIcs), vol. 46, Article 18:1–17 (2015)

  10. Castañeda, A., Rajsbaum, S., Raynal, M.: Specifying concurrent problems: beyond linearizability and up to tasks. In: Proceedings of 29th Symposium on Distributed Computing (DISC’15), Springer LNCS 9363, pp. 420–435 (2015)

  11. Chandra, T., Hadzilacos, V., Toueg, S.: The weakest failure detector for solving consensus. J. ACM 43(4), 685–722 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  12. Chaudhuri, S.: More choices allow more faults: set consensus problems in totally asynchronous systems. Inf. Comput. 105, 132–158 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  13. Delporte, C, Fauconnier, H, Gafni, E., Rajsbaum, S.: Black art: obstruction-free \(k\)-set agreement with \(|\)MWMR registers\(| < |\)processes\(|\). In: Proceedings of First International Conference on Networked Systems (NETYS’13), Springer LNCS 7853, pp. 28–41 (2013)

  14. Delporte-Gallet, C., Fauconnier, H.: Two consensus algorithms with atomic registers and failure detector \(\Omega \). In: Proceedings of 10th International Conference on Distributed Computing and Networking (ICDCN’09), Springer LNCS 5408, pp. 251–262 (2009)

  15. Delporte, C., Fauconnier, H., Kuznetsov, P., Ruppert, E.: On the space complexity of set agreement. In: Proceedings of 34th International Symposium on Principles of Distributed Computing (PODC’15), ACM Press, pp. 271–280 (2015)

  16. Ellen Fich, F., Luchangco, V., Moir, M., Shavit, N.: Obstruction-free algorithms can be practically wait-free. In: Proceedings of 19th International Symposium on Distributed Computing (DISC’05), Springer LNCS 3724, pp. 78–92 (2005)

  17. 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  MATH  Google Scholar 

  18. Flocchini, P., Prencipe, G., Santoro, N., Widmayer, P.: Hard tasks for weak robots: the role of common knowledge in pattern formation by autonomous mobile robots. In: Proceedings of 10th International Symposium on Algorithms and Computation (ISAAC’99), Springer LNCS 1741, pp. 93–102 (1999)

  19. Friedman, R., Mostefaoui, A., Rajsbaum, S., Raynal, M.: Distributed agreement problems and their connection with error-correcting codes. IEEE Trans. Comput. 56(7), 865–875 (2007)

    Article  MathSciNet  Google Scholar 

  20. Gelashvili, R.: Optimal space complexity of consensus for anonymous processes. In: Proceedings of 29th Int’l Symposium on Distributed Computing (DISC’15), Springer LNCS 9363, pp. 452–466 (2015)

  21. Guerraoui, R., Ruppert, E.: Anonymous and fault-tolerant shared-memory computations. Distrib. Comput. 20, 165–177 (2007)

    Article  MATH  Google Scholar 

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

    Article  Google Scholar 

  23. Herlihy, M.P., Luchangco, V., Moir, M.: Obstruction-free synchronization: double-ended queues as an example. In: Proceedings of 23th International IEEE Conference on Distributed Computing Systems (ICDCS’03), IEEE Press, pp. 522–529 (2003)

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

    Article  MathSciNet  MATH  Google Scholar 

  25. Herlihy, M.P., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann, Burlington (2008). ISBN 978-0-12-370591-4

    Google Scholar 

  26. Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)

    Article  Google Scholar 

  27. Lamport, L.: Concurrent reading and writing. Commun. ACM 20(11), 806–811 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  28. Lamport, L.: On interprocess communication, part I: basic formalism. Distrib. Comput. 1(2), 77–85 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  29. Loui, M.C., Abu-Amara, H.H.: Memory requirements for agreement among unreliable asynchronous processes. Parallel and Distributed Computing: Vol. 4 of Advances in Computing Research, JAI Press, 4:163–183 (1987)

  30. Merritt, M., Taubenfeld, G.: Computing with infinitely many processes. Inf. Comput. 233, 12–31 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  31. Peterson, G.L.: Concurrent reading while writing. ACM Trans. Program. Lang. Syst. 5, 46–55 (1983)

    Article  MATH  Google Scholar 

  32. Raynal, M.: Concurrent Programming: Algorithms, Principles, and Foundations. Springer, Berlin (2013). ISBN 978-3-642-32026-2

    Book  MATH  Google Scholar 

  33. Raynal, M., Stainer, J.: From the \(\Omega \) and store-collect building blocks to efficient asynchronous consensus. In: Proceedings of 18th Interenational European Parallel Computing Conference (EUROPAR’12), Springer LNCS 7484, pp. 427–438 (2012)

  34. Saks, M., Shavit, N., Woll, H.: Optimal time randomized consensus—making resilient algorithms fast in practice. In: Proceedings of 2nd ACM/SIAM Symposium on Discrete Algorithms (SODA’90), ACM Press, pp. 351–362 (1991)

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

    Article  MathSciNet  MATH  Google Scholar 

  36. Suzuki, I., Yamashita, M.: Distributed anonymous mobile robots. In: Proceedings of 3rd International Colloquium on Structural Information and Communication Complexity (SIROCCO’96), Carleton University Press, pp. 313–330 (1996)

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

    Google Scholar 

  38. Taubenfeld, G.: Contention-sensitive data structure and algorithms. In: Proceedings of 23th International Symposium on Distributed Computing (DISC’09), Springer LNCS 5805, pp. 157–171 (2009)

  39. Yamashita, M., Kameda, T.: Computing on anonymous networks: part II-decision and membership problems. IEEE Trans. Parallel Distrib. Syst. 7(1), 90–96 (1996)

    Article  Google Scholar 

  40. Yanagisawa, N.: Wait-free solvability of colorless takss in anonymous shared-memory model. In: Proc. 18th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS’16), Springer LNCS 10083, pp. 415–429 (2016)

  41. Zhu, L.: Brief announcement: tight space bounds for memoryless anonymous consensus. In: Proceedings of 29th Symposium on Distributed Computing (DISC’15), Springer LNCS 9363, pp. 665–666 (2015)

  42. Zhu, L.: A tight space bound for consensus. In: Proc. 48th ACM Symposium on Theory of Computing (STOC’16), ACM Press, pp. 345–350 (2016)

Download references

Acknowledgements

The authors want to thank Rati Gelashvili for fruitful comments on a preliminary version of the paper, which gave rise to Sect. 8. They want to thank also the referees for their constructive comments, which helped them improve and simplify the presentation. This work was partially supported by the Franco-German DFG/ANR project DISCMAT devoted to connections between mathematics and distributed computing, and the French ANR project DESCARTES devoted to distributed software engineering.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michel Raynal.

Additional information

A preliminary version of parts of this article appeared in [9].

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bouzid, Z., Raynal, M. & Sutra, P. Anonymous obstruction-free (nk)-set agreement with \(n-k+1\) atomic read/write registers. Distrib. Comput. 31, 99–117 (2018). https://doi.org/10.1007/s00446-017-0301-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-017-0301-7

Keywords

Navigation