Skip to main content
Log in

Possible and Impossible Self-Stabilizing Digital Clock Synchronization in General Graphs

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

We study digital clock synchronization for multiprocessor systems, where processors are triggered by a common clock pulse and communicate with others via shared memory.

A self-stabilizing digital clock synchronization protocol for systems with a general communication graph is presented. The protocol can commence in an arbitrary non-consistent system state and converges to a legitimate state in which the clocks are synchronized and incremented by one in every subsequent pulse.

To enhance the fault-tolerance of our protocol, we allow that during and following convergence processors may stop operating. Crash failures may partition the communication graph into several connected components. Our protocol synchronizes the clocks of the processors in every such connected component. For the case in which faulty processors can exhibit Byzantine behavior, we prove that there is no digital clock synchronization protocol that tolerates even one single faulty processor.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Anagnostou, E. and Hadzilacos, V. 1992. Tolerating transient and permanent failures. Proc. of the 6th International Workshop on Distributed Algorithms, Springer-Verlag LNCS: 647, pp. 203–220

    Google Scholar 

  • Arora, A., Dolev, S. and Gouda, M. G. 1991. Maintaining digital clocks in step. Parallel Processing Letters 1(1): 11–18.

    Google Scholar 

  • Chengdian, L., and Simon, J., 1995. Possibility and Impossibility Results for Self-Stabilizing Phase Clocks on Synchronous Rings, Proc. of the Second Workshop on Self-Stabilizing Systems, pp. 10.1–10.15.

  • Dijkstra, E. W. 1974. Self stabilizing systems in spite of distributed control. Communication of the ACM 17: 643–644.

    Google Scholar 

  • Dolev, D., Halpern, J. Y. and Strong, H. R. 1986. On the possibility and impossibility of achieving clock synchronization. Journal of Computer and Systems Science 32(2): 230–250.

    Google Scholar 

  • Dolev, S. 1993. Optimal time self stabilization in dynamic systems. Proc. of the 7th International Workshop on Distributed Algorithms, 160–173.

  • Dolev, S. 1994. Optimal time self-stabilization in uniform dynamic systems. 6th IASTED International Conference on Parallel and Distributed Computing and Systems, 25–28.

  • Dolev, S. 1995. Workshop report, second workshop on self-stabilizing systems. SIGACT News 26(3): 74–76.

    Google Scholar 

  • Dolev, S., Israeli, A. and Moran, S. 1993. Self stabilization of dynamic systems assuming only read write atomicity. Distributed Computing 7: 3–16.

    Google Scholar 

  • Dolev S. and Welch, J. L. 1993. Wait-free clock synchronization. Proc. of the 12th Annual ACM Symp. on Principles of Distributed Computing, 97–108.

  • Dolev, S. and Welch, J. L. 1995. Self-stabilizing clock synchronization in the presence of Byzantine faults. Proc. of the Second Workshop on Self-Stabilizing Systems, pp. 9.1–9.12, Abstract in Proc. of the 14th Annual ACM Symp. on Principles of Distributed Computing.

  • Fischer, M. J., Lynch, N. A. and Merritt, M. 1986. Easy impossibility proofs for distributed consensus problems. Distributed Computing 1: 26–39.

    Google Scholar 

  • Gouda, M. G. and Herman, T. 1990. Stabilizing unison. Information Processing Letters 35(4): 171–175.

    Google Scholar 

  • Hwang, K. 1993. Advanced Computer Architecture, Parallelism, Scalability, Programmability. McGraw-Hill, Inc.

  • Herman, T and Ghosh, S. 1995. Stabilizing phase-clocks. Information Processing Letters 54: 259–265.

    Google Scholar 

  • R. Hofmann, R. Klar, B. Mohr, A. Quic, and M. Siegle, “Distributed Performance Monitoring: Methods, Tools, and Applications,” IEEE Trans. on Parallel and Distributed Systems 5(6): 585–598, 1994.

    Google Scholar 

  • Kedem, Z. M., Palem, K. V., Rabin, M. O. and Raghunathan, A. 1992. Efficient program transformations for resilient parallel computation via randomization. Proceedings of the 24th ACM Symposium on Theory of Computing, pp. 306–317.

  • Karp R. M. and Ramachandran, V. 1990. Parallel algorithms for shared memory machines. In Handbook of Theoretical Computer Science, J. van Leeuwen, ed., Elsevier Science Publishers B. V., pp. 869–941.

  • Kanellakis P. C. and Shvartsman, A. A. 1991. Efficient parallel algorithms on restartable fail-stop processors. Proceedings of the 10th ACM Symposium on Principles of Distributed Computing, pp. 23–36.

  • Leighton, F. T. 1992. Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. Morgan Kaufmann Publishers, Inc.

  • Lamport, L. and Melliar-Smith, P. M. 1985. Synchronizing clocks in the presence of faults. Journal of the ACM 32(1): 1–36.

    Google Scholar 

  • Lamport, L., Shostak, R. and Pease, M. 1982. The Byzantine generals problem. ACM Trans. on Prog. Lang. and Sys. 4(3): 382–401.

    Google Scholar 

  • Ullman, J. D. 1984. Computational Aspects of VLSI. Computer Science Press.

  • Welch J. L. and Lynch, N. 1988. A new fault-tolerant algorithm for clock synchronization. Information and Computation 77(1): 1–36.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Dolev, S. Possible and Impossible Self-Stabilizing Digital Clock Synchronization in General Graphs. Real-Time Systems 12, 95–107 (1997). https://doi.org/10.1023/A:1007914216733

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1007914216733

Keywords

Navigation