Algorithmes Parallèles Asynchrones : implémentation et simulation d’applications modélisées par des équations pseudo-linéaires.
Résumé
The work presented in this dissertation concerns parallel algorithmic work carried out over the last fifteen years. More specifically, it presents in detail the implementation of synchronous and asynchronous parallel iterative algorithms in the context of scientific calculations carried out since 2009. These algorithms can be used to solve large linear or pseudo-linear algebraic systems, which may be constrained. Theoretically, asynchronous iterations are associated with fixed-point iterations, carried out in parallel using large-block decomposition techniques ; in the case of the numerical solution of partial differential equations, this corresponds to domain decomposition methods. The various processors involved in an asynchronous parallel solution do not have to wait for the messages corresponding to the interface values between the sub-domains to be received in full, thus avoiding the inactivity time associated with any synchronisations. Such an algorithm is of interest given the evolution of parallel computing platforms such as grids, peer-to-peer architectures, the cloud and high-performance computing (HPC) servers. From an experimental point of view, we were interested in parallel computing platforms with geographically distant and heterogeneous nodes. The field of application of this type of algorithm is wide and several linear and non-linear problems have been solved comparatively in synchronous and asynchronous parallelism as part of our work. Several experiments have been carried out on various platforms in order to demonstrate the validity of asynchronous parallel algorithms for various applications covering different fields, such as financial mathematics, mechanics, fluid-structure interaction, steel solidification, the problem of protein separation by electrophoresis, etc. The aim of this study is to present the means used to set up and carry out the various simulations to solve these different problems using the basic non-blocking primitives of the MPI standard in order to implement asynchronous iterations.
Le travail, présenté dans ce mémoire, concerne des travaux en algorithmique parallèle effectués depuis une quinzaine d’années. Plus particulièrement, il présente en détails l’implémentation d’algorithmes itératifs parallèles synchrones et asynchrones dans le cadre de calculs scientifiques effectuée depuis 2009. Ces algorithmes permettent la résolution de grands systèmes algébriques linéaires ou pseudo-linéaires,
éventuellement contraints. Sur le plan théorique, les itérations asynchrones sont associées à des itérations point fixe, effectuées en parallèle prenant en compte des techniques de décomposition en grand blocs ; dans le cas de la résolution numérique d’équations aux dérivées partielles cela correspond à des méthodes de décomposition de domaine. Les différents processeurs impliqués dans une résolution parallèle asynchrone n’attendent pas la réception complète des messages correspondant aux valeurs d’interface entre les sous-domaines et on évite ainsi les temps d’inactivité liés aux éventuelles synchronisations. L’intérêt de tel algorithme se révèle intéressant compte tenu de l’évolution des plateformes de calcul parallèle comme les grilles, les architectures pair-à-pair, le cloud et les serveurs pour calcul haute performance (HPC). Sur le plan expérimental,
nous nous sommes intéressés à des plateformes de calcul parallèles ayant des nœuds géographiquement éloignés et hétérogènes.
Le champ d’application de ce type d’algorithme est important et plusieurs problèmes linéaires et non-linéaires ont été résolus de façon comparative en parallélisme synchrone et asynchrone dans le cadre de nos travaux. Plusieurs expérimentations ont été effectuées sur diverses plate-formes afin de montrer la validité des algorithmes parallèles asynchrones pour traiter diverses applications couvrants différents domaines,
tels que les mathématiques financières, la mécanique, l’interaction fluide-structure, la solidification de l’acier, le problème de séparation de protéine par électrophorèse, ... Cette étude a pour but de présenter les moyens mis en œuvre pour mettre en place et réaliser les différentes simulations afin de résoudre ces différents problèmes en utilisant les primitives non bloquantes de base du standard MPI afin de mettre en œuvre des itérations asynchrones.
Origine | Fichiers produits par l'(les) auteur(s) |
---|---|
licence |
Domaine public
|