This paper studies the decidability of task problems, i.e., distributed problems expressed as sets of distributed tasks. Specifically, we introduce a new class of task problems called Set of Output Sets (SOS) problems. An SOS problem $Π_O$ is defined by a set $O$ (called SOS), and requires that the set of sets of distinct output values produced across all executions corresponds exactly to $O$. We then demonstrate that this class of problems is decidable: there is a procedure determining whether any SOS problem is solvable asynchronously under $f$ crashes. The decision rule is as follows. Every SOS problem is solvable when $f=0$. For $f > 0$, an SOS problem is solvable if and only if the graph $G=(O,\subset)$ is connected. In this graph, each vertex is an output set in $O$, and two vertices are linked by an edge whenever one output set includes the other. One of the surprising implications of our results is that, replacing validity by a completeness property (which guarantees that all output sets of size at most $k$ are produced), $k$-set agreement is solvable under any number of crashes $f \geq 0$ for $k>1$, and unsolvable under $f>0$ crashes only for $k=1$ (consensus). Finally, we study a novel family of problems called $d$-disagreement, which requires the system to always produce $d$ different output values, and we show that its implementability condition is related to the harmonic series.
翻译:暂无翻译