Skip to main content
Log in

JACK: an asynchronous communication kernel library for iterative algorithms

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

This article presents a new communication library developed to ease the implementation of both asynchronous and synchronous iterative methods. A mathematical and algorithmic framework about fixed-point methods is described to introduce this class of parallel iterative algorithms, although this library can be used for a larger class of parallel algorithms. After an overview of the main features, we describe detailed implementation aspects arising from the asynchronous context. While the library is mainly based on top of Message Passing Interface library, it has been designed to be easily extended to other types of communication middleware. Finally, some numerical experiments validate this new library, used for implementing both a classical parallel scheme and a sub-structuring approach of the Jacobi iterative method.

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.

Fig. 1
Fig. 2

Similar content being viewed by others

References

  1. Bahi J, Domas S, Mazouzi K (2004) Jace: a java environment for distributed asynchronous iterative computations. In: Proceedings. 12th euromicro conference on parallel, distributed and network-based processing, 2004, pp 350–357

  2. Bahi J, Miellou JC, Rhofir K (1997) Asynchronous multisplitting methods for nonlinear fixed point problems. Numer Algorithms 15(3–4):315–345

    Article  MathSciNet  MATH  Google Scholar 

  3. Bahi JM, Contassot-Vivier S, Couturier R (2007) Parallel iterative algorithms: from sequential to grid computing. In: Numerical analysis and scientific computing series. Chapman & Hall/CRC, UK

  4. Bahi JM, Contassot-Vivier S, Couturier R, Vernier F (2005) A decentralized convergence detection algorithm for asynchronous parallel iterative algorithms. IEEE Trans Parallel Distrib Syst 16(1):4–13

    Article  Google Scholar 

  5. Bahi JM, Couturier R, Vuillemin P (2007) Jacev: a programming and execution environment for asynchronous iterative computations on volatile nodes. In: High performance computing for computational science—VECPAR 2006. Lecture Notes in Computer Science, vol 4395. Springer Berlin, pp 79–92 (2007)

  6. Baudet GM (1978) Asynchronous iterative methods for multiprocessors. J ACM 25(2):226–244

    Article  MathSciNet  MATH  Google Scholar 

  7. Bertsekas DP, Tsitsiklis JN (1989) Parallel and distributed computation: numerical methods. Prentice-Hall Inc, Upper Saddle River

    MATH  Google Scholar 

  8. Bertsekas DP, Tsitsiklis JN (1991) Some aspects of parallel and distributed iterative algorithmsa survey. Automatica 27(1):3–21

    Article  MathSciNet  MATH  Google Scholar 

  9. Bru R, Elsner L, Neumann M (1988) Models of parallel chaotic iteration methods. Linear Algebra Appl 103:175–192

    Article  MathSciNet  MATH  Google Scholar 

  10. Bru R, Migallon V, Penadés J (1995) Chaotic methods for the parallel solution of linear systems. International meeting on vector and parallel processing. Comput Syst Eng 6(4–5):385–390

    Article  Google Scholar 

  11. Bru R, Migallón V, Penadés J, Szyld DB (1995) Parallel, synchronous and asynchronous two-stage multisplitting methods. Electron Trans Numer Anal 3:24–38

    MathSciNet  MATH  Google Scholar 

  12. Chajakis ED, Zenios SA (1991) Synchronous and asynchronous implementations of relaxation algorithms for nonlinear network optimization. Parallel Comput 17(8):873–894

    Article  MATH  Google Scholar 

  13. Chang EJH (1982) Echo algorithms: depth parallel operations on general graphs. IEEE Trans Softw Eng SE–8(4):391–401

    Article  Google Scholar 

  14. Chau M, Couturier R, Bahi J, Spiteri P (2011) Parallel solution of the obstacle problem in grid environments. Int J High Perform Comput Appl 25(4):488–495

    Article  Google Scholar 

  15. Chazan D, Miranker W (1969) Chaotic relaxation. Linear Algebra Appl 2(2):199–222

    Article  MathSciNet  MATH  Google Scholar 

  16. Cheik Ahamed A, Magoulès F (2014) Parallel sub-structuring methods for solving sparse linear systems on a cluster of gpus. In: Proceedings of the 16th international conference on high performance and communications (HPCC 2014), Paris, France, Aug. 20–22, 2014. IEEE Computer Society, New York, pp 121–128 (2014)

  17. Couturier R, Domas S (2007) Crac: a grid environment to solve scientific applications with asynchronous iterative algorithms. In: Parallel and distributed processing symposium, 2007. IPDPS 2007. IEEE International, New York, pp 1–8

  18. Deren W, Zhongzhi B, Evans DJ (1994) Asynchronous multisplitting relaxed iterations for weakly nonlinear systems. Int J Comput Math 54(1–2):57–76

    Article  MATH  Google Scholar 

  19. Dijkstra EW, Feijen WHJ, van Gasteren AJM (1983) Derivation of a termination detection algorithm for distributed computations. Inf Process Lett 16(5):217–219

    Article  MathSciNet  MATH  Google Scholar 

  20. Donnelly JDP (1971) Periodic chaotic relaxation. Linear Algebra Appl 4(2):117–128

    Article  MathSciNet  MATH  Google Scholar 

  21. El Baz D, Spiteri P, Miellou JC, Gazen D (1996) Asynchronous iterative algorithms with flexible communication for nonlinear network flow problems. J Parallel Distrib Comput 38(1):1–15

    Article  Google Scholar 

  22. Evans D, Chikohora S (1998) Convergence testing on a distributed network of processors. Int J Comput Math 70(2):357–378

    Article  MATH  Google Scholar 

  23. Juliand J, Perrin GR, Spitéri P (1981) Simulations d’exécutions parallèles d’algorithmes numériques asynchrones. In: 1st conférence AMSE, Lyon

  24. Lei L (1989) Convergence of asynchronous iteration with arbitrary splitting form. Linear Algebra Appl 113:119–127

    Article  MathSciNet  MATH  Google Scholar 

  25. Lynch NA (1996) Distributed algorithms. Morgan Kaufmann Publishers Inc., San Francisco

    MATH  Google Scholar 

  26. Maday Y, Magoulès F (2006) Absorbing interface conditions for domain decomposition methods: a general presentation. Comput Meth Appl Mech Eng 195(29–32):3880–3900

    Article  MathSciNet  MATH  Google Scholar 

  27. Magoulès F, Cheik Ahamed A (2015) Alinea: an advanced linear algebra library for massively parallel computations on graphics processing units. Int J High Perform Comput Appl 29(3):284–310

    Article  Google Scholar 

  28. Magoulès F, Venet C (2016) Asynchronous iterative sub-structuring methods. J Math Computer Simul

  29. Mattern F (1987) Algorithms for distributed termination detection. Distrib Comput 2(3):161–175

    Article  Google Scholar 

  30. OLeary DP, White RE (1985) Multi-splittings of matrices and parallel solution of linear systems. SIAM J Algebraic Discrete Meth 6(4):630–640

    Article  MATH  Google Scholar 

  31. Perlman R (1985) An algorithm for distributed computation of a spanningtree in an extended lan. SIGCOMM Comput Commun Rev 15(4):44–53

    Article  Google Scholar 

  32. Przemieniecki JS (1963) Matrix structural analysis of substructures. Am Inst Aeronaut Astronaut J 1(1):138–147

    Article  MATH  Google Scholar 

  33. Rana SP (1983) A distributed solution of the distributed termination problem. Inf Process Lett 17(1):43–46

    Article  MathSciNet  MATH  Google Scholar 

  34. Rosenfeld J (1967) A case study on programming for parallel processors. Tech. Rep. RC-64, IBM Thomas J. Watson Research Center, USA

  35. Savari S, Bertsekas D (1996) Finite termination of asynchronous iterative algorithms. Parallel Comput 22(1):39–56

    Article  MathSciNet  MATH  Google Scholar 

  36. Spiteri P, Chau M (2002) Parallel asynchronous Richardson method for the solution of obstacle problem. In: Proceedings. 16th annual international symposium on high performance computing systems and applications, pp 133–138 (2002)

  37. Tsitsiklis JN, Bertsekas DP, Athans M (1986) Distributed asynchronous deterministic and stochastic gradient optimization algorithms. IEEE Trans Autom Control 31(9):803–812

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Guillaume Gbikpi-Benissan.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Magoulès, F., Gbikpi-Benissan, G. JACK: an asynchronous communication kernel library for iterative algorithms. J Supercomput 73, 3468–3487 (2017). https://doi.org/10.1007/s11227-016-1702-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-016-1702-2

Keywords

Navigation