MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  A formally verified algorithm for clock synchronization under a hybrid fault model (1994) [16 citations — 8 self]

Download:
pdf | ps
by John Rushby
In Thirteenth ACM Symposium on Principles of Distributed Computing
http://www.csl.sri.com/papers/p/o/podc94/podc94.ps.gz
Add To MetaCart

Abstract:

A small modification to the interactive convergence clock synchronization algorithm allows it to tolerate a larger number of simple faults than the standard algorithm, without reducing its ability to tolerate arbitrary or "Byzantine " faults. Because the extended caseanalysis required by the new fault model complicates the already intricate argument for correctness of the algorithm, it has been subjected to mechanically-checked formal verification. The fault model examined is similar to the "hybrid" one previously used for the problem of distributed consensus: in addition to arbitrary faults, we also admit symmetric (i.e., consistent) and manifest (i.e., detectable) faults. With n processors, the modified algorithm can withstand a arbitrary, s symmetric, and m manifest faults simultaneously, provided n? 3a + 2s + m. A further extension to the fault model includes link faults with bound n? 3a + 2s + m + l where l is the maximum, over all pairs of processors, of the number of processors that have faulty links to one or other of the pair. The mechanically-checked formal verification of the modified algorithm was achieved by extending one for the classical Interactive Convergence algorithm, and was accomplished relatively easily. A mechanicallychecked formal specification and verification is a reusable intellectual resource whose initial cost is amply repaid by the support it provides for inexpensive and reliable investigation of modified assumptions and algorithms such as those reported here.

Citations

806 The Byzantine generals problem – Lamport, Shostak, et al. - 1982
390 PVS: A prototype verification system – Owre, Shankar, et al. - 1992
175 Synchronizing clocks in the presence of faults – Lamport, Melliar-Smith - 1985
87 A New Fault-Tolerant Algorithm for Clock Synchronization – Welch, Lynch - 1988
77 Reaching Approximate Agreement in the Presence of Faults – Dolev, Lynch, et al. - 1986
74 Understanding Protocols for Byzantine Clock Synchronization – Schneider - 1987
68 The MAFT architecture for distributed fault tolerance – Kieckhafer, Walter, et al. - 1988
61 Interactive Consistency with Multiple Failure Modes – Thambidurai, Park - 1988
40 A formally verified algorithm for interactive consistency under a hybrid fault model – Lincoln, Rushby - 1993
38 Consensus with Dual Failure Modes – Meyer, Pradhan - 1987
38 Formal verification of algorithms for critical systems – Rushby, Henke - 1993
34 Distributed agreement in the presence of processor and communication faults – Perry, Toueg - 1986
26 Verification of fault-tolerant clock synchronization systems – Miner - 1993
22 Mechanical verification of a generalized protocol for Byzantine fault-tolerant clock synchronization – Shankar
22 A continuum of failure models for distributed computing – Garay, Perry - 1992
21 An introduction to formal specification and verification using Ehdm – Rushby, Henke, et al. - 1991
18 Formal verification of an algorithm for interactive consistency under a hybrid fault model – Lincoln, Rushby - 1993
16 Verifying the Interactive Convergence clock-synchronization algorithm using the Boyer-Moore prover – Young - 1992
12 Formal verification of the Interactive Convergence clock synchronization algorithm using Ehdm – Rushby, Henke - 1989
3 Mechanical verification of a schematic Byzantine fault-tolerant clock synchronization algorithm – Shankar - 1991
2 Economic approach to fault-tolerant synchronization – Infis, Moore - 1988
2 Experimental validation of clock synchronization algorithms – Palumbo, Graham - 1992
1 A formally verified module to support Byzantine fault-tolerant clock synchronization – Liu, Rushby - 1993
1 Experimental didation of clock synchronization algorithms – Palumbo, Graham - 1992