JACK2: An MPI-based communication library with non-blocking synchronization for asynchronous iterations. (May 2018) - Magoulès, Frédéric; Gbikpi-Benissan, Guillaume
Highlights: Successfully encapsulates the management of all pure MPI communication objects, which avoids intrusivity issues. Provides on-the-fly integration of received data during computation phases, which allows componentwise delays. Devises non-blocking global synchronization, which allows convergence detection through exact global residual evaluation. Provides parameterized message reception rate, which allows better performance of the default non-blocking MPI's send mode. Abstract: In this paper, we address the design of a communication library which particularly targets distributed iterative computing, including randomly executed asynchronous iterations. The well-known MPI programming framework is considered, upon which unique generic routines are proposed for both blocking and non-blocking communication modes. This allows for developing unique software applications to experiment both classical and asynchronous iterative methods through the same programming pattern. Convergence detection issues are investigated on pure algorithmic aspects, from which we provide an efficient exact approach to compute global convergence residual norms, by means of non-blocking synchronization. Point-to-point message reception and sending requests are carefully handled in view of producing the least possible delays about transmitted iterative data. Extensive experiments with an existing MPI-based scientific application validate both the proposed MPI-like programming framework and design options to achieve best performances of asynchronous iterative computing.