Linearization: Locally Self-Stabilizing Sorting in Graphs [chapter]

Melih Onus, Andrea Richa, Christian Scheideler
2007 2007 Proceedings of the Ninth Workshop on Algorithm Engineering and Experiments (ALENEX)  
We consider the problem of designing a distributed algorithm that, given an arbitrary connected graph G of nodes with unique labels, converts G into a sorted list of nodes. This algorithm should be as simple as possible and, for scalability, should guarantee a polylogarithmic runtime as well as at most a polylogarithmic increase in the degree of each node during its execution. Furthermore, it should be selfstabilizing, that is, it should be able to eventually construct a sorted list from any
more » ... te in which the graph is connected. It turns out that satisfying all of these demands at the same time is not easy. Our basic approach towards this goal is the so-called linearization technique: each node v repeatedly does the following with its neighbors: • for its left (i.e., smaller) neighbors u1, . . . , u k in the order of decreasing labels, v replaces {v, u1}, . . . , {v, u k } by {v, u1}, {u1, u2}, . . . , {u k−1 , u k }, and • for its right (i.e., larger) neighbors w1, . . . , w in the order of increasing labels, v replaces {v, w1}, . . . , {v, w } by {v, w1}, {w1, w2}, . . . , {w −1 , w }. As shown in this paper, this technique transforms any connected graph into a sorted list, but there are graphs for which this can take a long time. Hence, we propose several extensions of the linearization technique and experimentally evaluate their performance. Our results indicate that some of these have a polylogarithmic performance, so there is hope that there are distributed algorithms that can achieve all of our goals above.
doi:10.1137/1.9781611972870.10 dblp:conf/alenex/OnusRS07 fatcat:6ahnrchidzclndgedzxgxgt6ka