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

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

Version en anglais English

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

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 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.

DOI (Digital Object Identifier)

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


Cet article fait partie de l’offre

Mathématiques

(166 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
Présentation
Version en anglais English

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.

Cet article fait partie de l’offre

Mathématiques

(166 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

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 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

(166 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