The k-set agreement problem is a generalization of the consensus problem. Namely, assuming that each process proposes a value, every non-faulty process should decide one of the proposed values, and no more than k different values should be decided. This is a hard problem in the sense that we cannot solve it in an asynchronous system, as soon as k or more processes may crash. One way to sidestep this impossibility result consists in weakening the termination property, requiring that a process must decide a value only 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. In this paper, we address and solve the challenging open problem of designing an obstruction-free k-set agreement algorithm using only (n-k+1) atomic registers. From a shared memory cost point of view, our algorithm is the best algorithm known so far, thereby establishing a new upper bound on the number of registers needed to solve the problem, and in comparison to the previous upper bound, its gain is (n-k) registers. We then extend this algorithm into a space-optimal solution for the repeated version of k-set agreement, and an x-obstruction-free solution that employs 0(n-k+x) atomic registers (with 1 <= x <= k < n).
@InProceedings{bouzid_et_al:LIPIcs.OPODIS.2015.18, author = {Bouzid, Zohir and Raynal, Michel and Sutra, Pierre}, title = {{Anonymous Obstruction-Free (n,k)-Set Agreement with n-k+1 Atomic Read/Write Registers}}, booktitle = {19th International Conference on Principles of Distributed Systems (OPODIS 2015)}, pages = {18:1--18:17}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-939897-98-9}, ISSN = {1868-8969}, year = {2016}, volume = {46}, editor = {Anceaume, Emmanuelle and Cachin, Christian and Potop-Butucaru, Maria}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.OPODIS.2015.18}, URN = {urn:nbn:de:0030-drops-66092}, doi = {10.4230/LIPIcs.OPODIS.2015.18}, annote = {Keywords: Anonymous processes, Asynchronous system, Atomic read/write register, Consensus, Fault-tolerance, \$k\$-Set agreement, Obstruction-freedom, Upper bound} }
Feedback for Dagstuhl Publishing