We consider deterministic distributed algorithms solving Consensus in synchronous networks of arbitrary topologies. Links are prone to failures. Agreement is understood as holding in each connected component of a network obtained by removing faulty links. We introduce the concept of stretch, which is a function of the number of connected components of a network and their respective diameters. Fast and early-stopping algorithms solving Consensus are defined by referring to stretch resulting in removing faulty links. We develop algorithms that rely only on nodes knowing their own names and the ability to associate communication with local ports. A network has $n$ nodes and it starts with $m$ functional links. We give a general algorithm operating in time $n$ that uses messages of $O(\log n)$ bits. If we additionally restrict executions to be subject to a bound $\Lambda$ on stretch, then there is a fast algorithm solving Consensus in time $O(\Lambda)$ using messages of $O(\log n)$ bits. Let $\lambda$ be an unknown stretch occurring in an execution; we give an algorithm working in time $(\lambda+2)^3$ and using messages of $O(n\log n)$ bits. We show that Consensus can be solved in the optimal $O(\lambda)$ time, but at the cost of increasing message size to $O(m\log n)$. We also demonstrate how to solve Consensus by an algorithm that uses only $O(n)$ non-faulty links and works in time $O(n m)$, while nodes start with their ports mapped to neighbors and messages carry $O(m\log n)$ bits. We prove lower bounds on performance of Consensus solutions that refer to parameters of evolving network topologies and the knowledge available to nodes.
翻译:我们考虑在同步的任意表层网络中确定分布式算法,在同步的任意表层网络中解决共识。 链接容易发生故障。 协议被理解为在通过清除错误链接获得的网络的每个连接组件中持有。 我们引入了拉伸概念, 这是网络连接组件数量及其各自的直径的函数。 快速和早期停止算法的解决共识是通过提及导致消除错误链接的拉伸来定义的。 我们开发的算法仅依赖于知道自己名称的节点和与本地端端连接能力的节点。 网络有美元节点, 以百万美元的功能链接开始。 我们用美元的时间运行一般算法, 使用美元( log nn) 的信号。 如果我们进一步限制处决, 美元( lam\\ labdda) 则使用一个快速算法解决共识, 美元( lambda) 的讯息只能用美元( logn nf) 。 美元( lamada) 来说明我们如何在某个执行过程中找到一个未知的缩数 。 我们用美元 美元 的算算 。