Skip to main content
Log in

Asymptotically optimal algorithms for approximate agreement

  • Original Articles
  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

This paper introduces some algorithms to solve crash-failure, failure-by-omission and Byzantine failure versions of the Byzantine Generals or consensus problem, where non-faulty processors need only arrive at values that are close together rather than identical. For each failure model and each value ofS, we give at-resilient algorithm usingS rounds of communication. IfS=t+1, exact agreement is obtained. In the algorithms for the failure-by-omission and Byzantine failure models, each processor attempts to identify the faulty processors and corrects values transmited by them to reduce the amount of disagreement. We also prove lower bounds for each model, to show that each of our algorithms has a convergence rate that is asymptotic to the best possible in that model as the number of processors increases.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. Coan B (1986) Communication-efficient canonical form for fault-tolerant distributed protocols. Proc 5th ACM Symp on Principles of Distributed Computing, pp 63–72

  2. Coan B, Dwork C (1986) Simultaneity is harder than agreement. Proc 5th Symp on Reliability in Distributed Software and Database Systems, pp 141–150

  3. Dolev D (1982) The Byzantine generals strike again. J Algorithms 3:14–30

    Google Scholar 

  4. Dolev D, Lynch N, Pinter S, Stark E, Weihl W (1986) Reaching approximate agreement in the presence of faults. JACM 33(3):499–516

    Google Scholar 

  5. Dwork C, Moses Y (1986) Knowledge and common knowledge in a Byzantine environment I: crash failures. Proc 1986 Conf on Theoretical Aspects of Reasoning About Knowledge, pp 149–169

  6. Fischer M (1983) The consensus problem in unreliable distributed systems (a brief survey). Yale University Tech Rep YALEU/DCS/RR-273

  7. Fischer M, Lynch N (1982) A lower bound for the time to assure interactive consistency. Inf Proc Lett 14(4):183–186

    Google Scholar 

  8. Halpern J, Simons B, Strong R, Dolev D (1984) Fault-tolerant clock synchronization. Proc 3rd ACM Symp on Principles of Distributed Computing, pp 89–102

  9. Lamport L, Melliar-Smith P (1985) Synchronizing clocks in the presence of faults. JACM 32(1):52–78

    Google Scholar 

  10. Lundelius J, Lynch N (1984) A new fault-tolerant algorithm for clock synchronization. Inf Control 62(2):190–204

    Google Scholar 

  11. Lamport L, Shostak R, Pease M (1982) The Byzantine generals problem. ACM Trans on Programming Languages and Systems 4(2):382–401

    Google Scholar 

  12. Mahaney S, Schneider F (1985) Inexact agreement: accuracy, precision and graceful degradation. Proc 4th ACM Symp on Principles of Distributed Computing, pp 237–249

  13. Moses Y, Tuttle M (1988) Programming simultaneous actions using common knowledge. Algorithmica 3:121–169

    Google Scholar 

  14. Pease M, Shostak R, Lamport L (1980) Reaching agreement in the presence of faults. JACM 27(2):228–234

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Alan Fekete was born in Sydney Australia in 1959. He studied Pure Mathematics and Computer Science at the University of Sydney, obtaining a B.Sc.(Hons) in 1982. He then moved to Cambridge, Massachusetts, where he obtained a distributed Ph.D. degree, awarded by Harvard University's Mathematics department for work supervised by Nancy Lynch in M.I.T.'s Laboratory for Computer Science. He spend the year 1987–1988 at M.I.T. as a postdoctoral Research Associate, and is now Lecturer in Computer Science at the University of Sydney. His research concentrates on understanding the modularity in distributed algorithms, especially those used for concurrency control in distributed databases.

A preliminary version of this paper has appeared in the Proceedings of the 5th ACM Symposium on Principles of Distributed Computing (August 1986). This work was begun in the Department of Mathematics, Harvard University, and completed at the Laboratory for Computer Science at Massachusetts Institute of Technology. The work was supported in part (through Professor N. Lynch) by the Office of Naval Research under Contract N00014-85-K-0168, by the Office of Army Research under contract DAAG29-84-K-0058, by the National Science Foundation under Grants MCS-8306854, DCR-83-02391, and CCR-8611442, and by the Defense Advanced Research Projects Agency (DARPA) under Contract N00014-83-K-0125

Rights and permissions

Reprints and permissions

About this article

Cite this article

Fekete, A.D. Asymptotically optimal algorithms for approximate agreement. Distrib Comput 4, 9–29 (1990). https://doi.org/10.1007/BF01783662

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01783662

Key words

Navigation