A Time-Optimal Self-Stabilizing Synchronizer Using A Phase Clock

A synchronizer with a phase counter (sometimes called asynchronous phase clock) is an asynchronous distributed algorithm, where each node maintains a local "pulse counter" that simulates the global clock in a synchronous network. In this paper, we present a time-optimal self-stabilizing scheme for such a synchronizer, assuming unbounded counters. We give a simple rule by which each node can compute its pulse number as a function of its neighbors' pulse numbers. We also show that some of the popular correction functions for phase clock synchronization are not self-stabilizing in asynchronous networks. Using our rule, the counters stabilize in time bounded by the diameter of the network, without invoking global operations. We argue that the use of unbounded counters can be justified by the availability of memory for counters that are large enough to be practically unbounded and by the existence of reset protocols that can be used to restart the counters in some rare cases where faults will make this necessary.

[1]  Boaz Patt-Shamir,et al.  Bounding the unbounded [distributed computing protocols] , 1994, Proceedings of INFOCOM '94 Conference on Computer Communications.

[2]  Shimon Even,et al.  Unison, canon, and sluggish clocks in networks controlled by a synchronizer , 1995, Mathematical systems theory.

[3]  Nancy A. Lynch,et al.  An Upper and Lower Bound for Clock Synchronization , 1984, Inf. Control..

[4]  B. Awerbuch,et al.  Memory-eecient and Self-stabilizing Network Reset , 2007 .

[5]  J.-M. Couvreur,et al.  Asynchronous unison , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

[6]  Shlomi Dolev,et al.  Parallel composition of stabilizing algorithms , 1999, Proceedings 19th IEEE International Conference on Distributed Computing Systems.

[7]  Marina Papatriantafilou,et al.  On Self-Stabilizing Wait-Free Clock Synchronization , 1997, Parallel Process. Lett..

[8]  B. Awerbuch,et al.  Distributed program checking: a paradigm for building self-stabilizing distributed protocols , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[9]  Amos Israeli,et al.  Uniform Dynamic Self-Stabilizing Leader Election , 1997, IEEE Trans. Parallel Distributed Syst..

[10]  Anish Arora,et al.  Maintaining Digital Clocks In Step , 1991, WDAG.

[11]  Sukumar Ghosh,et al.  Stabilizing Phase-Clocks , 1995, Inf. Process. Lett..

[12]  Pradip K. Srimani,et al.  A self-stabilizing algorithm to synchronize digital clocks in a distributed system , 1994 .

[13]  Toshimitsu Masuzawa,et al.  SelfStabilizing WaitFree Clock Synchronization with Bounded Space , 1998, OPODIS.

[14]  LamportLeslie Time, clocks, and the ordering of events in a distributed system , 1978 .

[15]  Shlomi Dolev,et al.  Possible and Impossible Self-Stabilizing Digital Clock Synchronization in General Graphs , 1997, Real-Time Systems.

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

[17]  Boaz Patt-Shamir,et al.  Adapting to asynchronous dynamic networks (extended abstract) , 1992, STOC '92.

[18]  Franck Petit,et al.  When graph theory helps self-stabilization , 2004, PODC '04.

[19]  David Peleg,et al.  An optimal synchronizer for the hypercube , 1987, PODC '87.

[20]  Shing-Tsaan Huang,et al.  Self-stabilizing $2^m$-clock for unidirectional rings of odd size , 1999, Distributed Computing.

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

[22]  Boaz Patt-Shamir,et al.  Adapting to Asynchronous Dynamic Networks , 1992 .

[23]  Shing-Tsaan Huang,et al.  Four-State Stabilizing Phase Clock for Unidirectional Rings of Odd Size , 1998, Inf. Process. Lett..

[24]  Mohamed G. Gouda,et al.  Stabilizing Unison , 1990, Inf. Process. Lett..

[25]  Augusto Ciuffoletti Self-stabilizing clock synchronization in a hierarchical network , 1999, Proceedings 19th IEEE International Conference on Distributed Computing Systems.

[26]  Moti Yung,et al.  The Local Detection Paradigm and Its Application to Self-Stabilization , 1997, Theor. Comput. Sci..

[27]  Ted Herman A Stabilizing Repair Timer , 1998, DISC.

[28]  Rafail Ostrovsky,et al.  Memory-efficient and self-stabilizing network RESET (extended abstract) , 1994, PODC '94.

[29]  Shlomi Dolev,et al.  SuperStabilizing protocols for dynamic distributed systems , 1995, PODC '95.

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

[31]  Robert G. Gallager,et al.  Broadcasting Topology Information in Computer Networks , 1987 .

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

[33]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[34]  Marko Vukolic,et al.  How fast can a very robust read be? , 2006, PODC '06.

[35]  Anish Arora,et al.  Low-cost fault-tolerance in barrier synchronizations , 1998, Proceedings. 1998 International Conference on Parallel Processing (Cat. No.98EX205).

[36]  George Varghese,et al.  Self-stabilization by counter flushing , 1994, PODC '94.

[37]  Anish Arora,et al.  Multitolerant Barrier Synchronization , 1997, Inf. Process. Lett..

[38]  S. Finn Resynch Procedures and a Fail-Safe Network Protocol , 1979, IEEE Trans. Commun..

[39]  Jennifer L. Welch,et al.  Wait-Free Clock Synchronization , 1993, PODC '93.

[40]  Shay Kutten,et al.  Time Optimal Self-Stabilizing Spanning Tree Algorithms , 1993, FSTTCS.

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

[42]  Boaz Patt-Shamir,et al.  Self-Stabilization by Local Checking and Global Reset (Extended Abstract) , 1994, WDAG.

[43]  Amit Anil Nanavati A simple self-stabilizing reset protocol , 1996, SAC '96.

[44]  Baruch Awerbuch,et al.  Network synchronization with polylogarithmic overhead , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[45]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[46]  Valmir Carneiro Barbosa,et al.  An introduction to distributed algorithms , 1996 .

[47]  David L. Mills,et al.  Network Time Protocol (Version 3) Specification, Implementation , 1992 .

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

[49]  Jayadev Misra,et al.  Phase Synchronization , 1991, Inf. Process. Lett..

[50]  Anish Arora,et al.  Distributed Reset , 1994, IEEE Trans. Computers.

[51]  Shing-Tsaan Huang,et al.  Asynchronous phase synchronization in uniform unidirectional rings , 2004, IEEE Transactions on Parallel and Distributed Systems.

[52]  Jennifer L. Welch,et al.  Self-Stabilizing Clock Synchronization in the Presence of ByzantineFaults ( Preliminary Version ) Shlomi Dolevy , 1995 .

[53]  Yehuda Afek,et al.  Self-stabilization of the alternating-bit protocol , 1989, Proceedings of the Eighth Symposium on Reliable Distributed Systems.