Empire of Colonies Self-stabilizing and Self-organizing Distributed Algorithms
Self-stabilization ensures automatic recovery from an arbitrary state; we define self-organization as a property of algorithms which display local attributes. More precisely, we say that an algorithm is self-organizing if (1) it converges in sublinear time and (2) reacts “fast” to topology changes. If s(n) is an upper bound on the convergence time and d(n) is an upper bound on the convergence time following a topology change, then s(n) ∈o(n) and d(n) ∈o(s(n)). The self-organization property can then be used for gaining, in sub-linear time, global properties and reaction to changes. We present self-stabilizing and self-organizing algorithms for many distributed algorithms, including distributed snapshot and leader election.
We present a new randomized self-stabilizing distributed algorithm for cluster definition in communication graphs of bounded degree processors. These graphs reflect sensor networks deployment. The algorithm converges in O(logn) expected number of rounds, handles dynamic changes locally and is, therefore, self-organizing. Applying the clustering algorithm to specific classes of communication graphs, in O(logn) levels, using an overlay network abstraction, results in a self-stabilizing and self-organizing distributed algorithm for hierarchy definition.
Given the obtained hierarchy definition, we present an algorithm for hierarchical distributed snapshot. The algorithms are based on a new basic snap-stabilizing snapshot algorithm, designed for message passing systems in which a distributed spanning tree is defined and in which processors communicate using bounded links capacity. The combination of the self-stabilizing and self-organizing distributed hierarchy construction and the snapshot algorithm form an efficient self-stabilizer transformer. Given a distributed algorithm for a specific task, we are able to convert the algorithm into a self-stabilizing algorithm for the same task with an expected convergence time of O(log2 n) rounds.
Unable to display preview. Download preview PDF.
- 1.Afek, Y., and Dolev, S., “Local Stabilizer,” Journal of Parallel and Distributed Computing, special issue on self-stabilizing distributed systems, Vol. 62, No. 5, pp. 745-765 (May 2002). Also in Proc. of the 5th Israeli Symposium on Theory of Computing and Systems, (ISTCS 1997), pp. 74-84, 1997.MATHGoogle Scholar
- 3.Bui, A., Datta, A.K., Petit, F., Villain, V.: State-optimal snap-stabilizing PIF in tree networks. In: Proceedings of the Third Workshop on Self-Stabilizing Systems, pp. 78–85 (1999)Google Scholar
- 4.Burman, J., Kutten, S., Herman, T., Patt-Shamir, B.: Asynchronous and Fully Self-Stabilizing Time-Adaptive Majority Consensus. In: 9th International Conference on Principels of Distributed Systems, OPODIS (2005)Google Scholar
- 6.Tanenbaum, A.: Computer Networking, 4th edn. Prentice Hall, Englewood Cliffs (2002)Google Scholar
- 7.Cournier, A., Datta, A., Petit, F., Villain, V.,: Enabling snap-stabilization. In: Proc. of the 23rd International Conference on Distributed Computing Systems, pp. 12–19 (2003)Google Scholar
- 8.Demirbas, M., Arora, A., Mittal, V.: FLOC: A fast local clustering service for wireless sensor networks. In: Workshop on Dependability Issues in Wireless Ad Hoc Networks and Sensor Networks (DIWNAS/DSN) (2004)Google Scholar
- 12.Dolev, S., Herman, T.: SuperStabilizing Protocols for Dynamic Distributed Systems. In: Proc. of the 2nd Workshop on Self-Stabilizing Systems (May 1995); Chicago Journal of Theoretical Computer Science, 3(4) special issue on self-stabilization (1997)Google Scholar
- 14.Dolev, S., Tzachar, N.: Colonies: Self-Stabilizing and Self-Organizing Distributed Algorithms, Technical report #06–01, Ben Gurion University of the Negev (October 2005), http://www.cs.bgu.ac.il/tzachar/papers/tech0601.pdf
- 15.Gärtner, F.C., Pagnia, H.: Time-Efficient Self-Stabilizing Algorithms through Hierarchical Structures. In: Proc. to the Sixth Symposium on Self-Stabilizing Systems, pp. 154–168 (2003)Google Scholar
- 16.Ghosh, S., Gupta, A., Herman, T., Pemmaraju, S.: Fault-Containing Self-Stabilizing Algorithms. In: PODC 1996, pp. 45–54 (1996)Google Scholar
- 18.Katz, S., Perry, K.: Self-stabilizing extensions for message-passing systems. In: Proceedings of the ninth annual ACM symposium on Principles of distributed computing, pp. 91–101 (1990)Google Scholar
- 19.Kirschenhofer, P., Prodinger, H.: A Result in Order Statistics Related to Probabilistic Counting. Computing 46, 15–27Google Scholar
- 20.Kutten, S., Peleg, D.: Tight Fault Locality. In: Annual Symposium on Foundations of Computer Science (FOCS) (1995)Google Scholar
- 21.Kuhn, F., Moscibroda, T., Wattenhofer, R.: What cannot be computed locally! In: Proceedings of the 23rd ACM Symposium on Principles of Distributed Computing (PODC), pp. 300–309 (2004)Google Scholar
- 23.Linial, N., London, E., Rabinovich, Y.: The Geometry of Graphs and Some of its Algorithmic Applications. In: Proceedings of the 35th Annual IEEE Symposium on Foundations of Computer Science, pp. 577–591 (October 1994)Google Scholar
- 25.Moscibroda, T., Wattenhofer, R.: Efficient Computation of Maximal Independent Sets in Unstructured Multi-Hop Radio Networks. In: The 1st IEEE International Conference on Mobile Ad-hoc and Sensor Systems, Fort Lauderdale, Florida (2004)Google Scholar
- 28.Zhang, H., Arora, A.: GS3: Scalable Self-configuration and Self-healing in Wireless Networks. In: Symposium on Principles of Distributed Computing, pp. 58–67 (2002)Google Scholar