The General Convergence Problem: A Unification of Synchronous and Asynchronous Systems
An important problem in fault-tolerant distributed systems is maintaining agreement between non-faulty processes in the presence of undiagnosed faults. To achieve agreement, processes must exchange their local “opinions” of a particular value, and then vote on the values received to arrive at a “consensus”. Approximate Agreement defines a condition in which it is not necessary for consensus values to be identical. Rather, they need only agree to within a predefined tolerance.
Approximate Agreement can be achieved through a sequence of convergent voting rounds, in which the range of values held by non-faulty processes is reduced in each round. Convergent voting has been addressed in the context of two classes of systems, Synchronous and Asynchronous systems. In addition, recent studies have addressed both Completely Connected and Partially Connected systems. Together, the properties of synchrony and connectivity define the voting environment. In every study to date, each system environment was treated as a separate problem.
This paper presents a single unifying model of the convergence problem, and a set of General Convergence Relations applicable to any of the above voting environments. These relations permit the properties of a convergent voting algorithm to be derived in the simplest environment (synchronous, completely connected) then extrapolated to the other environments.
KeywordsClock Synchronization Asynchronous System Synchronous System Faulty Process Approximate Agreement
Unable to display preview. Download preview PDF.
- Azadmanesh, M.H., and R.M. Kieckhafer, Asynchronous Approximate Agreement With Mixed-Mode Faults, University of Nebraska, Dept. of Computer Science and Engineering, Technical Report Series, No. 93-19, June 1993.Google Scholar
- Azadmanesh, M.H., and R.M. Kieckhafer, “Asynchronous Approximate Agreement in Partially Connected Systems”, Journal of Computing and Information, (to appear).Google Scholar
- D. Dolev, N.A. Lynch, S.S. Pinter, E.W. Stark, and W.E. Weihl, “Reaching Approximate Agreement in the Presence of Faults,” Proc. 3rd Symp. on Reliability in Dist. Software and Database Systems, Oct 1983.Google Scholar
- R.M. Kieckhafer, and M.H. Azadmanesh, “Reaching Approximate Agreement With Mixed Mode Faults”, IEEE Trans. Par. and Dist. Sys., V. 5, No. 1, Jan 1994.Google Scholar
- R.M. Kieckhafer, and M.H. Azadmanesh, “Low Cost Approximate Agreement in Partially Connected Networks”, Journal of Computing and Information, V. 3, No. 2, 1993.Google Scholar
- J. Lundelius, and N. Lynch, “A New Fault-Tolerant Algorithm for Clock Synchronization”, 3rd Symp. on Principles of Dist. Computing, pp. 75-87, Aug 1984.Google Scholar
- F.J. Meyer, and D.K. Pradhan, “Consensus with Dual Failure Modes”, Proc. 17th Fault-Tolerant Computing Symp., pp. 48-54, Jul 1987.Google Scholar
- F.B. Schneider, Understanding Protocols for Byzantine Clock Synchronization, Report No. 87-859, Dept of Computer Science, Cornell University, Aug 1987.Google Scholar
- P.M. Thambidurai, and Y.K. Park, “Interactive Consistency with Multiple Failure Modes”, Proc. Seventh Reliable Dist Systems Symp., Oct 1988.Google Scholar