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$ 个对象,与我们的下界渐近匹配。