Vous êtes sur la page 1sur 35

Réf.

: AF1386 V1

Algorithmes parallèles
Date de publication :
10 octobre 2021 asynchrones II -
Implémentation

Cet article est issu de : Sciences fondamentales | Mathématiques

par Pierre SPITERI, Jean-Claude MIELLOU

Mots-clés Résumé L’implémentation des algorithmes itératifs parallèles asynchrones est l'objet du
architectures présent article. On abordera d’abord l’implémentation des tests d’arrêt des itérations à la
multiprocesseurs | message
passing interface | terminaison fois à partir d’une approche informatique et d’une approche analyse numérique utilisant,
des algorithmes | méthode des dans ce dernier cas, soit la propriété de contraction, soit celle de convergence en ordre
sous-domaines
partiel et enfin également les ensembles emboités. Après avoir rappelé un certain
nombre de notions concernant l’architecture des machines multiprocesseurs, on abordera
le principe d’implémentation de ces méthodes itératives parallèles asynchrones en
particulier pour les méthode de sous-domaines ; l’équilibrage de charge de ces
algorithmes sera également discuté.

Keywords Abstract This article is devoted to the implementation of asynchronous parallel iterative
multiprocessor architecture | algorithms. We will first discuss the implementation of stopping tests both from a
message passing interface |
termination of algorithms | computational approach and from a numerical analysis approach using in the latter case
sub-domain methods either the contraction property or the partial ordering convergence one and also the
nested sets. After recalling some notions concerning the architecture of multiprocessor
machines, the implementation principle of these asynchronous parallel iterative methods
will be discussed, in particular for the sub-domain methods ; load balancing for these
algorithms will be also discussed.

Pour toute question :


Service Relation clientèle
Techniques de l’Ingénieur
Immeuble Pleyad 1 Document téléchargé le : 01/01/2022
39, boulevard Ornano
93288 Saint-Denis Cedex Pour le compte : 7200044384 - universite de bretagne sud // 193.52.48.10

Par mail :
infos.clients@teching.com
Par téléphone :
00 33 (0)1 53 35 20 20 © Techniques de l'Ingénieur | tous droits réservés
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

Algorithmes parallèles asynchrones II


Implémentation
par Pierre SPITERI
Professeur émérite
Université de Toulouse, INP-ENSEEIHT – IRIT, Toulouse, France
et Jean-Claude MIELLOU
Professeur honoraire
Université de Bourgogne Franche-Comté, Département de Mathématiques, Besançon,
France

1. Cadre mathématique d’étude ................................................................. AF 1 386 - 3


1.1 Analyse par des techniques de contraction................................................. — 3
1.2 Analyse en utilisant le principe du maximum discret................................. — 4
1.3 Une approche globale : analyse par les ensembles emboités................... — 4
2. Terminaison des algorithmes itératifs parallèles asynchrones..... — 5
2.1 Méthodes empiriques.................................................................................... — 5
2.2 Approche informatique ................................................................................. — 5
2.3 Approche numérique..................................................................................... — 7
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

3. Implémentation des algorithmes itératifs parallèles


asynchrones ................................................................................................. — 13
3.1 Implémentation numérique séquentielle et parallèle ................................. — 13
3.2 Classification des architectures .................................................................... — 20
3.3 Méthodes de parallélisation.......................................................................... — 24
3.4 Concepts de base MPI de programmation parallèle................................... — 25
3.5 Principe d’implémentation ............................................................................ — 27
3.6 Implémentation sur des architectures multi-GPU ....................................... — 29
3.7 Équilibrage de charge pour les algorithmes parallèles asynchrones........ — 29
4. Conclusion.................................................................................................... — 30
Pour en savoir plus ............................................................................................. Doc. AF 1 386

ans un premier article [AF 1 385] on a considéré la résolution de deux


D types de problème pseudo-linéaire. Le premier problème est un problème
univoque du type
(1)
où A est une matrice de dimension , ensemble des entiers naturels, G et U
sont des vecteurs de dimension M et
(2)

Le second type de problème est multivoque car sa solution U est soumise à


des contraintes inégalité du type
(3)

dans ce cas on est amené à résoudre le problème multivoque suivant


(4)

où U → Ψ (U) est la fonction indicatrice de l’ensemble convexe K définissant les


contraintes, ∂Ψ (U) est le sous-différentiel de cette fonction indicatrice et vérifie
la propriété importante d’être diagonal monotone.

Copyright © – Techniques de l’Ingénieur – Tous droits réservés AF 1 386 – 1

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________

La matrice A étant de grande dimension, dans chaque cas, la détermination


de la solution consiste à résoudre un système algébrique de grande taille. On
associe alors à chacun de ces systèmes non linéaires une équation de point
fixe définie formellement par
(5)
cette dernière étant résolue par un algorithme parallèle asynchrone. Soit α un
nombre entier naturel ; décomposons le vecteur et l’application de
point fixe V → F(V) en α blocs de la façon suivante :

(6)

où l’on note , le bloc-composante de V pour , avec , où

, avec , est un sous-espace de . Soient les normes définies


dans , l = 1, … , α.
Pour résoudre le problème de point fixe (5), on utilise les itérations parallèles
asynchrones définies comme suit : soit donné ; alors, pour tout , Ur+1
est défini récursivement par :

(7)


Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

(8)

et ,

(9)

Dans ce modèle mathématique de l’algorithme parallèle asynchrone, le


parallélisme entre les processeurs est bien décrit par l’ensemble s(r) qui
contient le numéro des composantes relaxées par chaque processeur de
manière parallèle. De plus l’utilisation dans (7) de composantes retardées
provenant de relaxations disponibles au début du calcul, avec satis-
faisant (9), permet de modéliser un comportement non déterministe et
n’implique pas d’inefficacité du schéma de calcul distribué considéré. Sur le
plan pratique, et pour que ces méthodes soient le plus efficace possible, on
effectue des relaxations en prenant les valeurs d’interaction les plus
récentes disponibles calculées par les autres processeurs ; en fait ce choix
s’effectue naturellement lorsque l’algorithme s’exécute sans que le program-
meur n’ait à coder quoi que ce soit.
Pour analyser la convergence de ces méthodes itératives, on dispose de trois
possibilités liées à des propriétés formellement distinctes
– une propriété de contraction de l’application de point fixe F soit par rapport
à une norme vectorielle soit par rapport à une norme uniforme avec poids ;
– une propriété de convergence monotone qui est vérifiée uniquement pour
le problème (1) puisque l’opérateur est une M-fonction
[1] continue surjective, c’est-à-dire hors diagonale décroissante et inverse
monotone, i.e. entraîne V ≤ U, et de plus est supposée
continue et surjective ;
– les itérés successifs Ur appartiennent à des ensembles emboités centrés
en U* [2].
Dans la mesure où dans la suite, on aura à utiliser l’un de ces résultats, on
rappelle les critères présentés précédemment dans le premier article [AF 1 385]
dans la section 1 suivante.

Doc. AF 1 386 – 2 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

____________________________________________________________________________________________ ALGORITHMES PARALLÈLES ASYNCHRONES II

1. Cadre mathématique matrice de contraction (c’est-à-dire matrice non négative de rayon


spectral strictement inférieur à 1) ; il existe alors un unique point
d’étude fixe U* également solution de chaque problème considéré (1) ou
(4). De plus, quelle que soit la donnée initiale U 0, les méthodes
parallèles asynchrones définies par (7) à (9) convergent vers la
Cette section a pour objectif de rappeler des propriétés qui seront solution U* des problèmes (1) ou (4).
utiles pour l’implémentation des algorithmes parallèles asynchrones, Par ailleurs dans le contexte de la proposition 1, en utilisant le
et tout particulièrement la mise en oeuvre de tests d’arrêt efficaces résultat du théorème de Perron-Frobenius [3], on a :
des itérations. Comme indiqué précedemment on considérera des
techniques de contraction, des techniques de convergence mono- (16)
tone et enfin des techniques utilisant des ensembles emboités.
où , Γ > 0, ρ(Jα) est le rayon spectral de Jα et ε est un nombre
réel positif ; de plus, conformément au résultat de [3], λ = ρ(Jα) si Jα
est une matrice irréductible et dans le cas réductible ε choisi assez
1.1 Analyse par des techniques petit de sorte que λ < 1. À partir de l’inégalité (14) on déduit alors
de contraction l’inégalité suivante
L’opérateur V → Φ(V) perturbé par l’application affine (AU – G) et (17)
associé au problème (1) (respectivement V → ∂Ψ(V) associé au pro-
blème (4)) étant diagonal monotone, on considère de plus que la où représente la norme uniforme avec poids suivante
matrice A admet une M-minorante pour la décom-
(18)
position en α blocs, c’est-à-dire qu’il existe
tel que pour l = 1,…, α, on ait : donc l’application U → F(U) est une contraction dans et en utili-
sant un résultat d’El Tarazi [4] on obtient un résultat analogue à
celui énoncé dans la proposition 1 sur la convergence des itéra-
(10) tions parallèles asynchrone vers l’unique solution exacte U* des
problèmes (1) ou (4).
Nota : pour plus de détails sur l’hypothèse (16) qui constitue un point délicat
où Gl (Ul) est l’application de dualité définie par : contacter les auteurs Jean-Claude Miellou (jcmiellou@gmail.com) ou Pierre Spiteri
(pierre.spiteri@toulouse-inp.fr).
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

Dans la suite nous pourrons remplacer l’hypothèse (10) par


représentant la norme de (espace dual de ) et <·,·>l le (19)
produit de dualité entre ces deux sous-espaces. Dans l’inégalité hypothèse vérifiée pour la plupart des discrétisations spatiales utili-
(10) N est une M-matrice, dont les coefficients diagonaux vérifient sées dans la pratique. De plus, au lieu d’une décomposition en α
pour l = 1, …, α, blocs, on peut considérer une décomposition par points ; si A est
une M-matrice, elle est alors sa propre M-minorante associée à la
(11) décomposition par points. On a alors le résultat suivant :
et pour tout l, , l ≠ k, , , les coefficients Corollaire 1. Considérons les problèmes (1) et (4) ; si la matrice A
hors diagonaux ηl,k ≥ 0 vérifiant est une M-matrice et si de plus pour le problème (1) l’hypothèse (2)
est satisfaite, alors, on peut associer à ces deux problèmes une
(12) application de point fixe contractante dans pour la décomposi-
tion par points, et il existe un unique point fixe U* également solu-
avec , l ≠ k. tion de chaque problème considéré. De plus, quelle que soit la
donnée initiale U0, les méthodes parallèles asynchrones définies par
Remarque 1 : La propriété (11) représente une propriété (7) à (9) convergent vers la solution U* de chaque problème consi-
d’accrétivité forte dans le sous-espace et pour k ≠ l, ηl,k est la déré (1) ou (4).
norme de la sous-matrice Al,k. En pratique, l’utilisateur n’a pas accès à autant de processeurs
que de blocs composantes du vecteur à calculer. Donc, le système
Par conséquent, dans le cadre d’une décomposition en α blocs, algébrique à résoudre est décomposé en β blocs adjacents, β ≤ α
soit q(·) la norme vectorielle définie dans par : (en pratique, ), correspondant à une décomposition plus
grossière en grands blocs et constituée par un regroupement de
(13) blocs adjacents de la décomposition la plus fine, c’est-à-dire en
α blocs. Les communications entre processeurs se font alors par
On a alors le résultat suivant : des échanges des valeurs des composantes de couplage entre ces
blocs ; à noter que grâce à ce découpage, le coût des communica-
Proposition 1. Considérons les problèmes (1) et (4) ; si la matrice A tions est minimisé dans la mesure où un nombre peu élevé de
admet une M-minorante et si de plus pour le problème (1) l’hypo- composantes utiles au calcul est transmis et non la totalité du
thèse (2) est satisfaite, alors on peut associer à ces deux problèmes sous-vecteur calculé par les processus voisins. Dans ce contexte
une application de point fixe F contractante en norme vectorielle d’utilisation plus réaliste de supercalculateur on peut établir les
dans pour la décomposition en α blocs, c’est-à-dire vérifiant : résultats suivants.
(14) Proposition 2. Soit N la M-minorante pour la décomposition en
α blocs. Considérons une décomposition plus grossière en β blocs telle
avec Jα donnée par : que β ≤  α. Alors, l’inégalité (14) est valable pour la α-décomposition et
est une matrice de contraction pour l’application de
(15) point fixe associée à la β-décomposition où est la partie bloc trian-
gulaire inférieure stricte de N, est sa partie bloc triangulaire supé-

Copyright © – Techniques de l’Ingénieur – Tous droits réservés Doc. AF 1 386 – 3

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________

Pour la résolution du problème (1) on a alors le résultat suivant


rieure stricte et est la matrice bloc diagonale de N. Par conséquent
les méthodes itératives parallèles asynchrones associées à la considère
Corollaire le 3. On
problème (1) avec
β-décomposition convergent vers U*. . Si A vérifie l’hypothèse (19), et si Φ est
un opérateur diagonal continu vérifiant l’hypothèse (2), alors les
itérations parallèles asynchrones appliquèes à la résolution du
Remarque 2 : Pour la résolution du problème (4) et du pro- problème (1) convergent de façon monotone à condition que
blème (1) par les itérations parallèles asynchrones lorsque la l’approximation initiale U 0 soit une ou une
matrice A admet une M-minorante pour une décomposition en .
α blocs et que, dans le cas de la résolution du problème (1),
l’hypothèse (2) est satisfaite, le résultat précédent montre clai-
rement que si l’on considère une décomposition en β blocs Remarque 3 : Comme l’application U → ∂Ψ(U) n’est pas conti-
avec alors, via l’utilisation du Théorème d’El Tarazi [4], nue, ce résultat n’est pas valable pour la résolution du pro-
les itérations parallèlles asynchrones associées à la décomposi- blème (4).
tion en β blocs sont convergentes.

Un cas très intéressant correspond à la situation où A est une 1.3 Une approche globale :
M-matrice, i.e. lorsque l’hypothèse (19) est vérifiée. Dans ce cas on analyse par les ensembles emboités
a vu que A est alors sa propre M-minorante. On peut donc en
conclure que pour la résolution par les itérations parallèles asyn- Une autre approche distincte d’analyse de la convergence des
chrones du problème (4) d’une part et du problème (1) d’autre part itérations parallèles asynchrones a été proposée par D. Bertsekas [2]
où dans ce dernier cas, l’hypothèse (2) est satisfaite, les méthodes (voir aussi D. Bertsekas et J. Tsitsiklis [6]) ; dans cette étude les itéra-
itératives asynchrones sont convergentes quelle que soit la décom- tions successives de la méthode sont localisées dans des ensembles
position en β blocs. On énonce alors le résultat important suivant : emboités admettant pour centre la solution U*. Par conséquent
Corollaire 2. Si A vérifie l’hypothèse (19), alors les itérations comme ces ensembles devienent de plus en plus petits, les
parallèles asynchrones appliquées à la résolution du problème (4) méthodes itératives parallèles asynchrones convergent. D. Bertsekas
d’une part et d’autre part du problème (1) à condition que dans ce a établi dans [2] le résultat suivant :
dernier cas l’hypothèse (2) soit vérifiée, sont convergentes vers la Théorème 1. Supposons qu’il existe des ensembles satis-
solution U* quelle que soit la décomposition du problème en faisant :
grands blocs.
(a)  … , (box condition) ;
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

(b)  , , (condition d’emboitement des


1.2 Analyse en utilisant le principe ensembles ) ;
du maximum discret (c) il existe U* tel que pour , , (condi-

On suppose dans la suite que tion de convergence des itérations asynchrones).


Alors, si les hypothèses (8)-(9) sont satisfaites, la suite d’ itérés
(20)
converge vers U*, unique point fixe de F.
Soit donc une M-fonction vérifiant l’hypothèse (20) et considé-
rons la solution du système d’équations suivant : En fait le théorème 1 fournit un cadre abstrait pour analyser le
comportement des algorithmes parallèles asynchrones. Cependant
(21) ce résultat n’est pas facile à utiliser en pratique et ne s’applique
pas directement car il est nécessaire de définir les ensembles .
Pour l’analyse en ordre partiel des itérations parallèles asyn- Cependant on peut mettre en évidence des situations particulières
chrones, on modifie légèrement l’algorithme (7) dans la mesure où qui permettent d’illustrer pratiquement ce résultat général ; ces
situations particulières ont d’ailleurs été rencontrées dans les para-
la donnée initiale est soit une de , i.e.
graphes 1.1 et 1.2 qui constituent donc des critères pratiques d’uti-
, soit une de , i.e. . Compte lisation du résultat de D. Bertsekas. Pour illustrer on considère une
tenu de cette donnée initiale U 0 on considère l’algorithme parallèle première situation particulière correspondant au cas d’une applica-
asynchrone défini de façon analogue à (7) où s(r) et sont tion contractante par rapport à une norme uniforme avec poids
définis comme en (8) et (9) respectivement. On rappelle un résultat identique à celle définie par (18) ; dans ce cas les ensembles
important [5]. peuvent être définis comme suit :

Proposition 3. Soit une M-fonction continue surjective, F (24)


l’application de point fixe associée à , une
de ( une de respectivement). Alors où U* est l’unique point fixe de F et λ < 1 est la constante de
contraction. Les ensembles sont bien définis, et les hypothèses
l’itération asynchrone ( respectivement) définie par
du théorème 1 sont clairement vérifièes puisque les ensembles
(7) à (9) est bien définie et satisfait : sont emboités.
(22) Ces rappels sont importants pour la compréhension de la suite
de cet article, tout particulièrement la mise en oeuvre numérique
et de tests d’arrêt des itérations parallèles asynchrones. La suite de
cet article se décompose alors en deux parties distinctes : d’une
(23) part, la présentation des critères d’arrêt des itérations parallèles
asynchrones en considérant à la fois un point de vue informatique
respectivement, où (22) signifie que et U* ≤ … et un point de vue numérique et, d’autre part, l’implémentation de
≤ Ur+1 ≤ Ur ≤… ≤ U0, et (23) signifie que et U* ≥ … ces méthodes sur des architectures les plus courantes en situant
cette implémentation dans le contexte logiciel le plus couramment
≥ Vr+1 ≥ Vr ≥ … ≥ V0. utilisé.

AF 1 386 – 4 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

____________________________________________________________________________________________ ALGORITHMES PARALLÈLES ASYNCHRONES II

2. Terminaison À noter qu’il n’existe aucune preuve formelle de validité pour les
méthodes de terminaison précédentes. En effet, pour une architec-
des algorithmes itératifs ture de machine de type passage de messages, tous les proces-
seurs possèdent des informations locales ; en particulier, il n’y a
parallèles asynchrones pas d’horloge globale et de plus les messages peuvent subir des
retards arbitrairement grands.

Si la détection de convergence des itérations parallèles syn- Dans la suite, nous distinguerons l’approche informatique et
chrones ne présente pas de difficultés majeures, par contre, en rai- l’approche numérique.
son du comportement non déterministe des méthodes asynchrones,
il existe dans ce cas une réelle difficulté d’implémenter des tests
d’arrêt fiables des itérations. En effet le problème de terminaison 2.2 Approche informatique
des itérations parallèles asynchrones est un problème extrêmement
difficile à coder car il relève à la fois des mathématiques appliquées Les travaux ultérieurs réalisés dans le contexte informatique ont
et également de l’informatique. Sur le plan mathématique, la termi- permis de fournir une preuve formelle de la validité des critères
naison de telles méthodes doit se produire lorsque le vecteur itéré d’arrêt. Dans ce paragraphe on distinguera une approche centrali-
est suffisament proche de la solution du problème. Par ailleurs sur sée d’une approche décentralisée ; pour limiter la présentation on
le plan informatique on doit actuellement tenir compte de la spécifi- indiquera uniquement le principe d’implémentation et on renvoie
cité des architectures des machines multiprocesseurs, en particulier le lecteur aux références bibliographiques pour plus de détails
sur des systèmes distribués où les communications s’effectuent par ainsi que pour visualiser les schémas d’implémentation.
passage de messages et dans ce contexte les processeurs pos-
sèdent uniquement des informations locales.
2.2.1 Approche centralisée
Comme nous le verrons dans le troisième article [AF 1 387] ce
type d’étude est d’autant plus intéressant à traiter que les Dans l’approche centralisée de détection de convergence, un pro-
méthodes parallèles asynchrones sont très efficaces lorsqu’il y a cesseur reçoit l’état des autres processeurs et détecte la conver-
beaucoup de synchronisations entre les processeurs, les attentes gence globale lorsque tous les processus ont convergé localement.
alors engendrées produisant des phases d’inactivité de ces der- Plusieurs études ont été entreprises par de nombreux auteurs.
niers. En outre, l’utilisation de méthodes parallèles asynchrones
présente un intérêt supplémentaire lorsque les communications 2.2.1.1 Méthode de D. Bertsekas et J. Tsitsiklis
entre les processeurs sont lentes, situation que l’on retrouve par
exemple dans l’utilisation des grilles de calcul ou du cloud compu- D. Bertsekas et J. Tsitsiklis [6] considèrent que chaque donnée
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ting correspondant au cas où les clusters utilisés sont distants et communiquée sur un lien est correctement reçue avec un retard
hétérogènes. fini mais cependant non spécifié. La méthode de terminaison des
algorithmes itératifs asynchrones est basée sur la décomposition
Nota : les grilles de calcul, le cloud computing ainsi que les clusters (ou grappes de du problème en deux parties distinctes :
calcul) seront présentés en détail au paragraphe 3.2.2
1) L’algorithme itératif est modifié de telle sorte qu’il se termine
en un temps fini et qu’il converge vers un point fixe proche de la
solution du problème ;
2.1 Méthodes empiriques 2) Une procédure de détection informatique de terminaison est
Lors des premières expérimentations parallèles asynchrones il a appliquée.
été utilisé des méthodes de terminaison empiriques. Elles étaient Il est à noter que l’algorithme asynchrone est modifié et qu’il est
constituées par l’observation par un processeur particulier des condi- différent de l’algorithme asynchrone classique dans la mesure où la
tions locales de terminaison sur chaque processeur. L’algorithme valeur d’une ou plusieurs composantes du vecteur itéré ne changent
itératif était alors arrêté lorsque toutes les conditions locales de termi- pas durant un temps fini, contrairement à ce que produit l’algo-
naison étaient satisfaites. Ce type de terminaison ne donne des résul- rithme de calcul où les composantes peuvent changer à chaque
tats satisfaisants que dans le cas où le degré d’asynchronisme est relaxation. D. Bertsekas et J. Tsitsiklis introduisent donc une nou-
faible. Par contre lorsque les retards entre les processeurs, dus en velle application de point fixe définie soit par la valeur réactualisée
particulier au déséquilibre des tâches de calcul, sont importants, cette déduite de l’algorithme de calcul si la valeur de la composante a
méthode peut entraîner une terminaison prématurée. Une autre changée, soit par l’ancienne valeur si la réactualisation n’est pas
méthode possible de détection de convergence est constituée, d’une significative. Ce contexe a conduit D. Bertsekas et J. Tsitsiklis à
part, par l’émission de messages de terminaison et de redémarrage modifier l’algorithme itératif de la manière suivante : si la mise
par chaque processeur et, d’autre part, par l’utilisation d’un proces- à jour d’une composante du vecteur itéré ne change pas significati-
seur spécial qui collecte et centralise les messages, spécifiquement vement sa valeur alors la nouvelle valeur réactualisée n’est pas
dédié à l’arrêt du processus itératif [6]. modifiée et n’est pas communiquée aux autres processeurs. L’arrêt
En utilisant une approche différente, le schéma de terminaison de l’algorithme itératif modifié se produit lorsqu’une mise à jour ne
échantillonne périodiquement l’état des processeurs et associe à modifie pas la valeur des composantes du vecteur itéré quel que
chacun d’eux une valeur booléenne suivant la satisfaction ou non soit le processeur (c’est-à-dire lorsque toutes les conditions de ter-
du critère de terminaison local. Cette valeur locale est ensuite com- minaison locales sont satisfaites) et qu’aucun message n’est en tran-
muniquée aux autres processeurs. L’état global est déduit en calcu- sit dans le réseau de communication. Ainsi, en ce qui concerne la
lant le point fixe d’un opérateur booléen au moyen d’un algorithme non-modification des composantes du vecteur itéré toutes les condi-
itératif asynchrone. Cependant, cette méthode de terminaison tions de terminaison locales sont satisfaites.
nécessite que chaque processeur dispose d’une estimation des ins- Plusieurs procédures de détection de terminaison de l’algorithme
tants de début et de fin de l’algorithme de point fixe asynchrone itératif asynchrone modifié peuvent être utilisées. On peut citer :
associé à l’opérateur booléen. Une autre méthode de détection de
– la procédure de Dijkstra et Scholten [7] ;
convergence utilise des messages de terminaison et d’acquittement
de messages de terminaison. Dans ce cas un processeur termine – l’algorithme de snapshot (ou cliché) de Chandy et Lamport [8]
ses calculs à condition que le critère de terminaison local soit satis- qui consiste à fournir une image instantanée de l’état global du
fait et qu’il ait reçu de la part de tous les autres processeurs des système.
messages de terminaison et d’acquittement de tous ainsi que de ses La procédure de Dijkstra et Scholten est basée sur l’accusé de
propres messages de terminaison. réception de tous les messages et la génération d’un graphe

Copyright © – Techniques de l’Ingénieur – Tous droits réservés Doc. AF 1 386 – 5

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________

d’activité hiérarchisé. Les processeurs communiquent deux types sante du vecteur itéré est pris en compte et communiqué aux autres
d’information : processeurs s’il est différent de la dernière valeur calculée. En outre
– la nouvelle valeur des composantes du vecteur itéré ; des requêtes sont envoyées à tous les processeurs chaque fois
– l’accusé de réception des messages contenant une nouvelle qu’une condition de terminaison locale n’est pas satisfaite. Un pro-
valeur. cesseur effectue les calculs et transmet les messages et les requêtes
aux autres processeurs aussi longtemps que sa condition de termi-
Dans l’état inactif, un processeur P ne calcule pas et ne transmet naison locale n’est pas satisfaite ou qu’il reçoit des requêtes prove-
aucun message et aucun accusé de réception. Ce processeur nant d’autres processeurs. La terminaison intervient lorsque tous les
inactif P change d’état dès la reception d’un message contenant processeurs ont satisfait leur condition locale de terminaison et
une nouvelle valeur d’un sous-ensemble de composantes du vec- qu’aucun message relatif à une requête ou à un résultat d’une réac-
teur itéré provenant d’un autre processeur qui devient le père de P tualisation n’est en transit dans le système. S.A. Savari et D. Bertsekas
dans le graphe d’activité hiérarchisé. Le message qui a activé P a ont donné une preuve formelle de validité de cet algorithme de ter-
un rôle particulièrement important jusqu’à la phase d’inactivité sui- minaison. Le principal avantage de cette méthode est qu’elle peut
vante ; il est appelé message critique. être appliquée avec succés à une plus large classe d’algorithmes ité-
Dans l’état actif, un processeur réactualise les composantes du ratifs que la méthode de D. Bertsekas et J. Tsitsiklis. Son principal
vecteur itéré qu’il doit relaxer, transmet les valeurs mises à jour inconvénient est de nécessiter un très grand nombre de communi-
aux autres processeurs, ou au moins, afin de minimiser les com- cations et d’imposer des hypothèses restrictives comme, par
munications, à ceux qui utilisent ces valeurs, et envoie systémati- exemple, des communications ordonnées.
quement un accusé de réception pour tout message reçu à
l’exception du message critique qui est traité par une procédure 2.2.1.3 Méthode de J. Bahi, S. Contassot-Vivier,
spécifique. Un processeur actif P change d’état lorsque sa condi- R. Couturier
tion de terminaison locale est satisfaite, que les accusés de récep-
Citons également les travaux de J. Bahi et al. [10] qui ont étudié
tion ont été envoyés pour tous les messages reçus, à l’exception
une approche centralisée de terminaison des méthodes parallèles
du message critique, et qu’un accusé de réception a été reçu pour
asynchrones. Dans ce contexte asynchrone, la difficulté de détection
tous les messages envoyés. Lorsque cette phase de transition est
de la convergence est accentuée par celle d’obtenir à tout moment
terminée, le processeur P transmet à son père l’accusé de récep-
une image correcte de l’état global du processus itératif. En effet les
tion du message critique.
techniques utilisées en informatique distribuée pour récupérer ces
Dans la phase initiale, un seul processeur, appelé processeur informations sont centralisées et synchrones. Ces méthodes de
racine, et noté R, est actif. Par la suite, tous les processeurs sont détection ne sont pas adaptées aux systèmes distribués de grande
progressivement activés par la réception de message. Le graphe taille et/ou distants, ni aux algorithmes itératifs asynchrones. L’algo-
d’activité évolue en fonction des messages critiques reçus, de la rithme de détection de convergence doit également être asynchrone.
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

satisfaction des conditions locales de terminaison et de la récep- De plus, la centralisation de ces méthodes de terminaison peut géné-
tion d’acquittements. rer le problème classique de goulots d’étranglement. En effet, dans
D. Bertsekas et J. Tsitsiklis ont identifié deux grandes classes de un algorithme centralisé classique, tous les processeurs commu-
méthodes pour lesquelles l’algorithme itératif asynchrone modifié niquent directement leurs informations à un processeur maître. Tou-
converge en un temps fini : tefois, ce schéma de communication, impliquant qu’une machine
1) Le cas où l’algorithme itératif asynchrone est associé à une puisse être directement contactée par toutes les autres, n’est pas
application de point fixe F contractante pour une norme uniforme possible dans tous les systèmes parallèles, en particulier dans les
avec poids ; clusteurs distribués où chaque site peut avoir des politiques d’accès
2) Le cas où l’algorithme itératif asynchrone est associé à une restreint pour des raisons de sécurité. Dans la plupart des cas, une
application de point fixe F monotone croissante. seule machine d’un cluster donné n’est accessible de l’extérieur. Afin
de contourner ce problème, un transfert explicite de message peut
La validité de la méthode de D. Bertsekas et J. Tsitsiklis peut être être effectué à partir de n’importe quel noeud du système vers le
formellement prouvée. noeud central. Une telle méthode prèsente l’avantage de n’impliquer
Cependant cette méthode présente des inconvénients dans la que des communications entre des noeuds voisins et est bien adap-
mesure où : tée aux systèmes de communication hiérarchiques que l’on peut
– elle requiert l’utilisation d’un protocole complexe ainsi que trouver dans les clusters distribuées. Malheureusement, ce dernier
deux fois plus de communications qu’un algorithme itératif asyn- schéma implique davantage de communications entre les proces-
chrone classique ; seurs, et ce supplément de communications ralentit, indirectement,
– de plus des conditions plus restrictives doivent être satisfaites l’aboutissement du processus itératif lui-même. En outre, il induit
afin de garantir la convergence de l’algorithme asynchrone modifié. également des retards plus importants vers le noeud central.

L’autre procédure de terminaison, correspondant à l’algorithme C’est pourquoi, ces méthodes centralisées sont de moins en
de snapshot de Chandy et Lamport, est basée sur la production moins utilisées, et qu’actuellement on préfère détecter la conver-
d’une image instantanée de l’état global du système obtenue par gence par des approches décentralisées.
la production de messages de marquage et de l’enregistrement
des états des liens et des états des processeurs lorsque les mes- 2.2.2 Approche décentralisée
sages de marquage sont délivrés. Les états enregistrés dans un
snapshot ne correspondent pas nécessairement à l’état global réel L’approche décentralisée présentée ci-dessous est mieux adap-
du système à un instant donné. Cependant les informations conte- tée pour la terminaison des algorithmes itératifs parallèles asyn-
nues dans un snapshot sont suffisantes pour détecter certaines chrones.
propriétés de l’état global du système, en particulier la terminai-
son. D. Bertsekas et J. Tsitsiklis ont établi une preuve formelle de 2.2.2.1 Méthode de M. Chau et al.
validité de cette méthode de terminaison.
Pour les méthodes parallèles asynchrones, dans [11] [12],
M. Chau et al. ont utilisé comme critère d’arrêt un algorithme décen-
2.2.1.2 Méthode de S.A. Savari et D. Bertsekas
tralisé où la détection de la convergence asynchrone est réalisée par
Une autre méthode de terminaison particulièrement intéressante la circulation d’un jeton. Afin de participer à la détection de la
a été proposée par S.A. Savari et D. Bertsekas [9]. Dans cette procé- convergence chaque processeur met à jour les composantes du
dure, le modèle décrivant les itérations asynchrones est légèrement sous-vecteur qu’il doit relaxer et calcule la norme du résidu attachée
modifié ; le résultat de chaque nouvelle mise à jour d’une compo- à ce bloc. La détection de la convergence est alors effectuée au

AF 1 386 – 6 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

____________________________________________________________________________________________ ALGORITHMES PARALLÈLES ASYNCHRONES II

moyen d’un algorithme de « snapshot » (§ 8.2 de [6], [8]), corres- cas, la détection de la convergence globale. Toutefois, dans le
pondant à une variante de la méthode de Lamport. Il y a conver- contexte spécifique de la convergence globale, la détection de termi-
gence lorsqu’un prédicat donné sur un état global est vrai. Un naison nécessite certaines adaptations spécifiques qui impliquent
prédicat classique correspond au fait que le vecteur itéré généré par l’utilisation d’un diagramme en arbre.
l’algorithme itératif asynchrone est suffisamment proche de la solu-
tion du problème (p. 580 de [6]) ; de plus, pour chaque processus, et Un message informe le destinataire que tous les processeurs
pour éviter une détection prématurée de convergence, la norme du situés dans la sous-arborescence dépendant de son expéditeur
résidu local doit rester sous un seuil donné après deux mises à jour ont atteint la convergence locale. Ainsi, sur chaque processeur,
successives des composantes [6] [13]. Il est à noter qu’en raison de l’algorithme considère le nombre de voisins dans l’arbre desquels
la détection et de l’arrêt global des processus, la mise en oeuvre de aucun message de convergence n’a déjà été reçu. Ainsi, un noeud
chaque variante d’une méthode parallèle asynchrone est alors plus détectera la convergence globale lorsqu’il a reçu le message de
complexe que celle d’une méthode parallèle synchrone ; en effet, convergence de tous ses voisins et est lui-même en convergence
dans ce cas on doit utiliser des communications point à point (voir locale. L’exactitude de cette procédure de détection de la conver-
§ 3.4) entre deux processus parallèles bien identifiés et permettre à gence globale est prouvée dans le contexte où des techniques de
n’importe quel processeur de continuer ses propres calculs sans contraction sont utilisées [10] ; dans d’autres cas, le processus de
avoir à attendre l’achévement de toute opération d’envoi ou de détection de convergence globale est toujours valable, mais une
réception en cours. On supprime ainsi les temps morts d’inactivité étape de vérification supplémentaire est nécessaire pour s’assurer
dus aux synchronisations. que le système était globalement en phase de terminaison au
moment de la détection.
2.2.2.2 Méthode de J. Bahi et al.
2.2.2.3 Méthode de F. Magoules et al.
Une autre approche permettant plus de flexibilité est proposée
par J. Bahi et al. dans [10] ; cette approche n’utilise pas de circula- F. Magoules et al. [14] présentent de nouveaux résultats
tion de jeton. De plus cet algorithme de détection de convergence concernant la détection de convergence pour les itérations paral-
permet une implémentation complétement décentralisée à la fois lèles asynchrones. Cette étude s’appuie sur l’estimation consis-
pour les algorithmes itératifs asynchrones mais également pour tante du résidu en utilisant des séquences de vecteurs générées
les algorithmes itératifs synchrones, avec, dans ce dernier cas, par chaque processeur. L’algorithme de « snapshot » introduit par
quelques modifications mineures. En ce qui concerne la détection K.M. Chandy et L. Lamport constitue un moyen de construire
de convergence, la difficulté majeure réside dans l’établissement l’état global de n’importe quel système distribué par enregistre-
de preuve que l’algorithme proposé ne détecte pas la convergence ment de l’état des processus et des canaux de communication ; il
prématurément. En effet, dans les méthodes asynchrones, l’intro- permet dans la suite de proposer deux extensions possibles pour
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

duction de retards inhérents à la modélisation de l’algorithme détecter la terminaison des itérations asynchrones dans les envi-
pourrait conduire à une fausse détection de convergence. Cette ronnements de communications en file du type FIFO (First In First
situation pourrait se produire généralement dans des contextes Out, soit premier entré, premier sorti). Conformément au point de
d’utilisation de machines hétérogènes, par exemple lorsqu’un pro- vue développé par S.A. Savari et D.P. Bertsekas où les données
cesseur effectue des mises à jour sur le bloc qu’il doit traiter alors de calcul sont incluses dans des « snapshots » ces auteurs pro-
qu’un autre processeur plus lent effectue des mises à jour retar- posent d’étendre les deux protocoles précédemment envisagés et
dées, par exemple dans le cas de l’utilisation de méthodes avec de prendre en compte les messages non-FIFO ; ainsi les deux
recouvrement. Cette difficulté est encore accrue avec l’utilisation nouveaux protocoles proposés n’introduisent aucune phase de
de processeurs distants où le rapport communication/calcul peut coordination. Puis, en considérant un modèle de communications
être important. En conséquence, le principe de l’algorithme de où au moins les messages de calcul sont ordonnés en file, les
détection de terminaison décentralisée repose sur deux étapes auteurs proposent une autre méthode sans « snapshot », repo-
classiques distinctes. La première étape consiste à détecter la sant uniquement sur les données de calcul. L’idée principale est
convergence locale sur chaque processeur, tandis que la seconde d’enregistrer l’état d’un canal lorsque deux messages reçus suc-
étape est relative à la détection de la convergence globale. cessivement sont très proches. Les processus ont donc besoin de
L’étape de détection de la convergence locale est assez similaire à deux fois plus de mémoire pour les messages reçus. Enfin, ces
celle utilisée dans le mode synchrone. Généralement pour situer auteurs introduisent un environnement de communication dans
l’état actuel du processus itératif par rapport au point fixe à détermi- lequel le message non-FIFO délivré peut être caractérisé, en rai-
ner on utilise la norme du résidu pour stopper ce processus itératif son des exigences de niveau de performance sur la plateforme de
local. Ainsi, l’itération locale est terminée lorsque la norme du calcul. Ils en déduisent donc deux nouveaux autres protocoles
résidu est inférieure à un seuil donné. Néanmoins, on peut noter qui permettent de construire approximativement un vecteur d’ité-
que, dans tous les algorithmes itératifs et pas spécialement dans les ration global. Grâce à des hypothèses appropriées, une analyse
algorithmes asynchrones, une fausse détection de la convergence formelle est effectuée lorsque l’espace est normé par n’importe
globale peut se produire si aucune précaution n’est prise. L’heuris- quelle norme, afin d’obtenir une borne d’erreur de la valeur cal-
tique commune pour la détection d’une convergence locale défini- culée du résidu. Des expérimentations sur divers superordina-
tive est alors de supposer que cette convergence locale est atteinte teurs montrent clairement que le résidu est estimé avec une
lorsque la norme du résidu est inférieure à un seuil donné pour un bonne précision. Par rapport aux précédentes contributions déve-
nombre donné d’itérations successives. Cette valeur requise du loppées par d’autres auteurs, la présente étude montre qu’une
nombre d’itérations successives existe et est finie puisque le proces- seule opération de réduction à chaque itération (au lieu de deux
sus itératif converge ; le résultat de [13] permet de donner une esti- dans les autres contributions) est suffisante pour le calcul du
mation de cette valeur. résidu ; ainsi, cette étude minimise à la fois les délais de détec-
tion de convergence et les coûts de communication.
La convergence globale se produira lorsque tous les processus
locaux auront convergé. Cependant, bien qu’en mode asynchrone la
détection de la convergence locale ne présente pas de difficulté
majeure, par contre, en raison de la difficulté de représentation d’un 2.3 Approche numérique
état global du processus itératif, la détection de la convergence glo-
bale n’est pas évidente. La détection de terminaison d’algorithme On indique ci-dessous trois approches distinctes de détection de
décentralisé est alors basée sur un schéma similaire à celui du pro- terminaison d’algorithmes parallèles asynchrones basées sur les
tocole d’élection. Ce protocole consiste à désigner dynamiquement propriétés qui ont permis d’analyser le comportement des ces
un processeur pour effectuer une tâche donnée, à savoir, dans notre algorithmes itératifs.

Copyright © – Techniques de l’Ingénieur – Tous droits réservés Doc. AF 1 386 – 7

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________

2.3.1 Utilisation de l’algorithme secondaire en [17] dans le contexte d’itérations parallèles asynchrones. Afin
du contrôle des erreurs de donner une estimation de la distance entre la solution exacte et
la valeur de l’itéré courant, et donc de proposer plusieurs critères
Dans [15], J.-C. Miellou a proposé une méthode de détection de d’arrêt originaux en ligne pour stopper les itérations parallèles
convergence basée sur l’utilisation d’un algorithme secondaire de asynchrones et donc utilisables pour les méthodes générales de
contrôle des erreurs dérivé de l’algorithme de F. Robert et G. Schroeder point fixe définies dans un espace produit, J.-C. Miellou, P. Spiteri
[16]. Dans le cadre de l’étude de la convergence par des techniques et al. ont développé une étude complète permettant d’obtenir,
de contraction, cet algorithme secondaire permet de résoudre le sys- lorsque les tests d’arrêt envisagés sont satisfaits, des majora-
tème z = Jz de petite dimension α, où J est la matrice de contraction tions d’erreur ainsi que des estimations précises et très utiles
de rayon spectral plus petit que l’unité. Quelle que soit la donnée ini- des normes du résidu. Il est à noter que ces bornes dépendent
tiale z 0, l’algorithme secondaire convergera évidement vers zéro, de la topologie choisie, et plus précisément des constantes
solution du problème z = Jz. Donc en choisissant pour l’algorithme d’équivalence entre la norme choisie et une utilisation spécifique
principal parallèle asynchrone et l’algorithme secondaire la même de la formulation générale du théorème de Perron-Frobenius
stratégie de choix des composantes à relaxer et les mêmes valeurs [10], ce résultat étant lié à l’utilisation de la norme de Perron-
retardées, J.-C. Miellou a établi qu’à condition d’initialiser l’algo- Frobenius (18) lorsque les matrices modélisant le problème à
rithme secondaire par un vecteur z0 vérifiant : résoudre sont irréductibles. Ces méthodes de terminaison sont
définies grâce à une estimation du diamètre des ensembles
emboités , centrés sur la solution cherchée, et qui contiennent
un certain nombre de vecteurs itérés sélectionnés et nécessaires
où U0 – U* est l’erreur initiale, à chaque pas r de l’algorithme
pour obtenir le critère d’arrêt ; la construction de tels ensembles
l’inégalité suivante est vérifiée
est possible lorsque la convergence des méthodes itératives
parallèles asynchrones sont analysées par des techniques de
contraction ou de contraction approchée [17], correspondant au
donc on pourra stopper l’algorithme parallèle asynchrone princi- fait que l’application de point fixe est contractante par rapport à
pal, lorsque toutes les composantes du vecteur z r sont de module une norme vectorielle et admet une matrice de contraction J,
inférieur à une tolérance donnée η. L’algorithme secondaire néces- matrice non négative et de rayon spectral strictement inférieur à
site nettement moins de calculs que l’algorithme principal et peut 1 [18] [19] [20]. En d’autres termes, les critères d’arrêt considérés
très bien être implémenté à moindre coût avec l’algorithme princi- sont formulés en prenant en compte la distance entre les extré-
pal ; il fournit donc ainsi une méthode de terminaison fiable et éco- mités d’un segment d’ordre contenant tous les vecteurs itérés
nomique des méthodes parallèles asynchrones. sélectionnés nécessaires pour définir le critère d’arrêt. Ainsi, si la
longueur de ce segment d’ordre est inférieure ou égale à une
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

tolérance choisie pour définir le critère d’arrêt considéré, le


2.3.2 Utilisation de la convergence monotone processus itératif sera stoppé. De plus, pour obtenir une estima-
tion correcte des segments d’ordre considérés pour stopper
Le résultat de la proposition 3 permet aussi d’obtenir un critère
l’algorithme itératif, il est nécessaire d’englober plusieurs itérés
d’arrêt fiable, lorsque l’on considère deux suites de vecteurs itérés
successifs dans cet ensemble ce qui permet ensuite de
associées à une de et à une de
construire de manière dynamique les ensembles emboités. Ceci
respectivement. En effet du résultat de la proposition 3 on
est rendu possible grâce à l’utilisation de la notion de macro-
déduit le corollaire suivant :
itération glissante.
Corollaire 4. Si l’on considère les itérations de point fixe paral-
lèles asynchrones (7) avec, d’une part, l’estimation U0, qui consti- Les critères d’arrêt proposés correspondent aux trois cas sui-
tue une de et, d’autre part, V0, qui constitue une vants :
de , alors on a : 1) Un critère d’arrêt par rapport à l’erreur absolue ;
2) Un critère d’arrêt par rapport à l’erreur relative ;
(25)
3) Un critère d’arrêt mixte par rapport à la norme vectorielle de
et, si η est la tolérance considérée pour arrêter le processus itératif, l’erreur, c’est-à-dire la combinaison de l’erreur absolue et de l’erreur
alors on peut considérer le critère d’arrêt suivant : relative.
Les trois critères d’arrêt précédents sont décrits par rapport aux
(26)
distances générales définies sur l’espace à M dimensions. On peut
également noter que le critère d’arrêt défini par rapport à l’erreur
Remarque 4 : Le critère d’arrêt (26) est certes coûteux en absolue et le critère d’arrêt défini par rapport à l’erreur relative
quantité de calcul mais cependant fiable. peuvent être formulés en utilisant des normes générales définies
dans l’espace à M dimensions ; par contre le critère d’arrêt mixte
est défini dans un contexte plus particulier. Dans tous les cas et
dans le cadre théorique général considéré, il a été démontré que
2.3.3 Utilisation des ensembles emboités
chaque test de terminaison est cohérent et que les bornes du
résidu et de l’erreur sont estimées, aussi bien pour le test d’arrêt
2.3.3.1 Notions générales de base
par rapport à la valeur absolue, que pour le test d’arrêt par rapport
En prenant en compte la perturbation par les erreurs d’arrondi à l’erreur relative et pour le critère d’arrêt mixte par rapport à une
[3] [17], une autre approche pour stopper de manière dynamique norme vectorielle. Enfin, certains critères liés à la detection dyna-
les algorithmes itératifs parallèles asynchrones a été développé mique de la terminaison basée sur les erreurs absolues et les
par J.-C. Miellou, P. Spiteri et al. dans [18] [19] [20] dans un erreurs en norme vectorielle sont particulièrement bien adaptés à
contexte topologique général. Cette approche utilise essentielle- des contextes d’utilisation de machines à mémoire distribuée, de
ment la notion d’ensembles emboités étudiée par D. Bertsekas grille de calcul, de calcul pair à pair (peer to peer), correspondant à
et al. [2] [6] pour analyser la convergence de ces méthodes, une infrastructure totalement décentralisée pouvant être déployée
notion présentée au paragraphe 1.3. Le principe de cette sur une fédération de noeuds de calcul hétérogènes, et de cloud
approche est le même que le problème soit linéaire ou non computing. À noter que, dans le présent article, les preuves de
linéaire. Cependant, pour les problèmes linéaires l’effet des validité des différents tests d’arrêt sont omises ; le lecteur étant
erreurs d’arrondi est pris en compte en utilisant une notion de renvoyé à [18] [19] et [20] pour une justification théorique de ces
contraction approchée introduite par J. Wilkinson [21] et étendue résultats.

AF 1 386 – 8 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

____________________________________________________________________________________________ ALGORITHMES PARALLÈLES ASYNCHRONES II

Ainsi, les mises à jour étiquetées par un label supérieur à ne


Remarque 5 : Par ailleurs, il convient de noter que dans une sont plus utilisées dans le calcul de la (r + 1)-ième mise à jour.
étude précédente [13], nous avons envisagé un cadre théorique Donc correspond au label le plus élevé qui apparaît dans le
analogue de contraction approchée dans le cas de méthodes calcul d’une composante lors de la (r + 1)-ième mise à jour. En
itératives parallèles asynchrones pour résoudre un problème conclusion, et font référence respectivement à la borne
linéaire en tenant compte de l’influence des erreurs d’arrondi ; supérieure et inférieure des labels définissant la macro-itération
dans ce travail, le test d’arrêt n’est pas réalisé de manière dyna- glissante et permettent de prendre en compte toutes les informa-
mique, mais est prédictif, c’est-à-dire qu’il permet de prévoir, tions nécessaires utilisées pour produire la (r + 1)-ième mise à jour.
en tenant compte de la valeur des paramètres utilisés pour esti-
mer le taux de convergence, combien de macro-itérations, cor-
respondant à la mise à jour d’au moins une fois toutes les Remarque 6 : À noter qu’une macro-itération glissante est
composantes du vecteur itéré, seront nécessaires pour obtenir distincte d’une macro-itération utilisée pour l’étude de la
une précision donnée. Enfin, mentionnons également une convergence des itérations parallèles asynchrones.
étude concernant la terminaison de méthodes itératives paral-
lèles asynchrones pour les problèmes non linéaires [22].
Un autre concept, à savoir le concept de diamètre d’un ensemble
[U, V] entre deux éléments U et V, est utilisé et le diamètre de cet
2.3.3.2 Contexte général ensemble est alors défini pour toute norme, par exemple la norme
Pour les algorithmes itératifs parallèles asynchrones, le concept uniforme pondérée (18) ; ainsi dans ce dernier cas le diamètre de
d’itération n’a pas vraiment de sens, même si ce concept a encore [U, V ] est défini par :
un sens en mode synchrone ou en mode séquentiel ; dans le cas
asynchrone, ce concept est remplacé par la notion de macro-
itération. Dans une macro-itération, toutes les composantes du vec-
teur d’itération sont mises à jour au moins une fois conformément à Pour la résolution des systèmes algébriques linéaires ou non
(8) - (9) en utilisant les valeurs disponibles des composantes linéaires (1) ou (4), auxquels est associée une application de point
relaxées. Afin de comprendre ce qui suit, nous résumons ci-après fixe, on se place dans le cadre défini par (14) correspondant à une
quelques notions de base utiles et nous nous référons à [3] ainsi qu’ propriété de contraction par rapport à une norme vectorielle
à [18] [19] [20] pour plus de détails ; soit
(28)
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

où J est une matrice non négative de rayon spectral ρ(J) stricte-


alors on définit rigoureusement la notion de macro-itération par :
ment inférieure à un. Compte tenu du résultat de la proposition 1
et du corollaire 1, cette dernière propriété implique la convergence
des méthodes parallèles asynchrones. Par ailleurs, pour clore
(27) l’exposé du cadre général d’étude, conformément à [3], pour tout
nombre réel positif , considérons le nombre réel positif
vérifiant λ < 1 si J est une matrice réductible
qui permet de regrouper plusieurs relaxations et toutes les compo- et λ = ρ(J) si J est une matrice irréductible.
santes du vecteur itéré mises à jour au moins une fois en utilisant
d’autres valeurs disponibles déjà calculées. Grâce à l’ensemble de ces notions, on est à présent en mesure
En outre, nous définissons également la notion de macro-itération de présenter des tests de terminaison d’itérations parallèles asyn-
glissante qui correspond à une adaptation de la notion de macro- chrones. On distinguera deux cas :
itération permettant de prendre en compte, afin de réaliser le test – le cas de système linéaire perturbé par les erreurs d’arrondis ;
d’arrêt, toutes les informations utilisées pour produire la (r + 1)-ième
– le cas de système non linéaire et non perturbé.
mise à jour. Ainsi une macro-itération glissante est définie grâce à
de nouvelles notions. On définit d’abord
2.3.3.3 Cas d’un système linéaire dans le cas perturbé

Pour la résolution d’un système linéaire AU = G nous considérons


tout d’abord le cas général des itérations parallèles asynchrones
dans le cas perturbé par l’accumulation d’erreurs d’arrondi. Dans ce
où fait référence au plus petit label associé à toutes les com- cas chaque opération arithmétique est affecté par des erreurs
posantes prises en compte lors de la (r + 1)-ième mise à jour en d’arrondi et on peut définir la quantité suivante [23] :
utilisant des valeurs appartenant à la même macro-itération glis-
sante. En d’autres termes, dans une macro-itération glissante on
prend en compte les vecteurs itérés successifs dont les compo-
santes viennent d’être rafraîchies et les vecteurs itérés utilisés
directement précédemment pour les obtenir. Ainsi, les compo- associée au nombre réel ζ, où γ modélise l’effet des erreurs
santes mises à jour et labélisées par un index plus petit que d’arrondi et en cas d’arrondi et en cas de
ne sont plus utilisées dans le calcul de la (r + 1)-ième mise à jour. troncature, dénotes la base utilisée et θ la précision. Soit
De même, nous devons également définir qui fait référence où est le nombre maximum
à la limite supérieure du label pris en compte dans la macro-itéra- d’éléments non nul par ligne de J.
tion glissante ; est alors défini par :
Dans le cas perturbé, soit , supposons que le
nombre soit choisi suffisamment petit pour que , ce qui est
et vérifie possible si .
Dans ce cadre on peut définir les ensembles emboités, par
exemple dans le cas non perturbé les ensemble sont définis

Copyright © – Techniques de l’Ingénieur – Tous droits réservés Doc. AF 1 386 – 9

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________

conformément au choix indiqué en (24) alors que dans le cas per- où représente ici la valeur perturbée de F par les erreurs
turbé est défini par : d’arrondi.
Nous pouvons maintenant présenter le critère d’arrêt par rapport
à l’erreur absolue.
Proposition 4. J étant une matrice non négative, supposons
que l’hypothèse (16) soit vérifièe avec .

Supposons aussi que et que soit choisi suffisam-


et puisque , dans le cas perturbé les ensembles admettent
la limite suivante : ment petit de telle sorte que . Si le nombre réel η
vérifie , il existe alors une suite d’intervalles

, tels que pour tout , et r suffi-


Dans les deux cas les ensembles sont centrés au point fixe U* samment grand tel que :
et vérifient :
(29)

ces ensembles sont donc bien des ensembles emboités définis En conséquence, compte tenu de la définition des ensembles
conformément aux travaux de D. Bertsekas et rappelés au théorème 1. emboités dans le cas perturbé et du fait que nous
pouvons déduire le critère d’arrêt par rapport à l’erreur absolue.
Nota : dans la suite de ce paragraphe, on désigne par Uq un vecteur obtenu par
Remarque 7 : Notons que δ prend en compte les erreurs l’algorithme parallèle asynchrone, l’index q représentant ici un numéro d’itération et ne
d’arrondi et le cas non perturbé correspond alors à la situation faisant pas référence à la norme vectorielle.
où τ = 0 ce qui entraîne δ = 0. Corollaire 5. Si les hypothèses de la proposition 4 sont satis-
faites, alors il existe un nombre entier suffisamment grand tel
Ainsi, si à chaque pas r, on est capable d’avoir une estimation que pour , nous avons :
des extrémités des ensembles la condition
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

où q, r sont suffisamment grands. Donc il existe un nombre entier


tel que pour tout q, r
fournit une méthode pour définir un critère d’arrêt efficace du pro-
cessus itératif. Il est à noter que les ensembles emboités sont
construits de manière dynamique et que le problème se réduit
alors à obtenir une majoration de la valeur de durant
le déroulement du processus itératif. Ainsi, pour tout consi-
dérons N vecteurs {W1,r, …, WN,r}, de  ; on note par Remarque 8 : Notons que l’on peut considérer le cas limite
q = r + 1. En conséquence, pour n’importe quel nombre réel η,
, les composantes de chaque vecteur aussi petit que l’on veut, il existe un indice tel que le critère
Wj,r. Soit d’arrêt par rapport à l’erreur absolue soit satisfait pour tout ,
en particulier lorsque q = r + 1. Cependant nous pouvons aussi
considérer des valeurs de q très grandes par rapport aux valeurs
de r ; dans ce cas si la norme de Uq – Ur est plus petite que la
et
valeur de η, la convergence des itérations parallèles asybchrones
a été détectée et la précision obtenue est bien meilleure que
dans le cas q = r + 1. Notons que les développements précédents
on peut alors définir le segment d’ordre associé aux N permettent aussi d’obtenir une majoration de l’erreur absolue
vecteurs W j,r comme suit lorsque le critère d’arrêt est satisfait ; nous renvoyons à [18] [20]
pour des précisions sur ces majorations d’erreurs. Enfin, pour la
résolution du système algébrique AU = G dans le cas non per-
turbé par les erreurs d’arrondi il suffit de reprendre les résultats
obtenus dans le cas perturbé avec τ = 0 et δ = 0 [19].
et étant les extrémités de . Donc, pour n’importe
2.3.3.5 Critère d’arrêt par rapport à l’erreur relative
quelle norme le diamètre de est donné par .
Pour résoudre le système linéaire AU = G nous proposons un cri-
À partir des notions introduites précédemment, on peut intro- tère d’arrêt des itérations parallèles asynchrones utilisant l’erreur
duire divers critères d’arrêt des itérations. relative. Dans la suite on suppose que les hypothèses de la proposi-
tion 4 sont vérifiées excepté l’hypothèse (29) remplacée par : pour
un nombre réel positif donné , l’inégalité suivante est vérifiée :
2.3.3.4 Critère d’arrêt par rapport à l’erreur absolue
Dans le cas linéaire perturbé on a l’estimation suivante de la
norme du résidu [18] [20] : (30)
Lemme 1. Si est choisi suffisamment petit de telle sorte que
, alors dans le cas linéaire perturbé le résidu satisfait Soit aussi λ défini par . Pour que le critère d’arrêt pro-
la propriété suivante de contraction approchée
posé dans la suite ait un sens, il est nécessaire que la tolérance soit
supérieure au diamètre de la boule , soit  ; en

AF 1 386 – 10 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

____________________________________________________________________________________________ ALGORITHMES PARALLÈLES ASYNCHRONES II

fait cette dernière condition peut être démontrée mathématiquement basé sur l’utilisation d’une norme vectorielle où l’hypothèse (33)
et nous renvoyons à [20] pour plus de détails. Notons que l’on peut est remplacée par :
vérifier aisément l’inégalité suivante :
(34)
(31)
Remarque 11 : Notons que si la condition (34) est vérifiée,
à partir de l’inégalité stricte (31), on en déduit qu’il existe un alors la condition (33) est également vérifiée ; pour une justifi-
nombre réel positif vérifiant l’inégalité suivante : cation le lecteur est renvoyé à [20].

(32)
Remplaçons à présent la condition (33) par (34)

Le résultat suivant permet alors de proposer un critère d’arrêt


des itérations parallèles asynchrones à partir de l’erreur relative. (35)
Proposition 5. J étant une matrice non négative, supposons que
l’hypothèse (16) soit vérifièe avec . avec .
Supposons aussi que et que soit choisi suffisam-
Remarque 12 : Notons que l’utilisation de la norme vecto-
ment petit de telle sorte que . Si l’inégalité (32) est rielle permet de considérer un test décentralisé qui n’a pas
besoin d’une information globale puisque les composantes
vérifiée, il existe alors une suite d’intervalles tels que : de la norme vectorielle sont stockées localement ; ainsi, com-
paré au critère d’arrêt par rapport à l’erreur relative, le critère
1)  ; précédent est mieux adapté à l’utilisation de grilles de calcul,
de systèmes pair à pair (peer to peer) ou encore de cloud com-
2) Pour , suffisamment grand, la condition (30) est vérifièe. puting.

Remarque 9 : Il est à noter que l’inégalité (30) est donnée,


Dans le cas où certaines composantes du vecteur V sont nulles,
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

non seulement pour un vecteur mais, pour r suffi- le critère (35) ne peut pas être appliqué. Afin d’éviter cet inconvé-
nient, substituons à (35), le critère suivant :
samment grand, pour tout vecteur appartenant à cet intervalle.
(36)
On peut alors déduire de ce qui précéde un critère d’arrêt effectif
des itérations. Si est tel que , considé- où dans (36), le maximum des deux vecteurs est considéré compo-
sante à composante. Par analogie avec la terminologie précédente,
rons un vecteur , alors le processus parallèle asyn- la condition (36) constitue le « critère d’arrêt mixte ». Nous avons
alors le résultat suivant :
chroner itératif peut être stoppé à l’itération (r + 1) s’il vérifie :
Proposition 6. J étant une matrice non négative, supposons que
l’hypothèse (16) soit vérifiée avec .
(33)
Supposons aussi que et que soit choisi suffisamment
On peut donc énoncer le résultat suivant : petit de telle sorte que . Alors pour deux constantes
Corollaire 6. Si les hypothèses de la proposition 5 sont vérifiées positives η et donnés telle que , il existe
il existe un indice , tel que pour n’importe quel r vérifiant un indice , tel que pour tout la condition (36) est vérifiée.
, la condition (33) est vérifiée.
Si pour tout , vérifie , on peut établir
le critère d’arrêt mixte suivant :
Remarque 10 : Notons que le critère d’arrêt défini par (33)
permet d’obtenir des bornes d’erreurs pour des valeurs conve-
(37)
nables de vérifiant en particulier  ; pour des complé-
ments d’information à ce sujet on renvoie à [20].
et on a le résultat suivant :
Corollaire 7. Sous les hypothèses de la proposition 6 où la condi-
2.3.3.6 Critère d’arrêt mixte
tion (36) est remplaçée par la condition (37) alors il existe un indice
Le critère (33) nécessite spécifiquement l’utilisation d’une infor- , tel que pour tout la condition (37) est vérifiée ; autre-
mation globale, à savoir le vecteur U. La connaissance de cette ment dit pour deux constantes positives η et le critère d’arrêt
information globale semble plus facile sur les multiprocesseurs à mixte est satisfait.
mémoire partagée et à mémoire distribuée ; par contre, ce critère
est plus difficile à utiliser sur des grilles de calcul, des systèmes
pair à pair (peer to peer) ou encore en cloud computing. Dans ce Remarque 13 : De façon analogue aux critères d’arrêt par
paragraphe, en utilisant la norme vectorielle, nous présentons des rapport à l’erreur absolue ou à l’erreur relative, sous les hypo-
critères valables dans l’un quelconque des cadres informatique thèses précédentes on obtient des estimations d’erreur lorsque
précédents. Ceci conduit à une formulation d’un critère d’arrêt le critère d’arrêt mixte est satisfait.

Copyright © – Techniques de l’Ingénieur – Tous droits réservés Doc. AF 1 386 – 11

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________

2.3.3.7 Cas d’un système non linéaire non perturbé


On considère à présent la résolution de systèmes non linéaires, Remarque 14 : Dans ce critère (39) nous avons à choisir Ur
par exemple du type (1) ou (4), par des algorithmes parallèles asyn- dans la partie droite de l’inégalité à satisfaire. Pratiquement
chrones. Dans ce cas on peut également présenter, de façon simi- on peut choisir n’importe quel vecteur .
laire des critères d’arrêt. Pour simplifier on se place dans le cas non Cependant, pour simplifier l’écriture de ces inégalités, et sans
perturbé et on obtient des critères analogues à ceux obtenus dans le
cas linéaire ; pour un complément d’information on renvoie à [19]. perte de généralité, nous faisons plutôt le choix .

2.3.3.8 Critère d’arrêt par rapport à l’erreur absolue


Dans le cas non linéaire et non perturbé, on peut formuler un cri-
Dans ce cadre non linéaire, pour tout , on considère de tère d’arrêt par rapport à l’erreur relative et obtenir le résultat suivant :
manière similaire N vecteurs de . L’application Proposition 8. Si l’hypothèse (28) est vérifiée, si de plus les
de point fixe F étant J-contractante par rapport à une norme hypothèses (7) à (9) sont satisfaites et si de surcroît le point fixe U*
vectorielle, on peut également dans ce cas obtenir des estima- vérifie , (ce qui est équivalent à U* ≠ 0) alors pour
tions du résidu et de l’erreur lorsque l’espace est normé par n’importe quel nombre réel positif il existe un indice tel que
une norme uniforme avec poids (pour plus de détails voir [19]). pour tout , le critère d’arrêt (39) est satisfait.

Si les N vecteurs satisfont et si de plus


Remarque 15 : Si la condition n’est pas satisfaite (c’est-
l’ensemble suivant {F1(Uj,r), …, FM (Uj,r)} vérifie l’inclusion
à-dire si U* = 0) le résultat de la proposition 8 n’est plus valable,
pour j = 1,…, N, alors la norme puisque l’utilisation de Ur lorsque Ur = 0 et le fait que
vectorielle du résidu associé à deux itérés successifs V et F (V) peut se produire pour
est donnée par : n’importe quel indice p.

2.3.3.10 Critère d’arrêt mixte


et la norme uniforme associée du résidu est donnée par [19] : Comme précédemment et pour les mêmes raisons, le critère
mixte dans le cas non linéaire et non perturbé est établi de
manière analogue au cas linéaire perturbé. On considère à présent
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

que l’espace est normé indifféremment par n’importe quelle


où ](Id + J)[ dénote la norme matricelle de (Id + J). De plus, norme, par exemple, par la norme uniforme avec poids. On intro-
puisque l’application de point fixe F est J-contractante, la norme duit le critère d’arrêt mixte en norme vectorielle comme suit :
vectorielle de la borne d’erreur est donnée par [19] :

(40)

et la norme uniforme associée de l’erreur satisfait


pour n’importe quel couple η, de nombres réels satisfaisant η > 0
et , ce test peut aussi s’écrire

(41)

où ] . [ dénote encore la norme matricielle de la matrice ((Id – J)−1·


(Id  + J)). Remarque 16 : 1) Dans la formulation précédente du critère d’arrêt
Donc, comme dans le cas linéaire, dans le processus de calcul mixte, on a à choisir un vecteur Ur dans le membre de droite de
du critère d’arrêt, nous utiliserons aussi un ensemble d’itérés plus l’inégalité à satisfaire. Pratiquement on peut choisir n’importe
grand que celui strictement inclus dans une macroitération et asso- quel vecteur . Cependant, sans perte de
cié à un ensemble de labels plus grand [19]. De manière similaire
au cas linéaire perturbé nous pouvons à présent présenter le cri- généralité, et pour simplifier l’écriture de ces inégalités, on choisit
tère d’arrêt par rapport à l’erreur absolue associé à la tolérence η
plutôt . Ce choix peut être réalisé même si l’espace
(38) est normé par une norme générale .
2) Remarquons aussi que le test d’arrêt mixte (40) ou (41) se
et donner le résultat suivant : réduit au critère d’arrêt basé sur l’erreur absolue lorsque .
Proposition 7. Pour n’importe quel nombre η, aussi petit que
l’on veut, il existe un indice tel que le critère d’arrêt par rapport Notons également que dans le cas non perturbé et pour les pro-
à l’erreur absolue (38) est satisfait pour tout . blèmes non linéaires, on peut établir un résultat semblable à celui
énoncé au corollaire 7.
2.3.3.9 Critère d’arrêt par rapport à l’erreur relative
De manière similaire au cas précédent définissons le critère
d’arrêt en utilisant l’erreur relative ce qui permet d’étendre au cas Remarque 17 : Lors de la présentation des résultats précé-
non linéaire ce dernier type de critère d’arrêt déjà étudié dans le dents, on a considéré que l’espace est normé par la norme
cas perturbé. Dans ce contexte le critère d’arrêt par rapport à uniforme avec poids. Cependant, toutes les normes de l’espace
l’erreur relative est formulé comme suit : à M dimensions étant équivalentes, les critères d’arrêt par rap-
port à l’erreur absolue ou à l’erreur relative peuvent être envi-
sagés par rapport à d’autres normes de l’espace  ; dans ce
(39)
cas, dans les évaluations des majorations d’erreur, les
où est un nombre réel positif. constantes d’équivalence de normes interviennent [19] [20].

AF 1 386 – 12 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

____________________________________________________________________________________________ ALGORITHMES PARALLÈLES ASYNCHRONES II

Exemple : comparaison des divers tests d’arrêt sur un pro- algorithmes parallèles asynchrones. Le début des années 1980 a
blème modèle également vu l’émergence de machines multiprocesseurs, d’abord
On considère le problème suivant : à mémoire partagée, comme les machines Aliant ou Cray, puis à
mémoire distribuée où des implémentations parallèles asyn-
chrones en vraie grandeur ont pu être réalisées [30] [31]. Il est à
noter qu’à l’heure actuelle, des simulations d’exécution parallèles
sur sont encore utilisées pour estimer à faible coût la charge de calcul
d’une application à implanter ultérieurement sur une machine mul-
défini dans le domaine Ω = ]0, 1[3. Ce problème est discrétisé sur une tiprocesseur [32]. Ces études permettent donc de mettre en œuvre
grille, avec un pas uniforme, grille constituée de 1603 = 4 096 000 points. ces méthodes parallèles aussi efficacement que possible sur des
Les expérimentations parallèles sont effectuées sur la grappe architectures peer-to-peer, sur des grilles de calcul et sur des archi-
CHINQCHINT de GRID 5000 [24] localisée à Lille et constituée de tectures cloud computing. Il serait fastidieux d’exposer de façon
32 machines avec 2 CPU par noeud et 4 coeurs par CPU ; les proces- exhaustive toutes les expériences réalisées sur les diverses archi-
seurs sont de type Intel Xeon avec une RAM de 4 mégabytes et une tectures et les efforts faits par les programmeurs pour utiliser le
vitesse de 1333 mégahertz. Afin de comparer les critères d’arrêts pré- plus efficacement possible ces nouvelles architectures.
sentés au paragraphe 2.3.3 on a considéré les valeurs suivantes :
, , , ,
3.1 Implémentation numérique
de plus on considère que la valeur de q = r + 1 est notée Sliding 1
dans le tableau 1, alors que celle de q = r + 4 et q = r + 16 sont séquentielle et parallèle
notées respectivement Sliding 4 et Sliding 16. Enfin dans le tableau 1
est indiqué pour chaque type de test d’arrêt le temps d’exécution, le Pour la résolution numérique des problèmes (1) et (4), afin de pré-
nombre de relaxations pour atteindre la convergence ainsi que la senter dans la suite les implémentations parallèles asynchrones,
valeur du résidu. Dans ces expérimentations l’estimation du diamètre nous indiquons dans un premier temps le mode d’implémentation
de l’intervalle d’ordre est effectuée en utilisant la norme uniforme. séquentielle, puis l’adaptation à une programmation parallèle, en
particulier pour le second problème où la solution est soumise à des
L’examen des résultats du tableau 1 permet de noter que, d’une contraintes inégalité.
part la valeur du résidu augmente lorsque η diminue, d’autre part
on remarque que les critères d’arrêt basés sur l’erreur relative et 3.1.1 Cas du problème univoque (1)
sur l’utilisation du test mixte principalement sont les plus efficaces
pour toutes les valeurs du nombre q. Notons également que l’aug- Le problème (1) ne pose pas de difficultés majeures à program-
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

mentation du nombre de relaxations induites par l’utilisation des mer. On a à résoudre un système algébrique non linéaire dont on
tests d’arrêt basés sur l’erreur relative et sur l’utilisation du test peut déterminer la solution par la mise en oeuvre de la méthode
mixte permet une amélioration significative de la valeur du résidu classique de Newton. Soit U0 une approximation initiale de la solu-
et par conséquent de la qualité de la solution obtenue. tion du problème à résoudre ; en mode séquentiel, au pas r + 1 on
détermine une correction δUr+1 à la valeur Ur, donnée par :

Remarque 18 : Notons que nous pouvons également utiliser


une norme uniforme pondérée par le vecteur strictement positif Γ
égal au vecteur propre associé à la plus grande valeur propre de
la matrice J, puisque pour l’exemple considéré, ce vecteur propre
est bien connu. Les tests d’arrêt effectués à l’aide de cette norme où est la matrice jacobienne de Φ(U) ; puis une fois ce sys-
uniforme pondérée donnent des résultats similaires.
tème linéaire résolu δUr+1 est additionné à l’ancienne valeur Ur, soit

3. Implémentation jusqu’à convergence de la méthode de Newton. Soit

. On peut considérer la décomposition par blocs


des algorithmes itératifs
suivante de la matrice C(Ur) où
parallèles asynchrones
(42)
Les scientifiques qui ont étudié théoriquement les méthodes
parallèles asynchrones ont évidemment été très intéressés à l’idée
de pouvoir expérimenter ces méthodes en grandeur réelle. Cepen- dénote le bloc diagonal de cette matrice C(Ur) ; puisque l’opérateur
dant, au moment où ces études ont été lancées, il n’y avait prati-
quement pas de machines multiprocesseurs. U → Φ(U) est diagonal croissant la matrice est évidem-

Les premières expériences ont donc été réalisées en simulant ment une matrice diagonale positive ; de plus et pour les mêmes
des exécutions parallèles sur des machines monoprocesseurs. Les raisons, puisque Φ est une application diagonale, les blocs hors
premières simulations ont été réalisées en 1967 par J.L. Rosenfeld diagonaux de C(Ur) se réduisent aux blocs hors diagonaux Al,k de
[25] au centre IBM Watson. D’autres simulations d’exécutions la matrice A. Donc, trivialement la matrice C(Ur) est une M-matrice.
parallèles asynchrones ont été réalisées à la fin des années 1970 Ainsi l’implémentation de la méthode de Newton nécessite à
par P. Spiteri et al. [26] [27] ; ces auteurs ont simulé le fonctionne- chaque itération la résolution du système linéaire suivant :
ment réel d’exécutions parallèles asynchrones sur une machine
monoprocesseur. Dans le même temps, G. Baudet a pu tester ces
méthodes sur la machine CMMP à l’Institut Carnegie Mellon [28].
Par la suite, d’autres méthodes d’implémentation plus appropriées qui peut donc être résolu soit par une méthode directe soit par un
et plus réalistes ont été développées ; par exemple l’utilisation de algorithme itératif séquentiel et également par un algorithme ité-
Transputeurs [29], qui ont permis d’évaluer la performance des ratif parallèle asynchrone puisqu’à chaque pas la matrice C(Ur)

Copyright © – Techniques de l’Ingénieur – Tous droits réservés Doc. AF 1 386 – 13

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________

Tableau 1 – Comparaison des trois tests d’arrêt basés sur les ensembles emboités
η 10−8 10−10 10−12 10−14

Sliding 1
Erreur absolue
Temps 179 303 432 553
Nb. relaxations 384013 650337 924442 1183466
Résidu 3,571.10−02 4,125.10−04 4,015.10−06 3,326.10−08
Erreur relative
Temps 302 425 541 672
Nb. relaxations 656084 923668 1174398 1458662
Résidu 1,539.10−04 1,591.10−06 8,675.10−09 1,472.10−10
Test mixte
Temps 304 422 551 551
Nb. relaxations 655189 908236 1185766 1188045
Résidu 2,107.10−04 9,131.10−07 3,760.10−08 3,642.10−02
Sliding 4
Erreur absolue
Temps 130 199 271 339
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

Nb. relaxations 613796 943572 1282704 8160536


Résidu 9,886.10−03 1,283.10−04 9,810.10−07 1,019.10−08
Erreur relative
Temps 195 268 336 408
Nb. relaxations 931880 1275352 1599884 1943484
Résidu 9,489.10−05 8,777.10−07 1,034.10−08 7,859.10−11
Test mixte
Temps 202 267 336 336
Nb. relaxations 959644 1268588 1596728 1596712
Résidu 6,971.10−05 9,390.10−07 1,033.10−08 1,016.10−08
Sliding 16
Erreur absolue
Temps 197 286 380 478
Nb. relaxations 1333296 1940688 2579872 3244304
Résidu 2,385.10−03 3,208.10−05 8,347.10−07 8,669.10−09
Erreur relative
Temps 290 378 478 572
Nb. relaxations 1972736 2572320 3251920 3895632
Résidu 3,847.10−05 3,729.10−07 3,881.10−09 1,138.10−11
Test mixte
Temps 289 384 468 475
Nb. Relaxations 1959520 2606288 3181776 3228272
Résidu 5,052.10−05 3,878.10−07 8,575.10−09 1,979.10−09

AF 1 386 – 14 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

____________________________________________________________________________________________ ALGORITHMES PARALLÈLES ASYNCHRONES II

est une M-matrice et, par conséquent les résultats de la section 1 3.1.2 Cas du problème multivoque (4)
sont applicables. Plus précisement à chaque pas r de la méthode
de Newton on a à résoudre de façon itérative les sous-problèmes Le sous-différentiel étant un opérateur monotone, la formula-
suivants : tion (4) permet, comme on l’a vu dans le premier article [AF 1 385],
d’analyser simplement la convergence des itérations parallèles asyn-
(43) chrones pour ce type de problème où la solution est soumise à des
contraintes de type inégalité. Cependant, cette formulation ne
où est donné par : conduit pas directement à un processus algorithmique. Pour prendre
en compte de façon algorithmique ces contraintes définies sur un
ensemble convexe K, comme déjà expliqué dans [AF 1 385], on doit
(44) soit alternativement, d’abord en utilisant un algorithme numérique,
effectuer une mise à jour d’une ou parfois plusieurs composantes du
où est le second membre résultant de la méthode de Newton problème sans contraintes puis projeter sur l’ensemble convexe K
donné par : ces valeurs intermédiaires des composantes ce qui correspond à une
stratégie de Gauss-Seidel, soit relaxer toutes les composantes à trai-
(45) ter sans tenir compte des contraintes puis projeter sur l’ensemble
convexe K, ce qui correspond à une stratégie de Jacobi.
Ainsi, en mode parallèle, chaque sous-système (43) est résolu sur De manière préliminaire nous allons illustrer ce procédé de
une grappe indépendamment des autres et des communications calcul sur un exemple simple. Soit la fonctionnelle
entre les grappes sont nécessaires pour mettre à jour les seconds
membres de chaque sous-système. À noter que dans une implé-
mentation parallèle il y a deux niveaux d’itération : une itération
externe correspondant à la méthode de Newton et une itération avec et définis par :
interne lorsque les sous-systèmes (43) sont résolus par une
méthode itérative. Il est à noter que, dans un contexte parallèle,
(46)
l’itération externe s’inscrit bien dans la formulation générale des
algorithmes parallèles asynchrones décrit dans l’introduction et la
section 1 puisque les communications entre les grappes peuvent A est évidemment une M-matrice symétrique. L’ensemble K est
être synchrones ou asynchrones. l’ensemble des vecteurs de composantes positives ou nuls donc
défini de la façon suivante :
L’algorithme 1 (figure 1) présente le schéma d’implémentation
de la méthode de Newton parallélisée sur une grappe. Toutes les
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

variables sont locales à chaque grappe. Chaque résolution de Considèrons le problème de minimisation avec contraintes
chaque sous-système est effectuée par une grappe. La linéarisation suivant :
du problème à résoudre s’effectue aux lignes 4 et 5. La résolution
parallèle de chaque système linéaire est décrite entre les lignes 6
à 8. On calcule d’abord le second membre défini par (44) en
ligne 7. Puis chaque sous-système est résolu en parallèle en
ligne 8, soit par une méthode itérative interne, soit par une La caractérisation de la solution (voir [33]) découle de l’inégalité
méthode directe. Chaque solution locale est communiquée d’Euler suivante :
aux processus voisins (voir ligne 9) ; on construit aussi une mise à
jour globale δU new, ce qui permet de mettre à jour en ligne 10 un
nouvel itéré de la méthode de Newton. Une fois ces sous-systèmes
résolus, on calcule la solution globale en ligne 10. Comme déjà
indiqué les communications entre les blocs peuvent être syn- puisque la dérivée au sens de Gâteaux ou de Frechet de J(U) est
chrones ou asynchrones. La convergence globale de la méthode égale à , car la matrice A est symétrique, la for-
de Newton parallélisée est détectée lorsque la valeur de la norme mulation précédente de notre problème particulier se réduit à :
de δU new se stabilise à une valeur inférieure à un seuil donné,
c’est-à-dire que la convergence globale est détectée lorsque la (47)
convergence locale de chaque processus parallèle est réalisée.

Algorithme 1 : résolution parallèle du problème (1) sur une grappe


Output: Solution Unew
1 Initialisation Newton : Unew = 1.0
2 while ||δ U new ||2 ≥ εNewton do
3 Initialiser la solution δ Uold à une valeur arbitraire⊄
4 Mettre à jour le second membre global : formule (45)
5 Mettre à jour la sous-matrice locale CI,l : formule (42)
6 while ||δ Uold – δ Unew ||∞ ≥ εsous−domaine do
7 Calculer le second membre local : ℬl formules (44) avec (45)
8 Résoudre en parallèle pour déterminer δ Unew : Cl,l · δ UInew = ℬl
9 Échange des valeurs locales de δ UInew avec les processus voisins

10 Calculer la solution globale : Unew = Uold + δ U new

Figure 1 – Algorithme 1 : résolution parallèle du problème (1) sur une grappe

Copyright © – Techniques de l’Ingénieur – Tous droits réservés Doc. AF 1 386 – 15

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________

on renvoie au livre de Duvaut-Lions [34] pour une démonstration diffusion ne sont pas constants la matrice de discrétisation est une
du passage entre la formulation (47) et la formulation (4). Par ail- matrice tridiagonale de dimension M de la forme suivante :
leurs dans l’inégalité (47) choisissons V = t · U*, avec  ;
en choisissant successivement t > 1 et t < 1 on obtient finalement :

(48)
Donc sur le plan algorithmique, U* apparaît comme la projection
orthogonal sur K, au sens du produit scalaire associé à la matrice
symétrique définie positive A, du problème sans contrainte, corres-
pondant donc au problème linéaire. On considère dans la suite de cet
exposé plusieurs situations algorithmiques permettant de résoudre le
problème (4). l’algorithme d’élimination de Gauss pour la résolution du système
linéaire (sans contrainte) revient à résoudre le système triangulaire
3.1.2.1 Méthode de Gauss projetée supérieur où la matrice R a la forme suivante :
Ces rappels étant précisés revenons à notre exemple. Remar-
quons tout d’abord que, dans le cas sans contraintes, l’algorithme
d’élimination de Gauss conduit à résoudre un système algébrique
ou R est une matrice triangulaire supérieure, R et
étant donnés par :
(49)

dans le cas sans contraintes la solution du problème est donc


et . et où les coefficients de la matrice R sont donnés par :
Conformément au livre de Lamberton et Lapeyre [35] indiquons à
(50)
présent comment on peut adapter l’algorithme d’élimination de
Gauss au cas du problème avec contraintes précédent ; partant de la
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

et le second membre du système triangulaire supérieur est cal-


formulation , on calcule d’abord la valeur intermédiaire de culé d’après les formules suivantes :
la dernière (dans notre cas la seconde) composante obtenue dans le
cas sans contraintes, soit  ; cette valeur ne vérifiant pas la (51)

contrainte de positivité de la composante u2 on projette sur K et compte tenu de cette transformation, l’adaptation de la résolution
on obtient u2 = 0 ; en tenant compte de cette valeur de u2 on déter- du problème avec contraintes est effectuée par :

mine aisément que , valeur qui respecte la contrainte donc


(52)
.
puis
Sur la base des enseignements tirés lors de l’étude du problème
modèle, on peut étendre les méthodes de calcul à certaines situations (53)
plus générales de problèmes soumis à des contraintes. Examinons
par exemple un problème de convection-diffusion monodimensionnel On a alors l’algorithme 2 (figure 2) où, pour des raisons d’éco-
dont la solution u(x) est soumise à une contrainte du type u(x) ≥ ξ, ou nomie de stockage les vecteurs a et G sont écrasés ; la solution U
ξ est un seuil donné. Si les coefficients du problème de convection- du problème est stockée dans le vecteur G.

Algorithme 2 : algorithme de Gauss projeté pour résoudre un système algébrique contraint


comportant une matrice tridiagonale
Output : Solution U
1 % Triangularisation
2 for i = 2 to M do
c
3 calculer : ss ← a i ;
i –1
4 calculer ai ← ai – ss * bi –1 ;
5 calculer gi ← gi – ss * gi –1 ;
6 % Résolution
g
7 calculer gM ← aM puis gM = max (gM, ξM) ;
M
8 for i = M − 1 to 1 do
(gi −bi *gi +1)
9 calculer : gi ← puis gi = max (gi , ξi) ;
ai

Figure 2 – Algorithme 2 : algorithme de Gauss projeté pour résoudre un système algébrique contraint comportant une matrice tridiagonale

AF 1 386 – 16 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

____________________________________________________________________________________________ ALGORITHMES PARALLÈLES ASYNCHRONES II

3.1.2.2 Méthode de relaxation projetée


tiale une telle méthode par blocs
Notons que l’on peut obtenir le même résultat en utilisant une
méthode de relaxation [36] [37] ; par exemple, si l’on met en est décrite par [36] [37] :
œuvre une méthode de Gauss-Seidel par points, on déterminera la
solution du problème modèle en deux étapes alternatives succes-
sives jusqu’à convergence de la méthode ; ainsi on détermine : (54)

où dans la première somme les blocs composantes proviennent de


l’itération courante (c’est-à-dire après projection) alors que dans la
seconde somme les blocs composantes ont été calculées à l’itéra-
puis tion précédente (donc en tenant compte de la contrainte).

Remarque 20 : Notons que pour déterminer Ui, on n’inverse


où Ki prend en compte la contrainte sur la composante ui et est pas la matrice Ai,i , ce qui nécessiterait un grand nombre d’opé-
l’opérateur de projection sur Ki. Pour le problème modèle, partant rations arithmétiques. Mais éventuellement dans le cas parti-
d’une donnée initiale u1 = 1,0 et u2 = 1,0 on indique dans le culier de matrices par blocs, avec blocs diagonaux de forme
tableau 2 le déroulement de l’algorithme de Gauss-Seidel projeté. tridiagonale, on peut utiliser l’adaptation de l’algorithme de
L’algorithme structuré 3 (figure 3) présente la méthode de Gauss- Gauss correspondant à l’algorithme 2, appelé précédemment
Seidel projetée pour résoudre le problème modèle. algorithme de Gauss projeté. Autrement, à chaque pas de l’ité-
ration de Gauss-Seidel par blocs on peut se contenter d’une
approximation de Ui qui, en tant que sous-vecteur d’un itéré ne
Remarque 19 : Pour accélérer la convergence de la méthode représente qu’un résultat intermédiaire n’intervenant pas, au
de Gauss-Seidel projeté on peut utiliser un paramètre de sur- cours des itérations, directement et précisément dans le résul-
ou sous-relaxation. On peut également résoudre le problème tat final. Pour accélérer la convergence on peut introduire un
modèle par utilisation de l’algorithme de Jacobi projeté. paramètre de sur- ou sous-relaxation. De plus on peut mettre
en œuvre une méthode de Jacobi projetée par blocs. Enfin on
Plus généralement pour la résolution d’un problème où la solu- notera la profonde différence entre le cas de la méthode de
tion est soumise à des contraintes et dans le cas où la matrice A relaxation par blocs présentée ci-dessus et les algorithmes
possède une structure par blocs, comprenant α blocs, on peut exposés ci-après où les opérateurs de projection sont les opéra-
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

étendre formellement l’algorithme 3 à une implémentation par teurs de projection usuels, c’est-à-dire les projecteurs eucli-
blocs de la méthode de Gauss-Seidel ; en partant d’une donnée ini- diens, beaucoup plus faciles à utiliser que les précédents.

Tableau 2 – Déroulement de l’algorithme de Gauss-Seidel projeté pour résoudre le problème modèle


N° itération u1 u2 Norme
0 – 1,0 – 1,0 –
1 1,0 1,0 0,0 0,0 1,0
2 0,5 0,5 –0,25 0,0 0,5
3 0,5 0,5 –0,25 0,0 0,0
Convergence – 0,5 – 0,0 0,0

Algorithme 3 : algorithme de Gauss-Seidel projeté pour résoudre un système algébrique


dont la solution est soumise à des contraintes
Output : Solution Unewt
1 Définir la valeur initiale : U0 Uold
2 norme ← 1.0 ;
3 ⑀ ← 1.0 · 10−06 ;
4 while norme ≥ ⑀ do
5 norme ← 0.0 ;
6 for i = 1 to M do
(gi – ai, j · uj – ai, j · uj)
j<i j>i
7 ss ← ;
ai, i
8 ss ← max (ss, ξi ) ;
9 norme ← max (norme, |(ui − ss)|) ;
10 ui ← ss ;

Figure 3 – Algorithme 3 : algorithme de Gauss-Seidel projeté pour résoudre un système algébrique dont la solution est soumise à des contraintes

Copyright © – Techniques de l’Ingénieur – Tous droits réservés Doc. AF 1 386 – 17

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________

3.1.2.3 Méthode de Richardson projetée parallèle et toujours pour les mêmes raisons on considère une décomposi-
asynchrone tion par blocs de Fδ définie par :
Soit α un entier naturel positif et un espace de Hilbert
décomposé comme suit :

avec

où pour tout , est un espace de Hilbert muni du pro-


duit scalaire noté  ; on note la norme dans associée à ce Soit J la matrice de Jacobi associée à la matrice N, J est évidem-
produit scalaire. Comme précédemment tout vecteur se ment une matrice non-négative puisque N est une M-matrice et
décompose sous la forme U = {U1,…, Uα} et le produit scalaire sur d’après le théorème de Perron-Frobenius il existe un vecteur Γ
est défini comme suit : strictement positif de composantes γi tel que :

De plus puisque on a :


on notera par la norme standard associée sur .
Soit une matrice symétrique définie positive admet-
tant la décomposition suivante compatible avec celle de l’espace
Compte tenu des hypothèses précédentes, et du fait que l’opé-
rateur de projection est une contraction, en utilisant le théorème
où d’El Tarazi [4] on a le résultat suivant [38] :
Proposition 9. L’hypothèse (55) étant vérifiée et N étant une
M-minorante, il existe un nombre δ0 strictement positif tel que
pour tout nombre réel , les itérations parallèles asyn-
chrones associées à l’application de point fixe Fδ modélisant l’algo-
les sous-matrices Ai,j, 1 ≤ i, j ≤ α, constituant la décomposition en rithme de Richardson projeté parallèle asynchrone convergent vers
α blocs de la matrice A ; dans la formulation classique de l’algo- U*, unique solution de l’inéquation variationnelle (47). Le nombre
rithme de Richardson, la convergence de cette méthode est assu-
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

réel δ0 est donné par :


rée par la condition de coercivité discrète suivante :

où c est une constante réelle strictement positive ; en fait la


matrice A étant symétrique définie positive, cette inégalité est bien avec
vérifiée et c est la plus petite valeur propre de A. Compte tenu de
la décomposition de A en α blocs, on substitue à cette propriété
l’hypothèse suivante :

On note la profonde différence entre cette méthode et la


(55) méthode de Gauss-Seidel par blocs ; en effet dans l’algorithme de
Richardson projeté parallèle asynchrone les opérateurs de projec-
où est une M-matrice de taille α × α. Rappelons que tion sont les opérateurs de projection orthogonale usuels, corres-
l’hypothèse (55) correspond au fait que la matrice A admet une pondants à la projection euclidienne.
M-minorante dans l’espace de Hilbert (voir hypothèse (10)).
On considère à présent la résolution de l’inéquation variation- Remarque 21 : Pour résoudre l’inéquation variationnelle (47),
nelle (47) par la méthode de Richardson projetée. K étant fermé et on peut également définir une méthode de gradient projeté
convexe, on considère une décomposition de cet ensemble com- parallèle asynchrone où cette fois le nombre réel δ change à
patible avec la décomposition de et donc définie par : chaque macro-itération, mais appartient au segment ]0, δ0[. Par
conséquent sous des hypothèses analogues on peut établir un
résultat de convergence de cet algorithme de gradient projeté
asynchrone.
où sont également des ensembles fermés et
convexes.
3.1.2.4 Problèmes mis sous forme complémentaire
désignant toujours l’opérateur de projection sur l’ensemble
fermé et convexe K, on considère la décomposition suivante de cet Pour terminer la présentation des algorithmes permettant de
opérateur : résoudre le problème (4), nous considérons une classe de pro-
blèmes mis sous forme complémentaire et comme cas particulier
nous verrons la formulation de ce type de problème conduisant à
la résolution de l’inéquation variationnelle (47).
où pour tout i l’opérateur représente la projection de sur Ki.
■ Méthode de Howard parallèle asynchrone pour la résolution de
En vue de résoudre l’inéquation variationnelle (47) par l’algo-
l’équation d’Hamilton-Jacobi-Bellman linéarisée et discrétisée
rithme de Richardson projeté, on définit l’application de point fixe
suivante : Ces équations ont de multiples applications en contrôle stochas-
tique, en gestion et économie, en mécanique et en traitement
d’images.

AF 1 386 – 18 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

____________________________________________________________________________________________ ALGORITHMES PARALLÈLES ASYNCHRONES II

Soit un nombre entier naturel donné. On considère le pro- lisation d’un des algorithmes itératifs parallèles asynchrones
blème suivant : précédemment présentés.

■ Méthode de Howard-Mosco-Scarpini parallèle asynchrone pour


(56) la résolution du problème d’obstacle
Ce problème de l’obstacle modélise de multiples applications en
où pour l = 1,…, m A(l) désigne une matrice de dimension M et G (l) contrôle stochastique, en économie et en mécanique.
un vecteur de . De plus pour tout l = 1,…, m les matrices A(l) Le problème stationnaire de l’obstacle (47) associé à un opéra-
vérifient les propriétés suivantes : teur elliptique du second ordre peut également être formulé
1) A(l) est une Z-matrice, c’est-à-dire et pour tout comme un problème d’Hamilton-Jacobi-Bellman particulier ; par
i, , i ≠ j ; conséquent le processus de linéarisation présenté précédemment
2) A(l) sont diagonales dominantes en ligne, c’est-à-dire peut être étendu à ce type de problème. Cependant on verra que la
propriété d’irréductibilité de la matrice linéarisante n’est pas
pour tout avec inégalité stricte pour au conservée dans ce cas, ce qui invite à considérer des hypothèses
plus fortes.
moins un indice de ligne i ;
3) A(l) sont irréductibles. On considère le problème stationnaire (47) dont la solution est
caractérisée [33] par :
Grâce à ces trois propriétés on peut alors établir le résultat suivant
Lemme 2. Pour tout l = 1,…, m les matrices A (l) sont des
M-matrices.
On introduit la définition suivante :
(57)
Définition 1. On appelle application d’Hamilton-Jacobi-Bellman
l’application de dans définie par

Pour résoudre le problème (56) on définit comme suit un pro- Classiquement [40] une caractérisation de la solution de (57) est
cédé de linéarisation de ce problème correspondant à l’algorithme donnée par :
de Howard [39].
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

Définition 2 (Algorithme de Howard). Pour tout on définit


la matrice linéarisante de en (V) et le vecteur (58)
comme suit : pour tout , on considère la première valeur
de l pour laquelle est atteinte : On peut noter qu’après discrétisation convenable, le problème (58)
1) La i-ème ligne de sera la i-ème ligne de A(l) ; peut s’écrire sous la forme d’un problème d’Hamilton-Jacobi-Bell-
2) La i-ème composante de sera G(l). man de la façon suivante :
On a alors à résoudre le problème suivant :
(59)

où est une matrice de dimension M.


Si toutefois est de grande dimension, après chaque linéarisa- où A est la matrice de discrétisation de l’opérateur aux dérivées
tion, on a donc à résoudre, de préférence par un algorithme itératif partielles, G et Ξ sont les analogues discrets de g et ξ respective-
jusqu’à convergence, le système linéaire suivant : ment. Dans la suite on fait l’hypothèse que

(60)
Compte tenu des propriétés des matrices A(l) pour l = 1,…, m, on a Cette propriété est bien satisfaite lorsque d > 0 et si les dérivées
le résultat suivant : premières sont discrétisées par des schémas décentrés forward ou
Lemme 3. est une matrice irréductible diagonale domi- backward en fonction du signe des coefficient de ces dérivées pre-
nante en ligne et compte tenu des signes des coefficients des mières, le laplacien étant discrétisé par le schéma classique à
matrices A(l), est une M-matrice. 7 points.
Pour résoudre le problème complémentaire (58) on considère le
processus de linéarisation suivant analogue à celui considéré pour
Remarque 22 : À noter aussi que est une application conti- la linéarisation du problème d’Hamilton-Jacobi-Bellman qui corres-
nue de dans [5]. pond en fait à l’algorithme de Howard pour le cas particulier de la
forme Hamilton-Jacobi-Bellman du problème de l’obstacle appelé
aussi algorithme de Howard-Mosco-Scarpini :
À partir de la décomposition par blocs des matrices A(l) on peut
définir une décomposition par blocs du problème (56) définie par : Définition 3 (Algorithme de Howard-Mosco-Scarpini). Pour tout
on définit la matrice linéarisante de en V et le
vecteur comme suit : pour tout  :
– si la i-ème composante de (A · U – G) est supérieure à la i-ème
composante de (U – Ξ), alors la i-ème ligne de sera la i-ème
Donc les hypothèses considérées à la section 1 pour étudier la ligne de A et la i-ème composante de sera Gi ;
convergence des itérations parallèles asynchrones aussi bien par – sinon la i-ème ligne de sera composée de zéros à
des techniques de contraction que par des techniques d’ordre par- l’exception de l’élément diagonal qui sera égal à 1 et la i-ème com-
tiel sont vérifiées. On peut donc résoudre le problème (56) par uti- posante de sera égal à la i-ème composante de Ξ.

Copyright © – Techniques de l’Ingénieur – Tous droits réservés Doc. AF 1 386 – 19

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________

On a alors à résoudre le problème suivant tingue traditionnellement deux classes d’organisation de machines
parallèles :
– les machines à mémoire partagée ;
où est une matrice de dimension M. – les machines à mémoire distribuée.
Aprés chaque linéarisation, on a donc à résoudre le système À partir de cette organisation de base, les constructeurs peuvent
linéaire suivant : concevoir une organisation mixte. Actuellement, les utilisateurs de
machines parallèles ont accès à différents types de plateformes
(voir § 3.2.3) comme des grappes de calcul (ou clusters), des grilles
Il est à noter que la matrice est une matrice strictement dia- de calcul, du cloud computing (en français informatique en nuage
gonale dominante qui n’est cependant plus irréductible du fait que ou nuagique) ou encore des architectures GPU (Graphics Proces-
la seconde alternative de l’algorithme de linéarisation introduit sing Unit). Cependant, les performances obtenues lors de l’utilisa-
dans cette matrice des éléments nuls en dehors de la diagonale. tion de calculateurs paralléles sont variables ; en effet il peut
De plus les coefficients diagonaux de sont strictement posi- arriver, si l’utilisateur ne développe pas soigneusement la pro-
tifs et ses coefficients hors diagonaux sont négatifs ou nuls. En grammation de l’application cible, que la parallélisation de l’algo-
appliquant le théorème 3.12 du livre de R.S. Varga [41], la matrice rithme de calcul ne permette pas une diminution notable du temps
satisfait la propriété suivante : de restitution. De plus, l’architecture des machines parallèles, en
particulier la conception du réseau de communication a une
Lemme 4. est une matrice strctement diagonale domi- influence notable sur les performances des algorithmes.
nante et compte tenu des signes des coefficients de la matrice A,
est une M-matrice. Par ailleurs, nous avons vu dans l’introduction et la section 1
une classe générale d’algorithmes parallèles asynchrones qui tend
à minimiser les temps d’attente des processeurs lors des nom-
Remarque 23 : À noter également que est une application breuses synchronisations entre les processeurs. Nous présente-
continue de dans [42]. rons donc schématiquement dans la suite une classification des
méthodes synchrones et asynchrones que nous appelons SISC
(i.e. Synchronous Iterations, Synchronous Communications), SIAC
À partir de la décomposition par blocs des matrices A(l), l = 1, 2, (i.e. Synchronous Iterations, Asynchronous Communications) et
A(1) A et A(2) Id matrice identité, on peut définir une décompo- AIAC (i.e. Asynchronous Iterations, Asynchronous Communica-
sition par blocs du problème (59) selon : tions).
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

Enfin, la parallélisation d’un code de calcul nécessite, comme on


l’a vu dans l’introduction et la section 1, une décomposition en
grands blocs du problème global. On est donc amené à résoudre
des sous-problèmes où les interactions avec les autres sous-
Donc les hypothèses considérées à la section 1 pour étudier la problèmes sont gérées soit de manière synchrone soit de manière
convergence des itérations parallèles asynchrones, aussi bien par asynchrone. Plus précisément, pour certaines applications ainsi que
des techniques de contraction que par des techniques d’ordre par- pour les algorithmes de calcul permettant leur résolution on est
tiel, sont vérifiées ; on peut donc résoudre le problème (59) via conduit à élaborer des codes de calcul comportant :
l’utilisation d’un des algorithmes itératifs parallèles asynchrones
précédemment exposé. – une itération externe, où les communications sont soit syn-
chrones soit asynchrones ;
– une itération interne, constituée entre autres par un solveur
Remarque 24 : Pour la résolution de problèmes complémen-
soit de type gradient conjugué, qui est de nature essentiellement
taires, le procédé de linéarisation est analogue au procédé de
synchrone, soit de type relaxation qui peut être de nature syn-
linéarisation de Newton sans toutefois avoir besoin de calculer de
chrone ou asynchrone.
matrice jacobienne. Le schéma de programme structuré est sensi-
blement analogue dans son principe à celui donné pour l’Algo- Pour augmenter l’efficacité de la méthode de calcul, on peut
rithme 1 (figure 1). également considérer comme solveur interne des méthodes de
calcul performantes, par exemple la mise en œuvre de la méthode
du gradient conjugué préconditionné, de la méthode multigrille ou
encore de la méthode de relaxation accélérée qui peuvent être per-
3.2 Classification des architectures formantes en tant que solveur interne. À noter que pour résoudre
les sous-systèmes l’utilisation des méthodes directes, comme la
Dans l’introduction et la section 1 nous avons présenté divers méthode de Gauss, est aussi envisageable.
algorithmes parallèles asynchrones destinés à être exécutés sur des
machines multiprocesseurs. Depuis les années 1980, afin de dimi-
nuer le temps de restitution des travaux informatiques soumis, les 3.2.1 Organisation de la mémoire
architectures des ordinateurs ont considérablement évolué de
manière à ce que ces algorithmes parallèles puissent être exécutés
La diversité des architectures parallèles étant très importante, il
sur ce type de machines. On peut citer la publication de nombreux
est nécessaire d’utiliser une classification de ces dernières afin d’en
ouvrages sur ce sujet et notamment [10] [43] [44] et [H 1 088].
dégager les concepts sous-jacents. Il existe un grand nombre de
Dans la mesure où il est bien connu que les performances des classifications mais nous nous appuierons principalement sur celle
algorithmes parallèles dépendent fortement des architectures des introduite par Flynn en 1966 [45]. La classification de Flynn des
machines multiprocesseurs utilisées, nous exposons dans ce para- architectures parallèles ne se base pas sur la structure des machines
graphe un bref état de l’art de l’évolution des architectures des mais plutôt sur la façon dont la machine associe les instructions aux
multiprocesseurs. Nous présentons tout d’abord la taxonomie de données traitées [46] [47]. Un flot (stream) est une séquence
Flynn [45] qui correspond à une classification classiquement utili- d’objets (instructions ou données) exécutés ou traités par un proces-
sée. Cette classification permet de présenter l’organisation habi- seur. On distingue classiquement quatre grandes classes d’architec-
tuellement adoptée de la mémoire couplée à celle du réseau tures parallèles, en fonction du fait que les flots d’instructions et de
d’interconnexion entre les processeurs. Pour fixer les idées, on dis- données sont uniques ou multiples.

AF 1 386 – 20 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

____________________________________________________________________________________________ ALGORITHMES PARALLÈLES ASYNCHRONES II

3.2.1.1 SISD – Single Instruction stream,


Single Data stream
P P P P P P
C’est la machine séquentielle classique de von Neumann pour
laquelle il n’y a qu’un seul flot d’instructions (et par conséquent, en
pratique, une seule unité de traitement d’instructions ou séquen-
ceur) et chaque instruction exécute une opération, ce qui conduit à
un flot de données et de résultats associés unique. Réseau d’interconnexion

3.2.1.2 SIMD – Single Instruction stream,


Multiple Data streams
C’est une machine qui ne possède qu’un seul séquenceur mais M M M M M M
opère sur des données différentes ce qui permet l’exécution d’un
grand nombre d’opérations simultanées. Ce type de calculateur est Mémoire partagée
également appelé processeurs vectoriel et possède un grand
nombre d’unités de calcul. Les processeurs de calcul exécutent donc
la même instruction tout en opérant sur des données différentes. Figure 4 – Architecture à mémoire partagée
Les données traitées peuvent se trouver dans un espace mémoire
qui est global à toute la machine ou dans des espaces mémoire
locaux aux différents éléments de calcul. sage local (local address space) ou, plus couramment, d’absence
d’adressage global. La communication entre les processeurs ne
peut alors plus se faire par l’intermédiaire de la mémoire ; elle se
3.2.1.3 MISD – Multiple Instruction streams,
Single Data stream fait par l’envoi explicite de messages entre les processeurs par le
biais d’un réseau d’interconnexion aussi appelé réseau de commu-
La classe des machines MISD applique plusieurs flots d’instructions nication (communication network) ; l’architecture est alors appelée
à un flot unique de données. Peu de calculateurs de ce type existent à passage de messages (message passing). La figure 5 illustre un
dans la pratique car le nombre d’applications qui peuvent être mises exemple d’architecture à mémoire distribuée.
en œuvre sur ce genre d’architecture est très réduit. Ce type d’architec-
ture correspond à un mode d’exploitation « pipeline » du parallélisme. Si, du fait de la proximité entre espace mémoire et processeurs,
une architecture à mémoire partagée permet aux tâches parallèles
3.2.1.4 MIMD – Multiple Instruction streams, un accés plus rapide aux données qu’une architecture à mémoire
Multiple Data streams distribuée, des inconvénients tels que la gestion des synchronisa-
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

