摘要 Abstract
匿名动态网络是由不可区分的过程组成的网络,其通信链路会随时间不可预测地出现或消失。先前的研究表明,在这些过程中确定性地计算多集输入值的任意函数仅需要线性的通信轮数(Di Luna-Viglietta, FOCS 2022)。然而,匿名动态网络的快速算法依赖于构建和传输称为“历史树”的大型数据结构,其大小为过程数量的多项式。如果网络拥塞且只能通过其链路发送对数大小的消息,则这种方法不可行。由于过程的匿名性结合网络的动态特性,逐段发送大消息并不构成解决方案。此外,已知某些基本任务如所有节点间的令牌传播(通过单令牌转发)在拥塞网络中需要$\Omega(n^2/\log n)$轮次(Dutta等,SODA 2013)。在这项工作中,我们开发了一系列实用高效的技巧,使得可以在拥塞的匿名动态网络中使用历史树。我们展示了如何在这种网络中以$O(n^3)$的通信轮数计算任意函数,大大改进了先前拥塞网络的最佳算法。
An anonymous dynamic network is a network of indistinguishable processes whose communication links may appear or disappear unpredictably over time. Previous research has shown that deterministically computing an arbitrary function of a multiset of input values given to these processes takes only a linear number of communication rounds (Di Luna-Viglietta, FOCS 2022). However, fast algorithms for anonymous dynamic networks rely on the construction and transmission of large data structures called "history trees", whose size is polynomial in the number of processes. This approach is unfeasible if the network is congested, and only messages of logarithmic size can be sent through its links. Observe that sending a large message piece by piece over several rounds is not in itself a solution, due to the anonymity of the processes combined with the dynamic nature of the network. Moreover, it is known that certain basic tasks such as all-to-all token dissemination (by means of single-token forwarding) require $\Omega(n^2/\log n)$ rounds in congested networks (Dutta et al., SODA 2013). In this work, we develop a series of practical and efficient techniques that make it possible to use history trees in congested anonymous dynamic networks. Among other applications, we show how to compute arbitrary functions in such networks in $O(n^3)$ communication rounds, greatly improving upon previous state-of-the-art algorithms for congested networks.