Abstract
AbstractÜresin and Dubois’ paper “Parallel Asynchronous Algorithms for Discrete Data” shows how a class of synchronous iterative algorithms may be transformed into asynchronous iterative algorithms. They then prove that the correctness of the resulting asynchronous algorithm can be guaranteed by reasoning about the synchronous algorithm alone. These results have been used to prove the correctness of various distributed algorithms, including in the fields of routing, numerical analysis and peer-to-peer protocols. In this paper we demonstrate several ways in which the assumptions that underlie this theory may be relaxed. Amongst others, we (i) expand the set of schedules for which the asynchronous iterative algorithm is known to converge and (ii) weaken the conditions that users must prove to hold to guarantee convergence. Furthermore, we demonstrate that two of the auxiliary results in the original paper are incorrect, and explicitly construct a counter-example. Finally, we also relax the alternative convergence conditions proposed by Gurney based on ultrametrics. Many of these relaxations and errors were uncovered after formalising the work in the proof assistant Agda. This paper describes the Agda code and the library that has resulted from this work. It is hoped that the library will be of use to others wishing to formally verify the correctness of asynchronous iterative algorithms.
Funder
Engineering and Physical Sciences Research Council
Publisher
Springer Science and Business Media LLC
Subject
Artificial Intelligence,Computational Theory and Mathematics,Software
Reference23 articles.
1. Agda routing library. https://github.com/MatthewDaggitt/agda-routing/tree/jar2019. Accessed 09 Mar 2019
2. Agda standard library. https://github.com/agda/agda-stdlib, version 0.17. Accessed 20 Oct 2018
3. Agda tutorials (2019). https://agda.readthedocs.io/en/latest/getting-started/tutorial-list.html. Accessed 06 Feb 2019
4. Bove, A., Dybjer, P., Norell, U.: A brief overview of Agda–a functional language with dependent types. In: Wenzel, M., Nipkow, T. (eds.) Theorem Proving in Higher Order Logics, pp. 73–78. Springer, Berlin (2009)
5. Casanova, H., Thomason, M.G., Dongarra, J.J.: Stochastic performance prediction for iterative algorithms in distributed environments. J. Parallel Distrib. Comput. 58(1), 68–91 (1999)