This Article 
 Bibliographic References 
 Add to: 
Phase Clocks for Transient Fault Repair
October 2000 (vol. 11 no. 10)
pp. 1048-1057

Abstract—Phase clocks are synchronization tools that implement a form of logical time in distributed systems. For systems tolerating transient faults by self-repair of damaged data, phase clocks can enable reasoning about the progress of distributed repair procedures. This paper presents a phase clock algorithm suited to the model of transient memory faults in asynchronous systems with read/write registers. The algorithm is self-stabilizing and guarantees accuracy of phase clocks within $O(k)$ time following an initial state that is k-faulty. Composition theorems show how the algorithm can be used for the timing of distributed procedures that repair system outputs.

[1] Y. Afek and S. Dolev, “Local Stabilizer,” Proc. Fifth Israeli Symp. Theory of Computing and Systems, pp. 74–84, 1997.
[2] A. Arora, S. Dolev, and M.G. Gouda, “Maintaining Digital Clocks in Step,” Parallel Processing Letters, vol. 1, pp. 11–18, 1991.
[3] H. Attiya and J. Welch, Distributed Computing: Fundamentals, Simulations, and Advanced Topics. London: McGraw-Hill, 1998.
[4] B. Awerbuch, “Complexity of Network Synchronization,” J. ACM, vol. 32, pp. 804–823, 1985.
[5] J. Beauquier, C. Genolini, and S. Kutten, “Optimal Reactive K-Stabilization: The Case of Mutual Exclusion,” Proc. 19th Ann. ACM Symp. Principles of Distributed Computing (PODC '99), pp. 209–218, 1999.
[6] J.M. Couvreur, N. Francez, and M.G. Gouda, “Asynchronous Unison,” Proc. 12th Int'l Conf. Distributed Computing Systems (ICDCS '92), pp. 486–493, 1992.
[7] S. Dolev, Self-Stabilization. Cambridge, Mass.: The MIT Press, 2000.
[8] S. Dolev and T. Herman, “Parallel Composition of Stabilizing Algorithms,” Proc. 1999 Int'l Conf. Distributed Computer Systems Workshop on Self-Stabilizing Systems (WSS '99), pp. 25–32, 1999.
[9] S. Ghosh and A. Gupta, “An Exercise in Fault-Containment: Self-Stabilizing Leader Election,” Information Processing Letters, vol. 59, pp. 281–288, 1996.
[10] S. Ghosh, A. Gupta, T. Herman, and S.V. Pemmaraju, “Fault-Containing Self-Stabilizing Algorithms,” Proc. 15th Ann. ACM Symp. Principles of Distributed Computing (PODC '96), pp. 45–54, 1996.
[11] S. Ghosh, A. Gupta, and S.V. Pemmaraju, “A Fault-Containing Self-Stabilizing Algorithm for Spanning Trees,” J. Computing and Information, vol. 2, pp. 322–338, 1996.
[12] M.G. Gouda and T. Herman, “Stabilizing Unison,” Information Processing Letters, vol. 35, pp. 171–175, 1990.
[13] T. Herman, “A Stabilizing Repair Timer,” Proc. 12th Int'l Symp. Distributed Computing (DISC '98), pp. 186–200, 1998.
[14] T. Herman, “Phase Clocks for Transient Fault Repair,” Technical Report TR 99-08, Univ. of Iowa, Dept. Computer Science, CoRR Archive Number cs. DC/0007015, 1999.
[15] S. Kutten and B. Patt-Shamir, “Time-Adaptive Self Stabilization,” Proc. 16th Ann. ACM Symp. Principles of Distributed Computing (PODC '97), pp. 149–158, 1997.
[16] S. Kutten and B. Patt-Shamir, “Asynchronous Time-Adaptive Self Stabilization,” Proc. 17th Ann. ACM Symp. Principles of Distributed Computing (PODC '98), p. 319, 1998.
[17] L. Lamport, "Time, clocks and the ordering of events in a distributed system," Comm. ACM, vol. 21, no. 7, pp. 558-565, July 1978.
[18] F. Mattern, “Virtual Time and Global States of Distributed Systems,” Parallel and Distributed Systems, M. Cosnard et al., eds., pp. 215–226, 1989.

Index Terms:
Distributed algorithms, fault tolerance, fault containment, synchronizers, self stabilization, time adaptive.
Ted Herman, "Phase Clocks for Transient Fault Repair," IEEE Transactions on Parallel and Distributed Systems, vol. 11, no. 10, pp. 1048-1057, Oct. 2000, doi:10.1109/71.888644
Usage of this product signifies your acceptance of the Terms of Use.