Skip to main content

TADA: A Toolkit for Approximate Distributed Agreement

  • Conference paper
  • First Online:
Distributed Applications and Interoperable Systems (DAIS 2023)

Abstract

Approximate agreement has long been relegated to the sidelines compared to exact consensus, with its most notable application being clock synchronisation. Other proposed applications stemming from control theory target multi-agent consensus, namely for sensor stabilisation, coordination in robotics, and trust estimation. Several proposals for approximate agreement follow the Mean Subsequence Reduce approach, simply applying different functions at each phase. However, taking clock synchronisation as an example, applications do not fit neatly into the MSR model: Instead they require adapting the algorithms’ internals.

Our contribution is two-fold. First, we identify additional configuration points, establishing a more general template of MSR approximate agreement algorithms. We then show how this allows us to implement not only generic algorithms but also those tailored for specific purposes (clock synchronisation). Second, we propose a toolkit for making approximate agreement practical, providing classical implementations as well as allow these to be configured for specific purposes. We validate the implementation with classical algorithms and clock synchronisation.

Artifacts available in https://doi.org/10.5281/zenodo.7830167.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Atomix: A reactive java framework for building fault-tolerant distributed systems. https://atomix.io/

  2. Bft-smart: High-performance byzantine fault-tolerant state machine replication. http://bft-smart.github.io/library/

  3. etcd: A distributed, reliable key-value store for the most critical data of a distributed system. https://etcd.io/

  4. Jgroups - a toolkit for reliable messaging. http://www.jgroups.org/

  5. jgroups-raft: Implementation of the raft consensus protocol in jgroups. http://belaban.github.io/jgroups-raft/

  6. Mirbft. https://labs.hyperledger.org/labs/mir-bft.html

  7. The Raft consensus algorithm. https://raft.github.io/

  8. Abraham, I., Amit, Y., Dolev, D.: Optimal resilience asynchronous approximate agreement. In: International Conference on Principles of Distributed Systems, pp. 229–239 (2005). https://doi.org/10.1007/11516798_17

  9. Bhatti, N.T., Hiltunen, M.A., Schlichting, R.D., Chiu, W.: Coyote: a system for constructing fine-grain configurable communication services. ACM Trans. Comput. Syst. 16(4), 321–366 (1998). https://doi.org/10.1145/292523.292524

  10. Bonomi, S., Pozzo, A.D., Potop-Butucaru, M., Tixeuil, S.: Approximate agreement under mobile byzantine faults. Theoret. Comput. Sci. 758, 17–29 (2019). https://doi.org/10.1016/j.tcs.2018.08.001

    Article  MathSciNet  MATH  Google Scholar 

  11. Cady, S.T., Domínguez-García, A.D., Hadjicostis, C.N.: Finite-time approximate consensus and its application to distributed frequency regulation in islanded ac microgrids. In: 2015 48th Hawaii International Conference on System Sciences, pp. 2664–2670. IEEE (2015)

    Google Scholar 

  12. Dolev, D., Strong, H.R.: Authenticated algorithms for byzantine agreement. SIAM J. Comput. 12(4), 656–666 (1983). https://doi.org/10.1137/0212045

    Article  MathSciNet  MATH  Google Scholar 

  13. Dolev, D., Lynch, N., Pinter, S., Stark, E., Wheil, W.: Reaching approximate agreement in the presence of faults. J. ACM 33(3), 499–516 (1986). https://doi.org/10.1145/5925.5931

    Article  MathSciNet  MATH  Google Scholar 

  14. Dolev, S., Welch, J.L.: Self-stabilizing clock synchronization in the presence of byzantine faults. J. ACM 51(5), 780–799 (2004). https://doi.org/10.1145/1017460.1017463

  15. El-Mhamdi, E.M., Guerraoui, R., Guirguis, A., Rouault, S.: Garfield: system support for byzantine machine learning. arXiv preprint arXiv:2010.05888 (2020)

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

    Article  MathSciNet  Google Scholar 

  17. Fischer, M.J., Lynch, N.A., Merrit, M.: Easy impossibility proofs for distributed consensus problems. Distrib. Comput. 2, 26–39 (1986). https://doi.org/10.1007/BF01843568

    Article  MATH  Google Scholar 

  18. Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985). https://doi.org/10.1145/3149.214121

    Article  MathSciNet  MATH  Google Scholar 

  19. Fouto, P., Costa, P.A., Preguiça, N., Leitão, J.: Babel: a framework for developing performant and dependable distributed protocols. In: 2022 41st International Symposium on Reliable Distributed Systems (SRDS), pp. 146–155 (2022). https://doi.org/10.1109/SRDS55811.2022.00022

  20. Ghinea, D., Liu-Zhang, C.D., Wattenhofer, R.: Optimal synchronous approximate agreement with asynchronous fallback. In: Proceedings of the 2022 ACM Symposium on Principles of Distributed Computing, pp. 70–80 (2022)

    Google Scholar 

  21. Haeberlen, A., Kouznetsov, P., Druschel, P.: The case for byzantine fault detection. In: HotDep (2006)

    Google Scholar 

  22. Kihlstrom, K.P., Moser, L.E., Melliar-Smith, P.M.: Byzantine fault detectors for solving consensus. Comput. J. 46(1), 16–35 (2003). https://doi.org/10.1093/comjnl/46.1.16

  23. Lamport, L.: Paxos made simple. ACM SIGACT News (Distributed Computing Column) 32, 4 (Whole Number 121, December 2001), pp. 51–58 (2001)

    Google Scholar 

  24. Lamport, L., Melliar-Smith, P.M.: Byzantine clock synchronization. In: Proceedings of the Third Annual ACM Symposium on Principles of Distributed Computing, PODC 1984, pp. 68–74. Association for Computing Machinery, New York (1984). https://doi.org/10.1145/800222.806737

  25. Leidenfrost, R., Elmenreich, W., Bettstetter, C.: Fault-tolerant averaging for self-organizing synchronization in wireless ad hoc networks. In: 2010 7th International Symposium on Wireless Communication Systems, pp. 721–725 (2010). https://doi.org/10.1109/ISWCS.2010.5624283

  26. Li, C., Wang, Y., Hurfin, M.: Clock synchronization in mobile ad hoc networks based on an iterative approximate byzantine consensus protocol. In: 2014 IEEE 28th International Conference on Advanced Information Networking and Applications (2014)

    Google Scholar 

  27. Lundelius, J., Lynch, N.: A new fault-tolerant algorithm for clock synchronization. In: Proceedings of the Third Annual ACM Symposium on Principles of Distributed Computing, PODC 1984, pp. 75–88. Association for Computing Machinery, New York (1984). https://doi.org/10.1145/800222.806738

  28. Mahaney, S.R., Schneider, F.B.: Inexact agreement: accuracy, precision, and graceful degradation (1985). https://doi.org/10.1145/323596.323618

  29. Mendes, H., Herlihy, M.: Multidimensional approximate agreement in byzantine asynchronous systems. In: Proceedings of the Forty-Fifth Annual ACM Symposium on Theory of Computing, STOC 2013, pp. 391–400. Association for Computing Machinery, New York (2013). https://doi.org/10.1145/2488608.2488657

  30. Miranda, H., Pinto, A., Rodrigues, L.: Appia, a flexible protocol kernel supporting multiple coordinated channels. In: Proceedings 21st International Conference on Distributed Computing Systems, pp. 707–710 (2001). https://doi.org/10.1109/ICDSC.2001.919005

  31. Plunkett, R., Fekete, A.: Approximate agreement with mixed mode faults: algorithm and lower bound. In: Kutten, S. (ed.) DISC 1998. LNCS, vol. 1499, pp. 333–346. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0056493

    Chapter  Google Scholar 

  32. Primi, M., Sciascia, D.: Libpaxos: an open-source paxos. http://libpaxos.sourceforge.net/

  33. Raghu Vamsi Krishna, T., Barnwal, R.P., Ghosh, S.K.: Cat: consensus-assisted trust estimation of MDS-equipped collaborators in vehicular ad-hoc network. Veh. Commun. 2(3), 150–157 (2015). https://doi.org/10.1016/j.vehcom.2015.06.001

  34. Sadikhov, T., Haddad, W.M., Yucelen, T., Goebel, R.: Approximate consensus of multiagent systems with inaccurate sensor measurements. J. Dyn. Syst. Meas. Contr. 139(9), 091003 (2017)

    Article  Google Scholar 

  35. Stathakopoulou, C., David, T., Vukolic, M.: Mir-BFT: high-throughput BFT for blockchains. CoRR abs/1906.05552 (2019). http://arxiv.org/abs/1906.05552

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Eduardo Lourenço da Conceição .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

da Conceição, E.L., Nunes Alonso, A., Oliveira, R.C., Pereira, J.O. (2023). TADA: A Toolkit for Approximate Distributed Agreement. In: Patiño-Martínez, M., Paulo, J. (eds) Distributed Applications and Interoperable Systems. DAIS 2023. Lecture Notes in Computer Science, vol 13909. Springer, Cham. https://doi.org/10.1007/978-3-031-35260-7_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-35260-7_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-35259-1

  • Online ISBN: 978-3-031-35260-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics