Présentation

Article

1 - POSITION DU PROBLÈME

2 - MODÉLISATION DES ALGORITHMES ITÉRATIFS PARALLÈLES SYNCHRONES ET ASYNCHRONES

3 - ANALYSE DE LA CONVERGENCE DES MÉTHODES PARALLÈLES ASYNCHRONES

4 - MÉTHODES DE SOUS-DOMAINES ET DE MULTI-DÉCOMPOSITION ASYNCHRONES

5 - CONCLUSION

6 - ANNEXE

Article de référence | Réf : AF1385 v1

Position du problème
Algorithmes parallèles asynchrones I - Modélisation et analyse

Auteur(s) : Pierre SPITERI, Jean-Claude MIELLOU

Date de publication : 10 juin 2021

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

RÉSUMÉ

Les algorithmes itératifs parallèles asynchrones et leurs extensions constituées par les méthodes de sous-domaines et de multi-décomposition, pour la résolution de grands systèmes algébriques linéaires ou pseudo-linéaires, éventuellement contraints, sont ici présentés. Le comportement de ces algorithmes est étudié selon trois méthodes distinctes en utilisant d’une part une propriété de contraction de l’application de point fixe associée au système d’équations à résoudre, d’autre part des propriétés de convergence monotone et enfin des propriétés d’emboitements successifs d’ensembles où sont situés les composantes réactualisées par l’algorithme itératif. Le lien entre ces trois types d’analyse est aussi présenté.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

ABSTRACT

Parallel Asynchronous Algorithms I. Modelling and Analysis

This paper presents asynchronous parallel iterative algorithms and their extensions constituted by subdomain and multisplitting methods, for the solution of large algebraic linear or pseudo-linear systems, possibly constrained. The behavior of these algorithms is studied by three methods using on the one hand a contraction property of the fixed point mapping associated with the system of equations to be solved, and on the other hand monotone convergence properties and finally properties of the successive nested sets where the updated components are located by the iterative algorithm. The link between these three types of analysis is also presented.

Auteur(s)

  • Pierre SPITERI : Professeur émérite - Université de Toulouse, INP-ENSEEIHT – IRIT, Toulouse, France

  • Jean-Claude MIELLOU : Professeur honoraire - Université de Bourgogne Franche-Comté, Département de Mathématiques, Besançon, France

INTRODUCTION

Les premiers ordinateurs étaient essentiellement constitués d’une mémoire chargée de stocker les programmes informatiques ainsi que les données nécessaires à ces derniers, une unité arithmétique et logique chargée d’effectuer ces types d’opérations, et les unités d’échanges vers les périphériques (disques, imprimantes, etc.). En raison de la présence d’une seule unité arithmétique et logique, sur ce type d’architecture, un code de calcul est exécuté en mode séquentiel sur cette seule ressource ; cela correspond à l’exécution des instructions l’une après l’autre, donc une seule à la fois, même si les opérations à effectuer sont indépendantes. Ce type d’exécution séquentielle a très rapidement atteint des limites de performances lorsque le calcul ne permet pas d’obtenir des résultats dans des délais raisonnables et nécessite un stockage mémoire important. Ainsi, pour des calculs rendus nécessaires pour traiter de grosses applications, comme par exemple en météorologie, ce type de programmation séquentielle n’est plus adapté et les performances de calcul ne sont pas satisfaisantes pour obtenir des résultats de simulation dans des temps relativement brefs.

Pour remédier à ces limitations le calcul parallèle est apparu comme une solution. Afin d’améliorer les performances des ordinateurs, cette solution consiste à exploiter au mieux les ressources de calcul et de mémorisation. La solution retenue revient à paralléliser les codes, c’est-à-dire à effectuer plusieurs calculs simultanément sur différentes ressources constituées pour chacune d’elle par une unité arithmétique et logique, appelée aussi processeur ; ainsi un plus grand nombre d’opérations sont effectuées en un temps minimal. Pour paralléliser un code de calcul, l’utilisateur est amené à décomposer le problème global à traiter en plusieurs sous-problèmes couplés chacun de taille plus petite. Ainsi plusieurs tâches de calcul pourront être traitées simultanément sur ces processeurs, le couplage entre les sous-problèmes étant effectué par des échanges de résultats entre les processus coopérants en parallèle. Par ce biais, à condition de bien optimiser les codes de calcul parallélisés, les temps d’exécution pourront nettement diminuer ce qui permettra de résoudre des problèmes de plus grande taille et de traiter des volumes de données plus importants.

Ce nouveau mode de calcul nécessite d’une part de remettre en cause l’architecture des premiers ordinateurs, d’autre part d’adapter le programme de calcul à un mode d’exécution parallèle et enfin d’apprendre de nouveaux langages et outils de programmation.

Les architectures de ces superordinateurs ont donc évoluées d’abord par la construction de machines à mémoire commune où tous les processeurs ont accès à cette dernière. Cependant ce type de machine est d’une part onéreux à construire et d’autre part il ne permet pas un parallélisme massif souhaitable pour traiter de grosses applications. Les constructeurs ont donc conçu des machines à mémoire distribuée où chaque processeur possède sa propre mémoire locale, les liaisons entre ces processeurs s’effectuant par un réseau d’interconnexion ; ce dernier permet des échanges de messages entre les processeurs ce qui réalise une mise en œuvre du parallélisme. Il existe également des architectures mixtes combinant les deux cas extrêmes précédents. On verra plus en détail dans un second article d’autres possibilités de concevoir des architectures parallèles.

