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.
Similar content being viewed by others
Notes
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).
In an anonymous system, the input values are the only way to distinguish processes.
Let us notice that this is the only place in the proof where the algorithm requires more than \((n-1)\) MWMR atomic registers.
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)
Aguilera, M.: A pleasant stroll through the land of infinitely many creatures. ACM SIGACT News DC Column 35(2), 36–59 (2004)
Attiya, H., Gorbach, A., Moran, S.: Computing in totally anonymous asynchronous shared memory systems. Inf. Comput. 173(2), 162–183 (2002)
Attiya, H., Guerraoui, R., Hendler, D., Kuznetsov, P.: The complexity of obstruction-free implementations. J. ACM 56(4), 24:1–24:33 (2009)
Aspnes, J., Herlihy, M.: Fast randomized consensus using shared memory. J. Algorithms 11, 441–461 (1990)
Bonnet, F., Raynal, M.: Anonymous asynchronous systems: the case of failure detectors. Distrib. Comput. 26(3), 141–158 (2013)
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)
Borowsky, E., Gafni, E., Lynch, N., Rajsbaum, S.: The BG distributed simulation algorithm. Distrib. Comput. 14(3), 127–146 (2001)
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)
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)
Chandra, T., Hadzilacos, V., Toueg, S.: The weakest failure detector for solving consensus. J. ACM 43(4), 685–722 (1996)
Chaudhuri, S.: More choices allow more faults: set consensus problems in totally asynchronous systems. Inf. Comput. 105, 132–158 (1993)
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)
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)
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)
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)
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)
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)
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)
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)
Guerraoui, R., Ruppert, E.: Anonymous and fault-tolerant shared-memory computations. Distrib. Comput. 20, 165–177 (2007)
Herlihy, M.P.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)
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)
Herlihy, M.P., Shavit, N.: The topological structure of asynchronous computability. J. ACM 46(6), 858–923 (1999)
Herlihy, M.P., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann, Burlington (2008). ISBN 978-0-12-370591-4
Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)
Lamport, L.: Concurrent reading and writing. Commun. ACM 20(11), 806–811 (1977)
Lamport, L.: On interprocess communication, part I: basic formalism. Distrib. Comput. 1(2), 77–85 (1986)
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)
Merritt, M., Taubenfeld, G.: Computing with infinitely many processes. Inf. Comput. 233, 12–31 (2013)
Peterson, G.L.: Concurrent reading while writing. ACM Trans. Program. Lang. Syst. 5, 46–55 (1983)
Raynal, M.: Concurrent Programming: Algorithms, Principles, and Foundations. Springer, Berlin (2013). ISBN 978-3-642-32026-2
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)
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)
Saks, M., Zaharoglou, F.: Wait-free k-Set agreement is impossible: the topology of public knowledge. SIAM J. Comput. 29(5), 1449–1483 (2000)
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)
Taubenfeld, G.: Synchronization Algorithms and Concurrent Programming. Pearson Education/Prentice Hall, Upper Saddle River (2006). ISBN 0-131-97259-6
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)
Yamashita, M., Kameda, T.: Computing on anonymous networks: part II-decision and membership problems. IEEE Trans. Parallel Distrib. Syst. 7(1), 90–96 (1996)
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)
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)
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)
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
Corresponding author
Additional information
A preliminary version of parts of this article appeared in [9].
Rights and permissions
About this article
Cite this article
Bouzid, Z., Raynal, M. & Sutra, P. Anonymous obstruction-free (n, k)-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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-017-0301-7