An asynchronous algorithm is described for rapidly constructing an overlay network in a peer-to-peer system where all nodes can in principle communicate with each other directly through an underlying network, but each participating node initially has pointers to only a handful of other participants. The output of the mechanism is a linked list of all participants sorted by their identifiers, which can be used as a foundation for building various linear overlay networks such as Chord or skip graphs. Assuming the initial pointer graph is weakly-connected with maximum degree d and the length of a node identifier is W , the mechanism constructs a binary search tree of nodes of depth O(W ) in expected O(W log n) time using expected O((d + W )n log n) messages of size O(W ) each. Furthermore, the algorithm has low contention: at any time there are only O(d) undelivered messages for any given recipient. A lower bound of Ω(d + log n) is given for the running time of any procedure in a related synchronous model that yields a sorted list from a degree-d weakly-connected graph of n nodes. We conjecture that this lower bound is tight and could be attained by further improvements to our algorithms.
For example, Angluin et al. REF describe an asynchronous distributed algorithm to quickly convert the nodes in a weakly-connected pointer graph into the leaves of a Patricia tree by the length of node identifiers.
Fast construction of overlay networks
SPAA '05
Computer Science