Un flot multiple d’instructions provenant de plusieurs séquen- tions dans la mémoire globale ou encore la difficulté à augmenter le
ceurs agit sur un flot multiple de données. Ce type d’architecture nombre de processeurs, correspondant dans ce dernier cas à un
inclut par conséquent toutes les configurations multiprocesseurs. accroissement du trafic sur le chemin d’accès à la mémoire parta-
Chaque processeur traite une donnée distincte, mais en plus, il gée, rendent le choix d’architectures à mémoire distribuée plus aisé
exécute son propre flot d’instructions. Dans cette classe d’architec- pour la mise en œuvre de plateformes de calcul parallèle et par
ture, la localisation des données permet de distinguer deux sous- conséquent de parallélisme massif. En effet, le nombre de proces-
classes d’architectures : les architectures MIMD à mémoire parta- seurs et la capacité des mémoires peuvent être augmentés, dans la
gée et les architectures MIMD à mémoire distribuée. mesure où un accès rapide à la mémoire locale sur chaque proces-
seur est possible sans surcoût de gestion des conflits d’accès et
avec un coût de construction qui reste raisonnable, ce qui n’est pas
3.2.2 Plateforme de calcul parallèle le cas des machines à mémoire partagée.
L’organisation interne de la mémoire fait apparaître deux classes
de machines MIMD bien distinctes pour le stockage des données ;
Remarque 25 : Signalons également qu’il existe un modèle de
on distingue donc les machines à mémoire partagée (shared
machine à mémoire virtuellement partagée où la mémoire, bien
memory) et celles à mémoire distribuée (distributed memory).
que physiquement distribuée, est considérée comme partagée.
Dans ce cas la lecture et l’écriture de données dans une mémoire
3.2.2.1 Mémoire partagée distante se fait par l’intermédiaire de sous-programmes dédiés qui
Dans cette première classe d’architectures, les processeurs peuvent masquent les échanges de messages. Les modèles à mémoire
accéder directement à l’intégralité de la mémoire. L’accès à la partagée et virtuellement partagée exigent de la part du program-
mémoire se fait par l’intermédiaire d’un réseau d’interconnexion per- meur la mise en oeuvre de synchronisations entre les proces-
formant, avec un temps d’accès rapide par les processeurs. Comme seurs, afin de garantir la validité des données lues ou écrites. Dans
chaque processeur peut accéder à toute la mémoire, on parle alors le modèle à passage de messages, les processeurs se synchro-
d’espace d’adressage global (global address space). Les processeurs nisent lorsqu’ils attendent la réception d’un message.
peuvent opérer indépendamment mais les données du calcul sont
placées dans une mémoire commune ; la communication entre les
processeurs se fait donc en accédant aux informations stockées en
mémoire et n’est pas explicite. Toute écriture en mémoire peut être
vue comme une communication implicite vers un autre processeur M M M M M M
qui accède ultérieurement à cette mémoire. Ce type d’organisation de
la mémoire nécessite une programmation rigoureuse afin d’éviter les
conflits d’accès à un même emplacement mémoire et nécessite une
programmation par verrous des sections critiques. La figure 4 illustre P P P P P P
un type d’organisation d’architecture à mémoire partagée.

3.2.2.2 Mémoire distribuée


Réseau d’interconnexion
Pour les architectures à mémoire distribuée, chaque processeur
dispose de sa propre mémoire locale. Un processeur ne peut donc
accéder qu’à sa mémoire locale ; on parle alors d’espace d’adres- Figure 5 – Architecture à mémoire distribuée

Copyright © – Techniques de l’Ingénieur – Tous droits réservés Doc. AF 1 386 – 21

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________

3.2.2.3 Plateformes de calcul parallèle 3.2.2.5 Grille de calcul


Contrairement à une grappe de calcul, une grille de calcul (grid) est
3.2.2.4 Grappe de calcul une architecture distribuée constituée de calculateurs hétérogènes,
géographiquement distants et qui peuvent effectuer des tâches
Une grappe de calcul (cluster) est un ensemble de calculateurs différentes et indépendantes. Une grille de calcul est un ensemble de
faiblement ou fortement interconnectés par un réseau local à haut ressources hétérogènes, c’est-à-dire qu’elle peut être composée
débit ; ces calculateurs fonctionnent ensemble de telle façon qu’ils d’ordinateurs personnels, de serveurs, de clusters, etc. Contrairement
peuvent être vus comme un seul calculateur parallèle. Chaque cal- à une grappe de calcul, l’administration des différentes ressources
culateur est appelé un nœud de calcul, possède un ou plusieurs d’une grille est plus complexe.
processeurs ainsi que sa propre mémoire locale et exécute sa
L’objectif d’une grille est d’utiliser les ressources d’un très
propre tâche. Dans la plupart des cas, tous les nœuds possèdent la
grand nombre de plateformes de calcul quelles que soient leurs
même architecture et sont gérés par le même système d’exploita-
localisations géographiques afin de résoudre des problèmes de
tion mais il n’est pas possible d’avoir une grappe de calcul hétéro-
très grande taille donc nécessitant beaucoup de mémoire et/ou
gène constituée de nœuds aux caractéristiques différentes.
nécessitant des temps de calcul très importants sur des calcula-
La figure 6 illustre une grappe de calcul constituée de 5 nœuds teurs classiques. Le développement de ces grilles de calcul est
possédant chacun 4 unités de calcul ainsi qu’une mémoire locale. rendu possible grâce aux réseaux haut débit longue distance (e.g.
En général, une grappe de calcul possède un nœud, appelé nœud réseau Ethernet). La figure 7a illustre un exemple de grille de
frontal, dédié à la gestion des ressources et à la distribution des calcul composée d’ordinateurs personnels (desktops ou laptops),
tâches aux autres nœuds. de serveurs et de clusters tous reliés entre eux par le réseau
Internet.
Un exemple de ce type d’architecture est la grille de calcul
Grid’5000 [24] (voir la rubrique Sites Internet du Pour en savoir
plus) composée de clusters distants et hétérogènes en France
(cf. figure 7b). Ce type de grille permet d’effectuer de la simulation
nœud 0 nœud 1 nœud 2 nœud 3 nœud 4
numérique à grande échelle. Cet environnement donne accès à
P P P P P P P P P P une grande quantité de ressources : 840 nœuds, 15 358 cœurs et
P P P P P P P P P P
utilise des technologies variées ; ces ressources sont regroupées
en 37 grappes homogènes sur 8 sites géographiquement distants,
M M M M M connectés à un réseau fédérateur dédié de 10 Gbps (gigabits par
seconde, soit un débit d’un milliard de bits par seconde). Ce réseau
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

est également doté de diverses technologies comme le GPU. Sur


chaque machine locale la vitesse de communication est d’environ
Réseau local un gigabit Ethernet (correspondant à une technologie de transmis-
sion utilisant le protocole Ethernet et qui fournit un débit de don-
nées d’un million de bits par seconde). Les sites Grid’5000 sont
composés de plusieurs clusters avec des architectures et des
Figure 6 – Exemple d’architecture d’une grappe de calcul performances de calcul différentes. Néanmoins, comme nous le

10 G dedicated lambda

Lille
Luxembourg

Rennes
Nancy

Nantes

Lyon

Grenoble

Sophia

a b

Figure 7 – Exemples de grille de calcul

AF 1 386 – 22 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

____________________________________________________________________________________________ ALGORITHMES PARALLÈLES ASYNCHRONES II

verrons ultérieurement lors de la comparaison de l’efficacité des – mutualisation : correspond à un partage de ressources hétéro-
algorithmes parallèles synchrone et asynchrone [AF 1 387], il est à gènes (matériel, logiciel, trafic réseau) pour servir plusieurs utilisa-
noter que les algorithmes asynchrones sont particulièrement bien teurs à qui les ressources sont automatiquement attribuées ;
adaptés à ce type d’architecture où les communications entre les – paiement à l’usage : la quantité de service est mesurée à des fins
nœuds éloignés géographiquement sont lentes, malgré la pré- de contrôle, d’adaptation des moyens techniques et de facturation.
sence d’un réseau haut débit entre les nœuds.
Les trois principaux modèles de services sont :
3.2.2.6 Cloud computing – IaaS (Infrastructure as a Service) : c’est le service de plus bas
niveau ; il consiste à offrir un accès à un parc informatique virtua-
Le cloud computing (voir la rubrique Sites Internet du Pour en lisé à l’utilisateur qui peut y installer un système d’exploitation et
savoir plus) est un modèle d’accés à des moyens délocalisés qui des applications ;
permet un accès omniprésent, pratique et à la demande, à un – PaaS (Platform as a Service) : c’est le service de moyen niveau ;
réseau partagé et à un ensemble de ressources informatiques le système d’exploitation et les outils d’infrastructure sont sous la
configurables, comme par exemple : des réseaux, des serveurs, du responsabilité du fournisseur mais l’utilisateur garde le contrôle des
stockage, des applications et des services (cf. figure 8) qui peuvent applications et peut ajouter ses propres outils ;
être provisionnées et libérées avec un minimum d’administration
[48] [49]. – SaaS (Software as a Service) : dans ce type de service, des appli-
cations sont mises à la disposition de l’utilisateur qui n’a pas à se
Ce modèle est composé de cinq caractéristiques essentielles et soucier du maintien de ces dernières ; les services de courrier électro-
de trois modèles de services. Les cinq caractéristiques essentielles nique constituent un exemple illustratif de ce type de modèle.
sont :
Par rapport à une grille de calcul, le cloud computing dispose de
– ressources en libre-service partout dans le monde ; surcouches logicielles qui permettent de faire abstraction des pro-
– élasticité : la puissance et la capacité de stockage peuvent être blématiques matérielles au niveau utilisateur. Compte tenu de ces
adaptées automatiquement en fonction des besoins des utilisateurs ; couches logicielles supplémentaires, l’utilisation des algorithmes
– ouverture : les services sont accessibles depuis un ordinateur, itératifs parallèles asynchrones peut présenter un intérêt dans ce
un téléphone portable ou une tablette ; type d’environnement par rapport à leurs équivalents synchrones.
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

Servers

Application Desktops
Laptop

Monitoring Collaboration
Finance
Content Communication
Platform

Identity
Queue
Object Storage Runtime Database

Infrastructure

Compute Network
Block Storage
Phones Tablets

Cloud computing

Figure 8 – Illustration du cloud computing (d’après Wikipedia)

Copyright © – Techniques de l’Ingénieur – Tous droits réservés Doc. AF 1 386 – 23

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________

3.2.2.7 Architecture GPU ne peut commencer à calculer une nouvelle itération que s’il a reçu
les données calculées à l’itération précédente par tous les autres
Les cartes graphiques (GPU – Graphics Processing Unit) ont été
processeurs avec qui il partage des données. Par conséquent, tous
introduites dans les ordinateurs personnels afin de produire des gra-
les processeurs commencent les calculs de la même itération en
phismes de haute qualité plus rapidement qu’avec un processeur
même temps et échangent les données à la fin de chaque itération
classique (CPU – Central Processor Unit) et afin d’alléger la charge
par le biais de communications globales synchrones.
de travail de ce dernier [44]. Les fonctionnalités sont très répétitives
et très spécifiques ; c’est pourquoi les fabricants produisent des La figure 10 illustre l’exécution d’un algorithme parallèle SISC. Le
cartes graphiques de plus en plus sophistiquées. Ces cartes gra- synchronisme nécessaire pour le calcul des itérations d’un algorithme
phiques possèdent leur propre mémoire dédiée afin d’effectuer des SISC implique un nombre d’itérations identique à celui de l’algo-
opérations arithmétiques et logiques. Depuis 2000, les utilisateurs rithme séquentiel correspondant. Donc, les conditions de conver-
de cartes GPU peuvent effectuer des opérations arithmétiques sur gence des algorithmes parallèles SISC sont les mêmes que celles de
une série de pixels. Des chercheurs ont alors essayé d’appliquer ces l’algorithme séquentiel. Cependant, les communications synchrones
opérations sur d’autres types de données afin d’utiliser la puissance peuvent souvent induire des périodes d’inactivité des processeurs en
des GPU à des fins plus génériques. Malheureusement, la program- raison, d’une part, des synchronisations nécessaires imposées par
mation étant très complexe et très dépendante des contraintes l’algorithme de calcul et, d’autre part, en raison de la vitesse trop
matérielles, en 2007, la société Nvidia a proposé la technologie lente du réseaux engendrant les communications.
CUDA qui a permis d’unifier la programmation sur leurs modèles de
cartes graphiques. Cette avancée a rendu le calcul générique sur un
processeur graphique (GPGPU – General Purpose Graphics Proces- 3.3.2 SIAC (Synchronous Iterations, Asynchronous
sing Unit) beaucoup plus accessible. Communications)
Les unités de traitement composant une carte GPU sont beau- Les solveurs itératifs utilisant des itérations synchrones mais des
coup plus simples que celles d’une carte CPU traditionnelle et de communications asynchrones (SIAC) ont été développés avec pour
plus il est aussi beaucoup plus facile d’intégrer un grand nombre objectif d’améliorer les performances sur des réseaux équipés de
de ces unités dans une carte graphique que dans une carte CPU. connexions lentes et/ou hétérogènes. Ils parviennent à réduire les
La figure 9 illustre la comparaison entre le nombre d’unités de temps d’inactivité des processeurs entre deux itérations. De manière
traitement dans une carte CPU et dans une carte GPU. La vitesse identique aux algorithmes SISC, un processeur attend toujours la
d’horloge d’une carte CPU est en général d’environ 3 gigahertz réception des données partagées calculées par tous ses voisins à
alors que celle d’une carte GPU est d’environ 1, 5 gigahertz ; même l’itération précédente. Cependant, les communications synchrones
si la vitesse d’horloge d’une carte GPU est moins importante, le globales sont remplacées par des envois asynchrones et des récep-
nombre de cœurs permet de fournir plus de puissance. tions bloquantes.
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

Cependant même si de nos jours les cartes GPU sont capables La figure 11 illustre l’exécution d’un algorithme parallèle SIAC. Les
de fournir une grande puissance de calcul, elles ne sont efficaces conditions de convergence sont les mêmes que celles nécessaires à
que pour certains types d’opérations telles que des tâches répéti- un algorithme SISC ou à un algorithme séquentiel. Cependant,
tives de nature vectorielle dans lesquelles seules les données les communications asynchrones permettent un recouvrement entre
changent [50]. Ce type d’architecture semble être bien adaptée à les phases de calculs et celles de communications dues aux transferts
l’utilisation d’algorithmes vectorisables tels que la méthode de de données. Un processeur peut envoyer des données partagées à
Jacobi, celle de Richardson ou des méthodes de type gradient ses voisins dès qu’elles sont prêtes à être utilisées dans une nouvelle
conjugué et également l’utilisation de schémas explicites pour itération, ce qui a pour conséquence de réduire les temps d’attente
résoudre les problèmes d’évolution. nécessaires pour la réception des données entre deux itérations.
Ce type de parallélisation convient très bien à des architectures
3.3 Méthodes de parallélisation SIMD ; elle est schématisée à la figure 12 lors d’une parallélisation
utilisant des primitives MPI (Message Passing Interface – voir § 3.4).

3.3.1 SISC (Synchronous Iterations,


Synchronous Communications) 3.3.3 AIAC (Asynchronous Iterations, Asynchronous
Communications)
Les solveurs itératifs les plus courants sont ceux utilisant des
itérations synchrones et des communications synchrones (SISC). Le Les solveurs itératifs asynchrones avec communications asyn-
synchronisme des itérations est dû au fait que chaque processeur chrones (AIAC) ont été développés pour améliorer les performances
sur des plateformes de calcul constituées de ressources hétérogènes
et géographiquement distantes. En effet, les méthodes itératives
parallèles SISC et SIAC sont relativement faciles à mettre en œuvre
mais les performances sur ce type de plateforme de type grille de

CPU GPU calcul se trouvent pénalisées en raison des synchronisations. Sur ce


type d’architecture, les réseaux de communication sont souvent lents
et/ou l’hétérogénéité des ressources engendre des temps de calcul
Multiprocessor 1 Multiprocessor 2
Core 1 Core 2
32 cores 32 cores
pouvant être très différents suivant les processeurs utilisés. De plus
les communications entre les machines sont ralenties à cause d’une
Multiprocessor 3 Multiprocessor 4 part du trafic important sur le réseau d’interconnexion et d’autre part
Core 3 Core 4 à cause de l’éloignement des machines constituant le réseau.
32 cores 32 cores
Dans les méthodes parallèles AIAC, chaque processeur exécute
Core 5 Core 6 ses propres calculs sans se préoccuper de la progression des calculs
effectués par les autres processeurs ; chaque processeur passe donc
Multiprocessor 15 Multiprocessor 16 d’une itération à une autre sans attendre la réception des données
Core 7 Core 8
32 cores 32 cores partagées par ses voisins en utilisant les données locales et, en prin-
cipe, les valeurs les plus récentes des données partagées dispo-
nibles au début de chaque nouvelle itération. Les solveurs AIAC
Figure 9 – Comparaison du nombre de cœurs dans un CPU et dans utilisent des communications asynchrones effectuées par des envois
un GPU (d’après [44]) et des réceptions non bloquants.

AF 1 386 – 24 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

____________________________________________________________________________________________ ALGORITHMES PARALLÈLES ASYNCHRONES II

Pi

Pj

Itération 1 Itération 2 Itération 3 Itération 4 Itération 5 Itération 6


Temps

Figure 10 – Exemple d’un schéma SISC sur deux processeurs Pi et Pj

Pi
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

Pj

Itération 1 Itération 2 Itération 3 Itération 4 Itération 5 Itération 6


Temps

Figure 11 – Exemple d’un schéma SIAC sur deux processeurs Pi et Pj

connu que la méthode de Jacobi a besoin de deux fois plus d’itéra-


M M M M M M tions que la méthode de Gauss-Seidel, le mode de mise à jour des
composantes induisant cette différence. Ces méthodes mettent en
oeuvre des solveurs spécifiques tels que des solveurs basés sur
Programme avec des méthodes de relaxations à itérations asynchrones.
P P P P P P
des primitives MPI

3.4 Concepts de base MPI


Réseau d’interconnexion de programmation parallèle
Figure 12 – Exemple de fonctionnement MPI (architecture SIMD) MPI est une bibliothèque standardisée et dédiée à la mise en
oeuvre d’applications parallèles reposant sur le modèle par échange
de messages ; ce n’est pas un langage de programmation. Le
La figure 13 permet de visualiser l’exécution d’un algorithme standard définit uniquement la syntaxe et la sémantique de fonc-
parallèle AIAC. Les itérations asynchrones éliminent les temps tions permettant d’exploiter divers types d’architectures parallèles,
d’inactivité des processeurs ; ainsi des relaxations ayant des labels fonctions utilisables dans des codes écrits essentiellement en lan-
différents peuvent alors être effectuées au même moment ; cer- gages Fortran et C ; l’utilisation de MPI à la parallélisation de code
tains processeurs plus rapides peuvent donc effectuer (ou non) est le même que le programme soit écrit en Fortran ou en langage
plus de relaxations que d’autres processeurs. Par conséquent, les C ou C++, le principe de parallélisation étant le même. Les implé-
solveurs itératifs de type AIAC peuvent effectuer (ou non) plus mentations du standard MPI sont réalisées par les constructeurs de
d’itérations que les solveurs itératifs synchrones SISC et SIAC. Les supercalculateurs ou fournis par des contributeurs indépendants
conditions de convergence sont les mêmes et nous renvoyons sur dans le cas de grappes de stations de travail.
ce point à la section 1 ; cependant le mode de mises à jour des
composantes du vecteur itéré a une influence sur la vitesse de Nota : un supercalculateur est une grappe de machines de calcul et d’espaces de
stockage reliés par des réseaux haut débit avec peu de latence, c’est-à-dire des temps de
convergence de ces méthodes itératives. Par exemple pour communications réseau faibles ; ces machines permettent de maximiser les perfor-
résoudre une équation de Poisson en mode séquentiel il est bien mances de calcul.

Copyright © – Techniques de l’Ingénieur – Tous droits réservés Doc. AF 1 386 – 25

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________

Pi

Pj

Temps

Figure 13 – Exemple d’un schéma AIAC sur deux processeurs Pi et Pj

L’avantage majeur du standard MPI est la portabilité car les spé- de la bibliothèque et qui correspond à la dernière commande
cifications des fonctions sont indépendantes des architectures. Ce adressée à la bibliothèque MPI à utiliser ; le paramètre de cette
standard est devenu incontournable car il est implémenté sur tous commande est identique à celui utilisé lors de l’initialisation.
les supercalculateurs actuels. Cependant MPI ne prend pas en On renvoie aux brochures techniques pour des précisions sur les
compte la gestion dynamique des tâches. Le nombre de proces- paramètres à utiliser, cette question dépassant largement le cadre
seurs utilisés, défini au lancement du programme, ne peut être de cet article. Dans ce paragraphe, il n’est pas nécessaire de pré-
modifié durant l’exécution. Le standard a été étendu de manière à senter en détail toutes les fonctionalités de MPI. Nous nous limite-
prendre en compte le modèle à mémoire virtuellement partagée et rons donc aux fonctions essentielles, en particulier aux modes de
la création dynamique des tâches. De plus, les fonctions de la communications synchrones ou encore bloquantes et asynchrones
bibliothèque sont disponibles en C++ ce qui permet une grande ou encore non bloquantes.
modularité d’utilisation.
Le standard MPI définit deux types de communications entre
Il existe plusieurs implémentations de MPI (OpenMPI, MPICH, processus : les communications point à point entre deux processus
MVAPICH, IntelMPI, DeinoMPI). et les communications collectives entre tous les processus en une
Un processus est un ensemble de ressources informatiques seule opération.
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

