Distributed program checking: a paradigm for building self-stabilizing distributed protocols

The notion of distributed program checking as a means of making a distributed algorithm self-stabilizing is explored. A compiler that converts a deterministic synchronous protocol pi for static networks into a self-stabilizing version of pi for dynamic networks is described. If T/sub pi / is the time complexity of pi and D is a bound on the diameter of the final network, the compiled version of pi stabilizes in time O(D+T/sub pi /) and has the same space complexity as pi . The general method achieves efficient results for many specific noninteractive tasks. For instance, solutions for the shortest paths and spanning tree problems take O(D) to stabilize, an improvement over the previous best time of O(D/sup 2/).<<ETX>>

[1]  Shmuel Katz,et al.  Self-stabilizing extensions for message-passing systems , 1990, PODC '90.

[2]  Edsger W. Dijkstra,et al.  Self-stabilizing systems in spite of distributed control , 1974, CACM.

[3]  Jan K. Pachl,et al.  Uniform self-stabilizing rings , 1988, TOPL.

[4]  Baruch Awerbuch,et al.  Complexity of network synchronization , 1985, JACM.

[5]  Radia J. Perlman,et al.  Fault-Tolerant Broadcast of Routing Information , 1983, Comput. Networks.

[6]  Edsger W. Dijkstra,et al.  Self stabilization in spite of distributed control , 1974 .

[7]  Adrian Segall,et al.  Distributed network protocols , 1983, IEEE Trans. Inf. Theory.

[8]  Baruch Awerbuch,et al.  Dynamic networks are as fast as static networks , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[9]  Eric C. Rosen,et al.  Vulnerabilities of network control protocols: an example , 1981, CCRV.

[10]  Yossi Matias,et al.  Simple and Efficient Election Algorithms for Anonymous Networks , 1989, WDAG.

[11]  Mohamed G. Gouda,et al.  Stabilizing Communication Protocols , 1991, IEEE Trans. Computers.

[12]  Amos Israeli,et al.  Uniform self-stabilizing leader election , 1993 .

[13]  Amos Israeli,et al.  Self-Stabilizing Ring Orientation , 1990, WDAG.

[14]  Pierre A. Humblet,et al.  A Distributed Algorithm for Minimum-Weight Spanning Trees , 1983, TOPL.

[15]  Manuel Blum,et al.  Designing programs that check their work , 1989, STOC '89.

[16]  Amos Israeli,et al.  Token management schemes and random walks yield self-stabilizing mutual exclusion , 1990, PODC '90.

[17]  Andrew V. Goldberg,et al.  Parallel Symmetry-Breaking in Sparse Graphs , 1988, SIAM J. Discret. Math..

[18]  Moti Yung,et al.  Memory-Efficient Self Stabilizing Protocols for General Networks , 1990, WDAG.

[19]  Eric C. Rosen,et al.  The New Routing Algorithm for the ARPANET , 1980, IEEE Trans. Commun..

[20]  Andrew V. Goldberg,et al.  A new approach to the maximum flow problem , 1986, STOC '86.

[21]  Boaz Patt-Shamir,et al.  Self-stabilization by local checking and correction , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[22]  Andrew V. Goldberg,et al.  Network decomposition and locality in distributed computation , 1989, 30th Annual Symposium on Foundations of Computer Science.

[23]  Amos Israeli,et al.  Self-Stabilization of Dynamic Systems Assuming only Read/Write Atomicity , 1990, PODC.

[24]  R. Rubinfeld A mathematical theory of self-checking, self-testing and self-correcting programs , 1991 .