Efficient Computation in Congested Anonymous Dynamic Networks
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. However, fast algorithms for anonymous dynamic networks rely on the construction and communication 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 though 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 Ω(n^2/log n) rounds in congested networks. 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.
READ FULL TEXT