comprenant un programme à exécuter, une unité de calcul et une Les deux opérations principales de communications point à point
mémoire permettant de stocker les données de travail. Cette sont l’envoi et la réception de messages. Le standard MPI définit de
notion de processus permet une allocation à un processur possé- nombreuses méthodes pour réaliser ces opérations. Sur ce sujet on
dant une mémoire privée. Ainsi un programme décomposé en se limitera au strict minimum pour simplement expliquer la
tâches exécutées en parallèle par plusieurs processeurs partageant démarche. Les échanges de messages sont effectués à travers des
une mémoire commune est aussi un processus. Le parallélisme au canaux de communications unidirectionnels. Les paramètres tels
sein du processus est associé à des processus légers (ou threads). que l’émetteur, la destination et la taille du message sont fixés lors
Ces derniers accèdent directement à la mémoire associée au pro- de l’initialisation. Ainsi
cessus dont ils font partie. Cependant la notion de processus
– le processus émetteur fixe la destination, l’emplacement mémoire
légers n’existe pas dans MPI.
où le message à envoyer est stocké et la taille du message ;
L’exécution d’un algorithme parallèle implémenté avec MPI cor- – le récepteur fixe la source d’émission, l’emplacement en mémoire
respond à l’exécution d’un ensemble de processus ayant en com- où le message reçu sera stocké et la taille de l’emplacement de
mun un programme séquentiel unique et communiquant à l’aide stockage.
des fonctions de la bibliothèque MPI. Un processus peut alors soumettre des requêtes d’émission ou
Lors de l’utilisation de MPI, par exemple dans un programme de réception de messages à ses canaux de communication. Une
Fortran, il est nécessaire d’inclure obligatoirement la librairie MPI fois le canal de communication établi, un échange de messages
par la commande INCLUDE « mpif. h ». est effectué suivant le protocole suivant :
Pour effectuer la parallélisation d’un code on utilise des fonc- – point de vue de l’émetteur :
tions classiques de la librairie MPI : l’initialisation de l’environne- 1) Le processus soumet sa requête d’émission qui se termine
ment MPI est activée par la commande CALL MPI_INIT(paramètre) lorsque le récepteur a soumis sa requête de réception associée au
qui permet une implémentation MPI en initialisant son environe- canal,
ment et correspond à la première commande de la bibliothèque à 2) Le processus attend la fin de sa requête et lorsque la requête
utiliser ; la commande correspondante s’écrit : d’émission est terminée, l’échange de message ne l’est pas à priori ;
– point de vue du récepteur :
CALL MPI_INIT(MPI_COMM_WORLD)
1) Le processus soumet sa requête de réception qui se termine
et elle initialise le communicateur MPI_COMM_WORLD qui lorsque le message envoyé par l’émetteur est reçu dans sa totalité,
contient tous les processus actifs, précision faite qu’un communi- 2) Le processus attend la fin de sa requête et la terminaison de la
cateur regroupe l’ensemble des processus qui peuvent communi- requête de réception coïncide avec celle de l’échange de message.
quer entre eux sachant que chaque processus possède un rang Pour communiquer et passer des messages, MPI utilise des primi-
unique dans la machine et le contexte de communication. Ce com- tives d’envoi et de réception. Ces primitives sont bloquantes (donc
municateur MPI_COMM_WORLD est donc un paramètre par défaut synchrones) si l’espace mémoire servant à la communication peut
qui permet de regrouper tous les processus crées sous un commu- être réutilisé immédiatement à la fin de son utilisation ; dans le cas
nicateur prédéfini. Cette commande permet l’échange de mes- de communications bloquantes, l’attente de la terminaison d’une
sages bloquants ou non bloquants pendant l’exécution. requête est une opération pendant laquelle le processus est inactif.
Les communications entre processeurs seront détaillées ci- À la fin de la requête, le canal de transmission est réutilisé pour
après. La finalisation de l’environnement MPI correspondant à la transmettre à nouveau des messages. D’autre part le standard MPI a
libéralisation des ressources est activée par la commande CALL défini des communications non bloquantes (donc asynchrones) cor-
MPI_FINALIZE(paramètre) qui libère donc les ressources utilisées respondant au fait qu’elles rendent la main immédiatement à la fin

AF 1 386 – 26 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

____________________________________________________________________________________________ ALGORITHMES PARALLÈLES ASYNCHRONES II

de leur utilisation. Dans ce cas, le test de terminaison de requêtes se


substitue à l’attente. Ces communications non bloquantes per-
Algorithme 4 : implémentation d’un schéma implicite en temps
mettent de réutiliser l’espace mémoire servant à la communication.
Output : Solution Unewt
Les communications non bloquantes laissent le programme pour- 1 Définir la valeur initiale U0
suivre son exécution, que la communication soit réellement réalisée 2 for chaque pas de temps do
ou non, et présentent un avantage indéniable au niveau du temps 3 Calculer le second membre du schéma en temps : G ← dt.G + U0
d’exécution puisqu’un processeur peut travailler tout en envoyant 4 Résoudre le système algébrique sur chaque cluster : Unew
des données ; elles permettent d’effectuer des communications 5 U0 ← Unewt
asynchrones. 6 Barrière de synchronisation
Enfin, lorsque le canal n’est plus utilisé, le programmeur doit
libérer les ressources mémoire et système acquises lors des
requêtes de communications. Figure 14 – Algorithme 4 : implémentation d’un schéma implicite
en temps
Préalablement à la phase de communication, il faut préciser le
nombre de processus gérés et le rang d’un processus ; ces préci-
sions sont effectuées respectivement par les commandes : Les communications collectives permettent d’implémenter des
opérations telles que :
CALL_COMM_SIZE(MPI_COMM_WORLD, nbproc, paramètre)
1) La diffusion d’un message vers tous les processus ;
et 2) La collecte des messages de la part de tous les processeurs ;
CALL_COMM_RANK(MPI_COMM_WORLD, rang, paramètre) 3) Les opérations arithmétiques et logiques où chaque processus
possède une partie des données de calcul.
où nbproc est le nombre de processeurs, rang est le numéro du
processeur courant compris entre 0 et (n – 1), où n représente le Nous ne développerons pas le concept de communications col-
nombre de processus appartenant à un communicateur, et para- lectives qui présente un risque d’inter-blocage entre les proces-
mètre intervient dans les commandes CALL MPI_INIT(paramètre) et seurs (deadlock) si par exemple un processeur n’est pas actif et en
CALL MPI_FINALIZE(paramètre). état de communiquer.

Les primitives bloquantes sont MPI_SEND et MPI_RECV et les


primitives non bloquantes sont MPI_ISEND et MPI_IRECV et corres- Remarque 26 : Il existe un autre outil de parallélisation qui est
pondent respectivement aux appels suivants : OpenMP. OpenMP est une interface de programmation parallèle
CALL MPI_SEND(paramètres) et CALL MPI_RECV(paramètres), sur une architecture à mémoire partagée. Cette interface permet
de développer rapidement des applications parallèles à petite
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

CALL MPI_ISEND(paramètres) et CALL MPI_IRECV(paramètres) ; granularité en restant proche du code séquentiel. C’est pourquoi
Les paramètres sont : nous ne développerons pas cet outil. Il existe aussi une program-
mation parallèle hybride combinant à la fois OpenMP et MPI.
– la valeur à recevoir ;
– le nombre de valeurs à recevoir ;
– le type de valeurs à recevoir ;
– le processus du destinataire ou de l’émetteur ; 3.5 Principe d’implémentation
– une étiquette pour identifier le message ;
Ce paragraphe est consacré à la présentation du principe d’implé-
– le processus communiquant ;
mentation des algorithmes parallèles asynchrones. L’implémenta-
– des informations sur la communication (utilisé par la primitive
tion de ces algorithmes parallèles a été réalisée sur des clusters en
MPI_WAIT) ;
[11] ainsi que sur des clusters hétérogènes et distants constituant
– un gestionnaire d’erreurs. une plateforme Grid dans [12]. La méthode de parallélisation utilisée
La mise en oeuvre des canaux de communication avec MPI est correspond à une méthode de décomposition de domaine associée
réalisée par des requêtes persistantes définies par le standard MPI. à un partitionnement en grands blocs des matrices, ces blocs étant
La création d’un canal de communication consiste à initialiser des assignés aux différents processeurs. Le processus de calcul parallèle
requêtes persistantes d’envoi et de réception. Ainsi, dans le cadre implique donc la décomposition du domaine et du maillage. Le prin-
d’un processus itératif, sur chaque canal de communication, les cipe de mise en oeuvre des méthodes itératives parallèles asyn-
messages transmis correspondent aux valeurs successives du vec- chrones et synchrones peut être résumé dans le schéma de
teur itéré. Il faut faire attention au problème d’inter-blocage lors de l’algorithme 5 (figure 15).
l’implémentation de communications synchrones utilisant des La méthode sans recouvrement correspond à une méthode de
sous-programmes MPI bloquants. Dans le cas d’itérations asyn- relaxation par blocs classique où les valeurs des composantes pro-
chrones, des communications point à point entre deux processus venant des processus traités par les autres processeurs associés
sont mises en oeuvre en utilisant des sous-programmes d’envoi et sont communiquées de manière synchrone ou asynchrone selon le
de réception MPI non bloquants. cas ; par conséquent, en utilisant les outils de parallélisation,
Enfin, dans le cas du calcul de la solution d’un problème d’évo- l’implémentation de ces méthodes parallèles sans recouvrement
lution par un schéma de calcul explicite, implicite ou semi- ne présente aucune difficulté majeure. Ainsi, afin de calculer la
implicite, il est nécessaire, pour assurer la cohérence du calcul de solution du problème global, on est amené à résoudre des séries
mettre en place à chaque pas de temps une barrière de synchroni- de sous-problèmes plus petits sur chaque processeur ; à noter que
sation par la fonction collective CALL MPI_BARRIER(comm, para- du fait de la résolution de sous-problèmes de plus petite taille, il y
mètre) qui permet de bloquer les processus du communicateur a moins de propagation d’erreurs d’arrondi et on obtient ainsi une
jusqu’à ce que le dernier soit arrivé à cette barrière. On a alors le meilleure précision. De plus plusieurs blocs adjacents de la décom-
schéma de calcul de l’algorithme 4 (figure 14). position naturelle par blocs sont assignés à chaque processeur afin
de mettre en oeuvre une stratégie proche d’une stratégie multipli-
L’ensemble de ces fonctions représente les directives essen- cative ; on obtient alors une décomposition en grands blocs. Afin
tielles pour réaliser des communications point à point. d’obtenir une vitesse de convergence plus élevée de l’algorithme,
Les communications collectives permettent de faire en une seule chaque processeur traite ses propres blocs, numérotés selon une
opération une série de communications point à point. Ces commu- numérotation rouge-noir ou lexicographique ; il faut noter que la
nications concernent toujours tous les processus du communica- numérotation rouge-noir est plus adaptée à l’utilisation du calcul
teur indiqué. parallèle et, dans ce contexte de numérotation, on peut adapter

Copyright © – Techniques de l’Ingénieur – Tous droits réservés Doc. AF 1 386 – 27

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________

Algorithme 5 : Principe d’implémentation d’une méthode de sous-domaines


1 while non-convergence do
2 for chaque bloc do
3 - Effectuer la communication des valeurs aux frontières des blocs
4 - Effectuer un algorithme de relaxation par blocs

Figure 15 – Algorithme 5 : principe d’implémentation d’une méthode de sous-domaines

simplement les démonstrations pour obtenir des résultats de maître contrôle la distribution du travail réparti sur un ensemble de
convergence [51]. Ainsi, sur chaque grand bloc associé à chaque processus esclaves. D’ou le schéma de l’algorithme 6 (figure 16)
processus, on peut implémenter une méthode classique et séquen- décrivant le principe d’implémentation.
tielle de relaxation par blocs afin de résoudre chaque sous-
Ce procédé est utilisé pour résoudre le système algébrique. Le
problème ; pour un problème de diffusion ou de convection-
calcul de la matrice et du second membre peut être effectué de
diffusion ce type d’algorithme est mis en oeuvre en résolvant
manière séquentielle, car cette partie n’est pas très consommatrice
chaque bloc tridiagonal, par la méthode d’élimination de Gauss
de temps de calcul et, sauf cas particulier, est effectuée une seule
adaptée aux matrices tridiagonales. Afin de minimiser le temps de
fois. Ainsi, seuls les calculs intensifs sont parallélisés.
calcul, la méthode de relaxation des blocs est optimisée par l’élimi-
nation des séquences de code redondantes ; la décomposition LU Dans le cas de la parallélisation de la méthode alternée de
de chaque bloc diagonal n’est effectuée qu’une seule fois dans la Schwarz, où les sous-domaines se recouvrent, la mise en oeuvre
phase d’initialisation ce qui permet de diminuer le temps d’exécu- est semblable exceptée que le système d’indices permettant le
tion. La détection de convergence des méthodes asynchrones découpage en grands blocs doit tenir compte du recouvrement
parallèles considérées est effectuée conformément à ce qui a été entre les sous-domaines. Le domaine est divisé soit en parallélépi-
présentée à la section 2 [11] [12]. Cependant au lieu d’utiliser des pèdes soit en sous-domaines de forme quelconque se chevau-
méthodes de relaxation par blocs pour résoudre chaque grand chant. Des valeurs minimales de recouvrement sont choisies
bloc, il est également possible d’implémenter diverses méthodes (environ un ou deux points de maille). On doit aussi définir les
numériques, par exemple la méthode de relaxation ponctuelle ou conditions de transmission entre deux sous domaines adjacents.
l’algorithme du gradient conjugué préconditionné. À noter que La description de la mise en oeuvre de la méthode alternée de
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

pour le découpage du problème en sous-problèmes on utilise un Schwarz classique, parallèle synchrone et asynchrone, est donnée
système d’indices qui définissent le début et la fin de chaque bloc. au schéma de l’algorithme 7 (figure 17).
L’algorithme de simulation parallèle est basé sur le paradigme Les sous-domaines sont affectés à chaque processeur en suivant
maître/esclave qui est une approche couramment utilisée pour les par exemple une numérotation rouge-noire ou lexicographique. La
applications parallèles et distribuées. Dans notre cas, un processus solution du problème cible est calculée comme précédemment en

Algorithme 6 : algorithme général


1 if master then
2 - calculer la matrice de discrétisation et le second membre
3 - envoyer les données d’entrée aux esclaves
4 - calculer l’algorithme parallèle SPMD pour résoudre le système algébrique
5 - recevoir les données de sortie des esclaves

6 else
7 - recevoir les données d’entrée du maître
8 - calculer l’algorithme parallèle SPMD pour résoudre le système algébrique
9 - envoyer les données de sortie au maître

Figure 16 – Algorithme 6 : algorithme général

Algorithme 7 : méthode alternée de Schwarz


1 while non convergence globale do
2 for chaque sous - domaine assigné à un processeur do
3 if convergence locale non atteinte then
4 - recevoir les dernières valeurs aux frontières
5 - résoudre les sous - systèmes
6 - envoyer les valeurs aux frontières aux processus voisins

Figure 17 – Algorithme 7 : méthode alternée de Schwarz

AF 1 386 – 28 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

____________________________________________________________________________________________ ALGORITHMES PARALLÈLES ASYNCHRONES II

implémentant soit la méthode de Gauss-Seidel par blocs qui a l’avan- adaptée aux grappes GPU [52]. On combine ainsi la performance
tage d’avoir un comportement multiplicatif ou une autre méthode des itérations parallèles synchrones pour résoudre les sous-systèmes
numérique. Du point de vue programmation, lors de l’implémentation linéaires par la méthode GMRES et, pour les échanges de données,
des méthodes parallèles asynchrones il est nécessaire de permettre la souplesse des itérations asynchrones entre les grappes GPU pour
un chevauchement complet entre les phases de communications et la résolution globale du système linéaire creux. Ce type de méthode
de calcul durant le traitement parallèle, contrairement à ce qu’il se est bien adapté à l’utilisation d’architectures distribuées composées
passe lors de l’exécution d’algorithmes parallèles synchrones où, par de noeuds de calcul géographiquement distants et interconnectés
exemple, un processeur doit attendre les mises à jour d’un autre pro- par un réseau de communication à forte latence correspondant à des
cesseur qui n’a pas terminé ses propres calculs. Dans le cas où de temps de transmission importants de paquets de données d’un pro-
nombreuses synchronisations sont nécessaires, et si en outre les cessus émetteur à un processus récepteur.
communications sont lentes, comme on le verra dans [AF 1 387], une Nous nous référons aussi à [53] [54] pour la détermination des
implémentation de méthodes parallèles asynchrones pourrait donc racines des polynômes de haut degré en utilisant des cartes GPU.
réduire considérablement le temps de calcul. En mode de communi- On renvoie également au livre [44] pour consulter divers travaux
cation asynchrone il est préférable de mettre en oeuvre des requêtes sur l’utilisation des cartes GPU dans diverses applications, et en
persistantes MPI [11] [12], plutôt que d’utiliser des communications particulier à la bibliographie de [55].
collectives ; dans le cas d’utilisation de communications persistantes,
les tampons de messages et les processus communicants sont spéci-
fiés une fois pour toutes avant de commencer une itérations. De plus
il est recommandé d’utiliser également des requêtes de réception non 3.7 Équilibrage de charge
bloquantes entre processeurs. La terminaison du processus itératif est pour les algorithmes parallèles
assurée par l’ajout d’une opération de snapshot partiel selon le prin- asynchrones
cipe présenté au paragraphe 2.2.1.
Pour prendre en compte l’hétérogénéité des machines, il est néces-
saire d’équilibrer la charge des processeurs surtout en mode syn-
3.6 Implémentation sur des architectures chrone mais également en mode asynchrone. En mode asynchrone,
multi-GPU une charge convenablement répartie permet un recouvrement effi-
cace des communications par les calculs. L’équilibrage de charge
Des travaux ont aussi portés sur l’implémentation de méthodes peut être appliqué de deux façons différentes : soit de manière sta-
parallèles itératives synchrones et asynchrones sur architecture tique, soit de manière dynamique. Dans le cas de l’équilibrage dyna-
multi-GPU [50] [52] [53]. Cette implémentation a permis en parti- mique de charge on prend en compte l’évolution de la puissance de
culier de résoudre un problème d’équation aux dérivées partielles calcul disponible sur chaque machine durant l’exécution de l’algo-
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

