Nearly thirty years ago, it was shown that $\Omega(\sqrt{n})$ registers are needed to solve obstruction-free consensus among $n$ processes. This lower bound was improved to $n$ registers in 2018, which exactly matches the best upper bound. The $\Omega(\sqrt{n})$ space complexity lower bound actually applies to a class of objects called historyless objects, which includes registers, test-and-set objects, and readable swap objects. However, every known $n$-process obstruction-free consensus algorithm from historyless objects uses $\Omega (n)$ objects. We give the first $\Omega (n)$ space complexity lower bounds on consensus algorithms for two kinds of historyless objects. First, we show that any obstruction-free consensus algorithm from swap objects uses at least $n-1$ objects. More generally, we prove that any obstruction-free $k$-set agreement algorithm from swap objects uses at least $\lceil \frac{n}{k}\rceil - 1$ objects. This is the first non-constant lower bound on the space complexity of solving $k$-set agreement with swap objects when $k > 1$. We also present an obstruction-free $k$-set agreement algorithm from $n-k$ swap objects, exactly matching our lower bound when $k=1$. Second, we show that any obstruction-free binary consensus algorithm from readable swap objects with domain size $b$ uses at least $\frac{n-2}{3b+1}$ objects. Since any historyless object can be simulated by a readable swap object with the same domain, our results imply that any obstruction-free consensus algorithm from historyless objects with domain size $b$ uses at least $\frac{n-2}{3b+1}$ objects. For $b = 2$, we show a slightly better lower bound of $n-2$. The best known obstruction-free binary consensus algorithm from readable swap objects with domain size $2$ uses $2n-1$ objects, asymptotically matching our lower bound.
翻译:约三十年前,已有研究证明,解决 $n$ 个进程间的无阻塞共识问题至少需要 $\Omega(\sqrt{n})$ 个寄存器。该下界于 2018 年被改进为 $n$ 个寄存器,恰好匹配最佳上界。$\Omega(\sqrt{n})$ 的空间复杂度下界实际上适用于一类称为无历史对象的对象,包括寄存器、测试-设置对象以及可读交换对象。然而,所有已知的基于无历史对象的 $n$ 进程无阻塞共识算法均使用 $\Omega(n)$ 个对象。本文针对两类无历史对象,首次给出了共识算法空间复杂度的 $\Omega(n)$ 下界。首先,我们证明任何基于交换对象的无阻塞共识算法至少需要使用 $n-1$ 个对象。更一般地,我们证明任何基于交换对象的无阻塞 $k$-集合共识算法至少需要使用 $\lceil \frac{n}{k} \rceil - 1$ 个对象。这是当 $k > 1$ 时,使用交换对象解决 $k$-集合共识问题空间复杂度的首个非常数下界。我们还提出了一种基于 $n-k$ 个交换对象的无阻塞 $k$-集合共识算法,当 $k=1$ 时该算法恰好匹配我们的下界。其次,我们证明任何基于域大小为 $b$ 的可读交换对象的无阻塞二元共识算法至少需要使用 $\frac{n-2}{3b+1}$ 个对象。由于任何无历史对象均可由相同域的不可读交换对象模拟,我们的结果意味着任何基于域大小为 $b$ 的无历史对象的无阻塞共识算法至少需要使用 $\frac{n-2}{3b+1}$ 个对象。当 $b = 2$ 时,我们给出了一个稍优的下界 $n-2$。目前已知最佳的基于域大小为 $2$ 的可读交换对象的无阻塞二元共识算法使用 $2n-1$ 个对象,与我们的下界渐近匹配。