Booting Clock Synchronization in Partially Synchronous Systems

  • Josef Widder
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2848)


We address the problem of network booting: Distributed processes boot one after the other at unpredictable times in order to start some distributed algorithm; we consider clock synchronization algorithms in systems of n ≥ 3f+1 processes where at most f exhibit Byzantine behavior. Obviously, assumptions like “there are always at most one third of the running processes Byzantine faulty” do not hold during system startup.

Using a partially synchronous model where upper and lower bounds upon transmission and computation are unknown, we show that a suitable modification of Srikanth & Toueg’s non-authenticated clock synchronization algorithm handles network booting and guarantees bounded precision both during normal operation and startup. Accuracy (clocks being within a linear envelope of real-time) is only guaranteed, when sufficiently many correct processes are eventually up and running.


Correct Process Clock Synchronization Consensus Algorithm Local Clock Correct Clock 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Liskov, B.: Practical uses of synchronized clocks in distributed systems. Distributed Computing 6, 211–219 (1993)zbMATHCrossRefGoogle Scholar
  2. 2.
    Dolev, D., Halpern, J.Y., Strong, H.R.: On the possibility and impossibility of achieving clock synchronization. Journal of Computer and System Sciences 32, 230–250 (1986)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Srikanth, T.K., Toueg, S.: Optimal clock synchronization. Journal of the ACM 34, 626–645 (1987)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Simons, B., Welch, J.L., Lynch, N.: An overview of clock synchronization. In: Simons, B., Spector, A.Z. (eds.) Fault-Tolerant Distributed Computing. LNCS, vol. 448, pp. 84–96. Springer, Heidelberg (1990)CrossRefGoogle Scholar
  5. 5.
    Ramanathan, P., Shin, K.G., Butler, R.W.: Fault-tolerant clock synchronization in distributed systems. IEEE Computer 23, 33–42 (1990)Google Scholar
  6. 6.
    Schneider, F.B.: Understanding protocols for byzantine clock synchronization. Technical Report 87-859, Cornell University, Department of Computer Science (1987)Google Scholar
  7. 7.
    Schmid, U. (ed.): Special Issue on The Challenge of Global Time in Large-Scale Distributed Real-Time Systems. Real-Time Systems 12(1-3) (1997)Google Scholar
  8. 8.
    Miner, P.S.: Verification of fault-tolerant clock synchronization systems. NASA Technical Paper 3349 (1993)Google Scholar
  9. 9.
    Lundelius-Welch, J., Lynch, N.A.: A new fault-tolerant algorithm for clock synchronization. Information and Computation 77, 1–36 (1988)CrossRefMathSciNetGoogle Scholar
  10. 10.
    Kieckhafer, R.M., Walter, C.J., Finn, A.M., Thambidurai, P.M.: The MAFT ar- chitecture for distributed fault tolerance. IEEE Transactions on Computers 37, 398–405 (1988)CrossRefGoogle Scholar
  11. 11.
    Steiner, W., Paufitsch, M.: The transition from asynchronous to synchronous system operation: An approach for distributed fault-tolerant systems. In: Proceedings of the The 22nd International Conference on Distributed Computing Systems (2002)Google Scholar
  12. 12.
    Mahaney, S.R., Schneider, F.B.: Inexact agreement: Accuracy, precision, and graceful degradation. In: Proceedings 4th ACM Symposium on Principles of Distributed Computing, Minaki, Canada, pp. 237–249 (1985)Google Scholar
  13. 13.
    Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. Communications of the ACM 17, 643–644 (1974)zbMATHCrossRefGoogle Scholar
  14. 14.
    Dolev, S., Welch, J.L.: Wait-free clock synchronization. Algorithmica 18, 486–511 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Papatriantafilou, M., Tsigas, P.: On self-stabilizing wait-free clock synchronization. Parallel Processing Letters 7, 321–328 (1997)CrossRefMathSciNetGoogle Scholar
  16. 16.
    Arora, A., Dolev, S., Gouda, M.G.: Maintaining digital clocks in step. Parallel Processing Letters 1, 11–18 (1991)CrossRefGoogle Scholar
  17. 17.
    Dolev, S., Welch, J.L.: Self-stabilizing clock synchronization in the presence of byzantine faults (1995) (Preliminary Version)Google Scholar
  18. 18.
    Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the presence of partial synchrony. Journal of the ACM 35, 288–323 (1988)CrossRefMathSciNetGoogle Scholar
  19. 19.
    Lynch, N.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1996)zbMATHGoogle Scholar
  20. 20.
    Attiya, H., Dwork, C., Lynch, N., Stockmeyer, L.: Bounds on the time to reach agreement in the presence of timing uncertainty. Journal of the ACM (JACM) 41, 122–152 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Dolev, D., Dwork, C., Stockmeyer, L.: On the minimal synchronism needed for distributed consensus. Journal of the ACM (JACM) 34, 77–97 (1987)zbMATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    Ponzio, S., Strong, R.: Semisynchrony and real time. In: Segall, A., Zaks, S. (eds.) WDAG 1992. LNCS, vol. 647, pp. 120–135. Springer, Heidelberg (1992)Google Scholar
  23. 23.
    Attiya, H., Dolev, D., Gil, J.: Asynchronous byzantine consensus. In: Proceedings of the 3rd ACM Symposium of Distributed Computing, pp. 119–133 (1984)Google Scholar
  24. 24.
    Cristian, F., Fetzer, C.: The timed asynchronous distributed system model. IEEE Transactions on Parallel and Distributed Systems 10, 642–657 (1999)CrossRefGoogle Scholar
  25. 25.
    Aguilera, M.K., Chen, W., Toueg, S.: Failure detection and consensus in the crash-recovery model. Distributed Computing 13, 99–125 (2000)CrossRefGoogle Scholar
  26. 26.
    Barak, B., Halevi, S., Herzberg, A., Naor, D.: Clock synchronization with faults and recoveries (extended abstract). In: Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing, pp. 133–142. ACM Press, New York (2000)CrossRefGoogle Scholar
  27. 27.
    Widder, J.: Switching On: How to boot clock synchronization in partially synchronous systems. Technical Report 183/1-125, Department of Automation, Tech-nische Universitat Wien (2002)Google Scholar
  28. 28.
    Lamport, L., Shostak, R., Pease, M.: The Byzantine generals problem. ACM Transactions on Programming Languages and Systems 4, 382–401 (1982)zbMATHCrossRefGoogle Scholar
  29. 29.
    Schmid, U., Fetzer, C.: Randomized asynchronous consensus with imperfect communications. In: 22nd Symposium on Reliable Distributed Systems, SRDS 2003 (2003) (to appear)Google Scholar
  30. 30.
    Le Lann, G., Schmid, U.: How to implement a timer-free perfect failure detector in partially synchronous systems. Technical Report 183/1-127, Department of Automation, Technische Universitat Wien (2003) (submitted)Google Scholar
  31. 31.
    Ernst, R., Ye, W.: Embedded program timing analysis based on path clustering and architecture classification. In: Digest of Technical Papers of IEEE/ACM International Conference on Computer-Aided Design, pp. 598–604. IEEE Computer Society, Los Alamitos (1997)Google Scholar
  32. 32.
    Gutiérrez, J.P., Garcia, J.G., Harbour, M.G.: Best-case analysis for improving the worst-case schedulability test for distributed hard real-time systems. In: Proceedings of the 10th Euromicro Workshop on Real-Time Systems, pp. 35–44 (1998)Google Scholar
  33. 33.
    Schmid, U., Schossmaier, K.: Interval-based clock synchronization. Real-Time Systems 12, 173–228 (1997)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Josef Widder
    • 1
  1. 1.Embedded Computing Systems Group E182/2Technische Universität WienViennaAustria

Personalised recommendations