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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Atomix: A reactive java framework for building fault-tolerant distributed systems. https://atomix.io/
Bft-smart: High-performance byzantine fault-tolerant state machine replication. http://bft-smart.github.io/library/
etcd: A distributed, reliable key-value store for the most critical data of a distributed system. https://etcd.io/
Jgroups - a toolkit for reliable messaging. http://www.jgroups.org/
jgroups-raft: Implementation of the raft consensus protocol in jgroups. http://belaban.github.io/jgroups-raft/
The Raft consensus algorithm. https://raft.github.io/
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
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
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
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)
Dolev, D., Strong, H.R.: Authenticated algorithms for byzantine agreement. SIAM J. Comput. 12(4), 656–666 (1983). https://doi.org/10.1137/0212045
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
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
El-Mhamdi, E.M., Guerraoui, R., Guirguis, A., Rouault, S.: Garfield: system support for byzantine machine learning. arXiv preprint arXiv:2010.05888 (2020)
Fekete, A.D.: Asymptotically optimal algorithms for approximate agreement. Distrib. Comput. 4, 9–29 (1990). https://doi.org/10.1007/BF01783662
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
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
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
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)
Haeberlen, A., Kouznetsov, P., Druschel, P.: The case for byzantine fault detection. In: HotDep (2006)
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
Lamport, L.: Paxos made simple. ACM SIGACT News (Distributed Computing Column) 32, 4 (Whole Number 121, December 2001), pp. 51–58 (2001)
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
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
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)
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
Mahaney, S.R., Schneider, F.B.: Inexact agreement: accuracy, precision, and graceful degradation (1985). https://doi.org/10.1145/323596.323618
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
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
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
Primi, M., Sciascia, D.: Libpaxos: an open-source paxos. http://libpaxos.sourceforge.net/
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
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)
Stathakopoulou, C., David, T., Vukolic, M.: Mir-BFT: high-throughput BFT for blockchains. CoRR abs/1906.05552 (2019). http://arxiv.org/abs/1906.05552
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 IFIP International Federation for Information Processing
About this paper
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)