Par ailleurs sur le plan de la programmation de ce type de machine, il convient de repenser le codage des algorithmes afin de prendre en compte les possibilités offertes d’effectuer simultanément plusieurs instructions en même temps. La solution idéale est de découper le problème à résoudre en tâches indépendantes. Ce mode de calcul est rarement possible et en général le programmeur considère un découpage du problème en tâches couplées entre elles ; dans ces conditions les processeurs échangent les résultats de leurs calculs avec les autres unités avec lesquelles ils doivent communiquer. On distingue essentiellement deux modes de communication : un mode de communication synchrone et un mode de communication asynchrone. Pour fixer les idées nous nous limiterons dans cette série d’articles à un mode de calcul itératif bien adapté à la résolution de problèmes de grande dimension ; dans ces conditions :

  • en mode de communication synchrone chaque processeur peut commencer une nouvelle itération lorsqu’il a reçu les données de tous les processeurs avec lesquels il doit communiquer ce qui implique des périodes d’inactivité entre les itérations ; ce mode de communication est donc bloquant ;

  • en mode de communication asynchrone, chaque processeur exécute ses propres itérations sans tenir compte de la progression des autres processeurs avec lesquels il doit communiquer ; ainsi les processeurs effectuent leurs calculs à leur propre rythme sans attendre les données émises par les autres processeurs en utilisant les dernières données disponibles délivrées par ces derniers. Dans ce mode de communication, il n’y a donc pas de période d’inactivité ; ce mode de communication est donc non bloquant.

Enfin, il existe de nombreux outils permettant de paralléliser les codes de calcul implémentés à partir des langages de programmation classiques (Fortran, C, C++).

Cet article est réservé aux abonnés.
Il vous reste 95% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

KEYWORDS

high performance computing   |   subdomain method   |   multisplitting method   |   large algebraic linear or pseudo-linear systems

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-af1385


Cet article fait partie de l’offre

Mathématiques

(202 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

1. Position du problème

La simulation numérique est une démarche qui est devenue incontournable dans de nombreux domaines scientifiques et industriels, notamment grâce à la puissance actuelle de calcul et à la capacité de stockage des ordinateurs contemporains. Ainsi on assiste actuellement à un développement d’études de phénomènes physiques, chimiques, biologiques, économiques ou encore d’applications médicales, ayant comme point commun d’étre modélisés mathématiquement à partir de lois régissant ces divers phénomènes. Parmi les domaines où la simulation numérique intervient, nous pouvons citer la construction automobile et aéronautique, le génie chimique, la mécanique des fluides, le génie des procédés, les applications nucléaires, la physique des plasmas, la météorologie, l’océanographie, la biologie moléculaire et bien d’autres applications encore, cette liste n’étant pas exhaustive.

Les modèles mathématiques obtenus peuvent imposer des simulations numériques extrêmement complexes. La résolution des équations résultant de cette modélisation peut être une source de difficulté majeure en raison de l’utilisation de structures de données volumineuses pour stocker les données et les résultats de calculs et aussi en raison des temps de calculs prohibitifs. Par exemple, lorsque les phénomènes sont modélisés par des équations aux dérivées partielles, ou encore des systèmes d’équations aux dérivées partielles couplés, les méthodes de discrétisation par différences finies classiques, ou par éléments finis ou encore par volumes finis conduisent à la résolution de systèmes algébriques de très grandes dimensions ; en effet la complexité et le nombre d’inconnues sont d’autant plus élevés que les exigences sur la précision des résultats sont contraignantes. Pour faire face aux besoins grandissant en ressource de calcul, le développement conjoint des architectures et des algorithmes parallèles est une voie d’investigation très explorée actuellement.

Contrairement aux applications parallèles classiques telles que l’exploration de données, la résolution parallèle de grands systèmes algébriques, principalement de nature itérative surtout lorsque les matrices définissant ces derniers sont creuses, fait intervenir des algorithmes nécessitant de nombreux échanges...

Cet article est réservé aux abonnés.
Il vous reste 94% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Mathématiques

(202 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Position du problème
Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - BARBU (V.) -   Nonlinear Semigroups and Differential Equations in Banach Spaces.  -  Noordhoff International Publishing (1976).

  • (2) - PATANKAR (S.V.) -   Numerical Heat Transfer and Fluid Flow.  -  Series in Computational Methods in Mechanics and Thermal Science. New-York : Hemisphere Publishing Corporation (1980).

  • (3) - AXELSON (O.), BARKER (V.A.) -   Finite element solution of boundary value problems.  -  Computer Science and Applied Mathematics. New-York : Academic Press (1984).

  • (4) - DUVAUT (G.), LIONS (J.L.) -   Les inéquations en mécanique et physique.  -  Dunod (1972).

  • (5) - GLOWINSKI (R.), LIONS (J.L.), TRÉMOLIERES (R.) -   Analyse Numérique des Inéquations Variationnelles.  -  T. 1 – 2. Dunod (1976).

  • (6) - LAMBERTON (D.),...

Cet article est réservé aux abonnés.
Il vous reste 92% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Mathématiques

(202 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS