We consider deterministic distributed algorithms for reaching agreement in synchronous networks of arbitrary topologies. Links are bi-directional and prone to failures while nodes stay non-faulty at all times. A faulty link may omit messages. Agreement among nodes is understood as holding in each connected component of a network obtained by removing faulty links. We call ``disconnected agreement'' the algorithmic problem of reaching such agreement. We introduce the concept of stretch, which is the number of connected components of a network, obtained by removing faulty links, minus~$1$ plus the sum of diameters of connected components. We define the concepts of ``fast'' and ``early-stopping'' algorithms for disconnected agreement by referring to stretch. A network has $n$ nodes and $m$ links. Nodes are normally assumed to know their own names and ability to associate communication with local ports. If we additionally assume that a bound~$\Lambda$ on stretch is known to all nodes, then there is an algorithm for disconnected agreement working in time $O(\Lambda)$ using messages of $O(\log n)$ bits. We give a general disconnected agreement algorithm operating in~$n+1$ rounds that uses 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 disconnected agreement can be solved in the optimal $O(\lambda)$ time, but at the cost of increasing message size to~$O(m\log n)$. We also design 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 the performance of disconnected-agreement solutions that refer to the parameters of evolving network topologies and the knowledge available to nodes.
翻译:我们研究了在同步网络中任意拓扑结构下达成一致性的确定性分布式算法。网络链路为双向且可能发生故障,节点始终保持非故障状态。故障链路可能丢失消息。节点间的一致性定义为:在移除故障链路后的网络各连通分量中分别达成一致。我们将此类一致性达成的算法问题称为“断连一致性”。本文引入“伸展度”概念,其定义为移除故障链路后网络连通分量数减去1再加上各连通分量直径之和,并基于伸展度定义了断连一致性的“快速”与“早停”算法概念。网络包含n个节点和m条链路,假设节点已知自身名称并能通过本地端口关联通信。若进一步假设所有节点已知伸展度的上界Λ,则可设计时间复杂度为O(Λ)、消息长度为O(log n)比特的断连一致性算法。我们提出通用算法在n+1轮内完成断连一致性,消息长度为O(log n)比特。设λ为执行中发生的未知伸展度,我们给出时间复杂度(λ+2)^3、消息长度O(n log n)比特的算法。研究表明断连一致性可在最优O(λ)时间内解决,但需将消息长度增至O(m log n)比特。此外我们还设计了一种仅使用O(n)条非故障链路、时间复杂度O(n m)的算法,节点通过映射端口的邻居信息启动,消息负载为O(m log n)比特。最后,我们证明了断连一致性解决方案在演化网络拓扑参数与节点可用知识约束下的性能下界。