fortement non linéaire intervenant en finance ou en mécanique rithme. On équilibre donc itérativement la charge de chaque proces-
[50] ; il s’agit du problème de l’obstacle analogue à (4) qui corres- seur avec ses voisins jusqu’à équilibrage global de tout le système.
pond à un problème aux limites où la solution est soumise à des Ainsi l’asynchronisme apparaît aussi bien au niveau de la résolution
contraintes. Il est alors nécessaire à chaque pas du processus itératif de l’application qu’au niveau de la méthode d’équilibrage.
d’abord de résoudre le problème sans contraintes puis de projeter Par ailleurs, il devient de moins en moins intéressant de concevoir
composante par composante les mises à jour intermédiaires du pro- des algorithmes d’équilibrage spécifiques à un contexte donné
blème sans contraintes sur l’ensemble convexe définissant les d’architecture de machine. Il y a en effet une forte demande d’algo-
contraintes, ou bien de projeter de façon alternative comme indiqué rithmes totalement adaptatifs et utilisables sur tout type d’architec-
au paragraphe 3.1.2. On a donc utilisé, d’une part, la méthode de ture parallèle sans modification significative. Ceci est dû au fait que
Richardson projetée et, d’autre part, la méthode de relaxation par l’on assiste actuellement à l’émergence de systèmes à traiter de
blocs projetée. Il s’avère que la mise en oeuvre parallèle asynchrone façon de plus en plus dynamique. Cet aspect dynamique se situe
permet la réduction des temps de restitution des processus paral- typiquement au niveau des communications où les liens entre les
lèles. Il a été nécessaire de considérer deux niveaux de parallélisa- unités de calcul ne sont qu’intermittents.
tion : une parallélisation multithreadé synchrone à l’intérieur d’un D. Bertsekas et J. Tsitsiklis [6] ont proposé un modèle asyn-
noeud de calcul et une parallélisation entre les différents noeuds de chrone d’équilibrage décentralisé reposant sur le fait que chaque
la grappe qui communiquent entre eux par passage de messages en processeur possède l’estimation de sa charge et celle de ses voi-
mode synchrone ou asynchrone. sins. Ainsi chaque processeur recherche s’il a des voisins moins
Si l’on compare les performances des algorithmes implémentés chargés que lui et dans ce cas il leur distribue une partie de sa
sur des architectures multi-CPU d’une part et multi-GPU d’autre charge de calcul. Les travaux de D. Bertsekas et J. Tsitsiklis ont
part, on peut mesurer l’influence de l’architecture sur les perfor- ensuite évolués ; ainsi une variante de ces derniers a été de trans-
mances des méthodes de calcul. En particulier on remarque que la férer une partie de la charge de calcul uniquement vers le voisin le
méthode de Richardson projetée, bien qu’ayant une vitesse de moins chargé ; ce point de vue présente l’avantage de ne générer
convergence lente comparée à la méthode de relaxation par blocs que des transferts de charge par couple de voisins ce qui rend
projetée, est plus performante du point de vue du temps de restitu- l’équilibrage plus simple à mettre en oeuvre et surtout beaucoup
tion sur architecture multi-GPU ; ceci est du au caractère vectorielle plus léger car le réseau est beaucoup moins encombré par des
de la méthode de Richardson qui permet une bonne parallélisation transferts de messages.
multithreadée. Par contre sur une architecture multi-CPU, les perfor-
D’autres travaux sur l’équilibrage de charge de processus asyn-
mances sont inversées, la méthodes de Gauss-Seidel par blocs pro-
chrones ont été effectués par J.-C. Miellou, J. Bahi et M. Larraj [56]
jetée permettant d’obtenir des temps de restitutions meilleurs,
ainsi que par J. Bahi et S. Contassot-Vivier [10].
compte tenu de la bonne vitesse de convergence de cette méthode.
Il a été aussi constaté que, grâce à leur puissance de calcul, l’utilisa- Les premiers auteurs considèrent un point de vue numérique
tion des GPU permet de réduire le rapport entre le temps de calcul basé sur une décomposition variable en sous-domaines au cours
et celui de communications. des itérations en tenant compte de la régularité de la solution.
En utilisant toujours des architectures multi-GPU, des méthodes Les seconds auteurs considèrent que les stratégies les plus adap-
synchrones et asynchrones ont été implémentées pour la résolution tées à de tels contextes d’utilisation en mode asynchrone sont des
de systèmes linéaires creux de grande dimension. L’approche stratégies de voisinage basées sur des algorithmes de diffusion. Dans
retenue consiste à considérer des algorithmes à gros grains basés ce cadre d’étude la méthode proposée par J. Bahi et S. Contassot-
sur la méthode de multi-décomposition à deux niveaux utilisant Vivier repose sur un algorithme prenant en compte une diffusion
la méthode itérative parallèle de Krylov (algorithme GMRES) bien dynamique asynchrone des informations dans le temps sur un réseau

Copyright © – Techniques de l’Ingénieur – Tous droits réservés Doc. AF 1 386 – 29

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________

où le lien entre les processeurs est intermittent. Le point de vue origi- vers celui ayant le plus petit résidu. Dans ce contexte d’utilisation,
nal de cette approche, basée sur l’utilisation de distributions dyna- J. Bahi et S. Contassot-Vivier ont établi un théorème de convergence.
miques et/ou décentralisées, se démarque donc des méthodes Les résultats expérimentaux confirment l’efficacité de l’algorithme
traditionnelles utilisées dans les algorithmes d’équilibrage de charge d’équilibrage de charge.
où des distributions statiques et centralisées sont prises en compte.
Ce point de vue prend donc en compte l’évolution émergente des
architectures des multiprocesseurs, de plus en plus complexes et
comprenant souvent des unités de calcul hétérogènes et des réseaux
d’interconnexion variés. Cette approche permet donc de concevoir
4. Conclusion
des schémas d’équilibrage de charges permettant de profiter pleine-
ment de la puissance de calcul sans cesse croissante et de prendre en Cet article a permis de compléter le premier article [AF 1 385]
compte la modularité des systèmes liée à l’augmentation du nombre consacré à la modélisation et à l’analyse des algorithmes parallèles
de processus parallèles possibles. L’estimateur de charge choisi par asynchrones. Le présent article a abordé les questions d’implémen-
J. Bahi et S. Contassot-Vivier est le résidu entre deux itérations suc- tation des algorithmes itératifs parallèles asynchrones, notamment
cessives car ce dernier permet de prendre en compte la progression d’une part la terminaison effective de ces méthodes tant du point de
de la résolution itérative du problème ; en effet lorsque deux proces- vue informatique que numérique, et d’autre part l’implémentation
sus voisins ont des résidus très différents, cela signifie que l’un pro- de ces méthodes. Dans un prochain article [AF 1 387] nous présente-
gresse plus vite que l’autre et a donc une contribution plus faible à la rons des applications diverses et variées des algorithmes parallèles
progression globale du calcul. Pour équilibrer les charges on effectue asynchrones et nous préciserons dans quels cas ces méthodes sont
alors un transfert des calculs du processeur ayant le plus grand résidu efficaces.
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

AF 1 386 – 30 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

P
O
U
Algorithmes parallèles asynchrones II R

Implémentation E
par Pierre SPITERI
N
Professeur émérite
Université de Toulouse, INP-ENSEEIHT – IRIT, Toulouse, France
et Jean-Claude MIELLOU
Professeur honoraire
S
Université de Bourgogne Franche-Comté, Département de Mathématiques, Besançon,
France A
V
Sources bibliographiques O
[1] ORTEGA (J.M.) et RHEINBOLDT (W.C.). – [12] CHAU (M.), LAOUAR (A.), GARCIA (T.) et [21] WILKINSON (J.). – Rounding error in alge-
I
Iterative Solution of Nonlinear Equations in SPITERI (P.). – Grid solution of problem with braic processes. Prentice-Hall series in auto-
Several Variables. Computer Science and
Applied Mathematics. New-York: Academic
unilateral constraints. In: Numerical Algo-
rithms 75-4, p. 879-908 (2017). [22]
matic computation (1963).
EL BAZ (D.), SPITERI (P.), MIELLOU (J.-C.) et
R
Press (1970). JARRAYA (M.). – Mathematical study of per-
[13] MIELLOU (J.-C.), SPITERI (P.) et EL BAZ (D.).
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

[2] BERTSEKAS (D.). – Distributed asynchronous – Stopping criteria, forward and backward turbed asynchronous iterations designed for
computation of fixed points. In: Math. Pro- errors for perturbed asynchronous linear distributed termination. In: International

[3]
gramming 27, p. 107-120 (1983).
SPITERI (P.), MIELLOU (J.-C.) et EL BAZ (D.).
fixed point methods in finite precision. In:
IMA Journal of Numerical Analysis 25, [23]
Mathematical Journal 1-5, p. 491-503 (2002).
GOLUB (G.H.) et VAN LOAN (C.F.). – Matrix
P
– Perturbation of parallel asynchronous p. 429-442 (2005). computation. The Johns Hopkins University
linear iterations by floating point errors. In:
ETNA Electronic Transaction on Numerical
[14] GBIKPI-BENISSAN (G.), ZOU (Q.) et
MAGOULÈS (F.). – Asynchronous Iterative [24]
Press (1996).
BOLZE (R.), CAPPELLO (F.) et CARON (E.)
L
Analysis 13, p. 38-55 (2002).
[4] EL TARAZI (M.N.). – Some Convergence
Results for Asynchronous Algorithms. In:
Methods: programming Models and Parallel
Implementation. Institute of Computer Science
Press (2018).
et al. – GRID’ 5000: A large scale and highly
reconfigurable experimental grid testbed. In:
International Journal of High Performance
U
Numerische Mathematik 39, p. 325-340
(1982).
[15] MIELLOU (J.-C.). – Algorithmes de Relaxa-
tion Chaotique à Retards. In: ESAIM: Mathe-
Computing Applications 20-4, p. 481-494
(2006). S
[5] MIELLOU (J.-C.), EL BAZ (D.) et SPITERI (P.). matical Modelling and Numerical Analysis 9, [25] ROSENFELD (J.L.). – A case study on pro-
– A New Class of Asynchronous Iterative p. 55-82 (1975). gramming for parallel processors. Rapp.
Algorithms with Order Intervals. In: Mathe- tech. IBM, Thomas J. Watson, Research cen-
[16] ROBERT (F.). – Blocs H – matrices et conver- ter report RC-64 (1967).
matics of Computation 67, p. 237-255 (1998).
gence des méthodes itératives classiques par
[6] BERTSEKAS (D.) et TSITSIKLIS (J.). – Parallel blocs. In: Linear Algebra and its Applica- [26] MIELLOU (J.-C.), SPITERI (P.) et PERRIN
and Distributed Computation, Numerical tions 2, p. 223-265 (1969). (G.R.). – A cheap method of performance
Methods. Prentice Hall Englewood Cliffs N. J. evaluation for subdomain decomposition
(1989). [17] MIELLOU (J.-C.), CORTEY-DUMONT (P.) et parallel algorithms of three dimensional
BOULBRACHENE (M.). – Perturbation of elliptic problems. In: Journal of systems and
[7] DIJKSTRA (E.W.) et SCHOLTEN (C.S.). – fixed point iterative methods. In: Advances in software 6-1, p. 169-173 (1986).
Termination detection for diffusing computa- Parallel Computing I, p. 81-122 (1990).
tion. In: Processing Letters 11, p. 1-4 (1980). [27] SPITERI (P.). – Simulation d’exécutions paral-
[18] MIELLOU (J.-C.), SPITERI (P.) et EL BAZ (D.). lèles pour la résolution d’inéquations varia-
[8] CHANDY (R.M.) et LAMPORT (L.). – Distri- – A new stopping criterion for linear per- tionnelles stationaires. In : Revue E.D.F.
buted snapshots: determining global states turbed asynchronous iterations. In: Journal Informatique et Mathématique Appliquées –
of distributed systems. In: ACM Trans. of Computational and Applied Mathematics Série C 1, p. 149-158 (1983).
Comput. Syst. 3-1, p. 63-75 (1985). 219, p. 471-483 (2008). [28] BAUDET (G.). – Asynchronous Iterative
[9] SAVARI (S.A.) et BERTSEKAS (D.). – Finite [19] MIELLOU (J.-C.) et SPITERI (P.). – Stopping Methods for Multiprocessors. In: Journal of
termination of asynchronous iterative algo- criteria for parallel asynchronous iterations the Association for Computing Machinery 25,
rithms. In: Parallel Computing 22-1, p. 39-56 for fixed point methods. In: Developments in p. 226-244 (1978).
(1996). Parallel, Distributed, Grid and Cloud Compu- [29] GIRAUD (L.) et SPITERI (P.). – Résolution
[10] BAHI (J.), CONTASSOT-VIVIER (S.) et ting for Engineering. Sous la dir. de B.H.V. Parallèle de Problèmes aux Limites Non
COUTURIER (R.). – Parallel iterative algo- Topping et P. Ivanyi. Saxe-Cobourg Publica- Linéaires. In: ESAIM: Mathematical Model-
rithms: from sequential to grid computing. tions. Chap. 12, p. 277-308 (2013). ling and Numerical Analysis 25, p. 579-606
Chapman & Hall/CRC (2007). (1991).
[20] SPITERI (P.). – Finite precision computation
[11] CHAU (M.), EL BAZ (D.), GUIVARCH (R.) et for linear fixed point methods of parallel [30] GIRAUD (L.) et SPITERI (P.). – Implementa-
SPITERI (P.). – MPI implementation of asynchronous iterations. In: Techniques for tions of parallel solutions for nonlinear
parallel subdomain methods for linear and Parallel, Distributed, Grid and Cloud Compu- boundary value problems. Parallel Compu-
nonlinear convection-diffusion problems. In: ting for Engineering. Sous la dir. de B.H.V. ting’91, Advances in Parallel Computing 4.
Journal of Parallel and Distributed Compu- Topping et P. Ivanyi. Saxe-Cobourg Publica- Amsterdam, North Holland: Elsevier Science
ting 67-5, p. 581-591 (2007). tions. Chap. 12, p. 163-196 (2015). B.V., p. 203-211 (1992).

Copyright © – Techniques de l’Ingénieur – Tous droits réservés Doc. AF 1 386 – 1

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

P ALGORITHMES PARALLÈLES ASYNCHRONES II ___________________________________________________________________________________________


O
U [31] GUIVARCH (R.) et SPITERI (P.). – Implantation [41] VARGA (R.S.). – Matrix iterative analysis. Computers and Mathematics with Applica-

R de méthodes de sous-domaines asynchrones


avec PVM et MPI sur IBM-SP2. In : Calcula-
teurs Parallèles 10-4, p. 431-438 (1998).
[42]
Prentice Hall (1962).
SPITERI (P.), MIELLOU (J.-C.) et EL BAZ (D.). [51]
tions 65-11, p. 1830-1848 (2013).
CHAU (M.), GARCIA (T.) et SPITERI (P.). –
– Asynchronous Schwarz alternating Asynchronous Schwarz Methods Applied to
[32] RAMAMONJISOA (C.E.), ZIANE KHODJA (L.) methods with flexible communication for the Constrained Mechanical Structures in Grid
et COUTURIER (R.) et al. – Simulation of obstacle problem. In : Réseaux et systèmes Environment. In: Advances in Engineering
Asynchronous Iterative Algorithms Using répartis 13-1, p. 47-66 (2001). Software 74, p. 1-15 (2014).
E SimGrid. In: Proceedings of International
Conference on High Performance Computing
[43] BERTSEKAS (D.P.) et TSITSIKLIS (J.N.). –
Some Aspects of Parallel and Distributed Ite-
[52] BAHI (J.M.), COUTURIER (R.) et ZIANE KHO-
DJA (L.). – Parallel GMRES implementation
and Communications – IEEE 2014 (2014).
N [33] GLOWINSKI (R.), LIONS (J.L.) et TRÉMO-
LIERES (R.). – Analyse Numérique des Inéqua-
rative Algorithms – A Survey. In: Automatica
27 (1991), p. 3-21.
for solving sparse linear systems on GPU
clusters. In: Proceedings of the 19th High Per-
formance Computing Symposia (2011).
[44] COUTURIER (R.). – Designing Scientific
tions Variationnelles. T. 1-2. Dunod (1976). [53] GHIDOUCHE (K.), SIDER (A.), COUTURIER
Applications on GPUs. Numerical Analysis
[34] DUVAUT (G.) et LIONS (J.L.). – Les Inéqua- and Scientific Computing. Chapman & Hall/ (R.) et GUYEUX (C.). – Efficient high degree
polynomial root finding using GPU. In: Jour-
S tions en Mécanique et Physique. Dunod
(1972).
[45]
CRC (2013).
FLYNN (M.J.). – Very High-Speed Computing
nal of Computational Sciences 18, p. 45-56
(2017).
[35] LAMBERTON (D.) et LAPEYRE (B.). – Intro- Systems. In: Proceedings of the IEEE 54.
A duction au calcul stochastique appliqué à la
finance. Ellipses (1992).
[46]
IEEE, p. 1901-1909 (1966).
GENGLER (M.), UBÉDA (S.) et DESPREZ (F.).
[54] GHIDOUCHE (K.), COUTURIER (R.) et SIDER
(A.). – A parallel implementation of the
Durand-Kerner algorithm for polynomial
[36] CEA (J.). – Optimisation, théorie et algorithmes. – Initiation au Parallélisme : Concept, Archi-
V [37]
Paris : Dunod (1971).
LIONS (P.L.) et MERCIER (B.). – Splitting algo- [47]
tectures et Algorithmes. Masson (1996).
HOCKNEY (R.W.) et JESSHOPE (C. R.). –
root-finding on GPU. In: Proceedings of Inter-
national Conference on Advanced Networ-
king Distributed Systems and Applications –

O rithms for the sum of two nonlinear opera-


tors. In: SIAM J. NUMER. ANAL. 16-6, p. 964-
979 (1979).
Parallel Computers: Architecture, Program-
ming and Algorithms. Adam Hilger Ltd (1981). [55]
IEEE 2014 (2014).
SAAD (Y). – Iterative methods for linear sys-
[48] ANTONOPOULOS (N.) et GILLAM (L.). – Cloud tems of equations: a brief historical journey,
I [38] MIELLOU (J.-C.) et SPITERI (P.). – Two criteria
for the convergence of asynchronous itera-
Computing: Principles, Systems and Applica-
tions. Computer Communications and
75 Years of Mathematics of Computation,
Contemporary Mathematics, Edited by
tions. Sous la dir. de F. Robert P. Chenin C. Networks. Berlin, Heidelberg: Springer (2010). Susanne C. Brenner, Igor E. Shparlinski, Chi-
R di Crescenzo. Computers and computing.
Wiley – Masson, p. 30-34 (1986).
[49] BUYYA (R.), BROBERG (J.) et GOSCINSKI
(A.M.). – Cloud Computing: Principles and
Wang Shu, Daniel Szyld, vol. 754, pp. 197-214,
2020.https://doi-org/10.1090/com/754/1514.
[56] MIELLOU (J.-C.), BAHI (J.) et LAARAJ (M.). – A
[39] HOWARD (R.A.). – Dynamic programming Paradigms. Wiley (2011).
survey on Asynchronous Iterations. In: Parallel
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10

and Markov processes. Wiley (1960).


[50] ZIANE-KHODJA (L.), CHAU (M.), COUTURIER and Distributed Computing for Computational

P [40] BREZIS (H.). – Opérateurs maximaux mono-


tones et semi-groupes de contractions dans
les espaces de Hilbert. Elsevier (1973).
(R.), BAHI (J.M.) et SPITERI (P.). – Parallel
solution of American options derivatives on
GPU clusters. In: International Journal of
Mechanics using High Performance Compu-
ting. Sous la dir. de B.H.V. Topping. Saxe-
Cobourg Publications. Chap. 5, p. 95-115 (2002).

L
À lire également dans nos bases
U SPITERI (P.) et MIELLOU (J.-C.). – Algorithmes SPITERI (P.) et MIELLOU (J.-C.). – Algorithmes CAPPELO (F.) et ETIEMBLE (D). – Introduction au
parallèles asynchrones I. Modélisation et ana- parallèles asynchrones III. Applications, perfor- parallélisme et aux architectures parallèles.
S lyse. [AF 1 385] Sciences fondamentales (2021). mances. [AF 1 387] Sciences fondamentales
(2021).
[H 1 088] Technologies de l’information (2017).

Sites Internet
Grid’5000: https://www.grid5000.fr National Institute of Standards and Technology (NIST):
Cloud Computing: https://www.wikipedia.org/wiki/cloud-computing https://www.nist.gov

Doc. AF 1 386 – 2 Copyright © – Techniques de l’Ingénieur – Tous droits réservés

tiwekacontentpdf_af1386 v1 Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
GAGNEZ DU TEMPS ET SÉCURISEZ VOS PROJETS
EN UTILISANT UNE SOURCE ACTUALISÉE ET FIABLE

Techniques de l’Ingénieur propose la plus importante


collection documentaire technique et scientifique
en français !
Grâce à vos droits d’accès, retrouvez l’ensemble
des articles et fiches pratiques de votre offre,
leurs compléments et mises à jour,
et bénéficiez des services inclus.

   
RÉDIGÉE ET VALIDÉE MISE À JOUR 100 % COMPATIBLE SERVICES INCLUS
PAR DES EXPERTS PERMANENTE SUR TOUS SUPPORTS DANS CHAQUE OFFRE
NUMÉRIQUES

 + de 350 000 utilisateurs


 + de 10 000 articles de référence
 + de 80 offres
 15 domaines d’expertise
Automatique - Robotique Innovation
Biomédical - Pharma Matériaux
Construction et travaux publics Mécanique
Électronique - Photonique Mesures - Analyses
Énergies Procédés chimie - Bio - Agro
Environnement - Sécurité Sciences fondamentales
Génie industriel Technologies de l’information
Ingénierie des transports

Pour des offres toujours plus adaptées à votre métier,


découvrez les offres dédiées à votre secteur d’activité

Depuis plus de 70 ans, Techniques de l’Ingénieur est la source


d’informations de référence des bureaux d’études,
de la R&D et de l’innovation.

www.techniques-ingenieur.fr
CONTACT : Tél. : + 33 (0)1 53 35 20 20 - Fax : +33 (0)1 53 26 79 18 - E-mail : infos.clients@teching.com
LES AVANTAGES ET SERVICES
compris dans les offres Techniques de l’Ingénieur

  
ACCÈS

Accès illimité Téléchargement des articles Consultation sur tous


aux articles en HTML au format PDF les supports numériques
Enrichis et mis à jour pendant Pour un usage en toute liberté Des contenus optimisés
toute la durée de la souscription pour ordinateurs, tablettes et mobiles

 
SERVICES ET OUTILS PRATIQUES

Questions aux experts* Articles Découverte Dictionnaire technique multilingue


Les meilleurs experts techniques La possibilité de consulter des articles 45 000 termes en français, anglais,
et scientifiques vous répondent en dehors de votre offre espagnol et allemand

 
Archives Impression à la demande Alertes actualisations
Technologies anciennes et versions Commandez les éditions papier Recevez par email toutes les nouveautés
antérieures des articles de vos ressources documentaires de vos ressources documentaires

*Questions aux experts est un service réservé aux entreprises, non proposé dans les offres écoles, universités ou pour tout autre organisme de formation.

ILS NOUS FONT CONFIANCE

www.techniques-ingenieur.fr
CONTACT : Tél. : + 33 (0)1 53 35 20 20 - Fax : +33 (0)1 53 26 79 18 - E-mail : infos.clients@teching.com

Vous aimerez peut-être aussi