Académique Documents
Professionnel Documents
Culture Documents
: AF1386 V1
Algorithmes parallèles
Date de publication :
10 octobre 2021 asynchrones II -
Implémentation
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.
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
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
(6)
(7)
où
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
(8)
et ,
(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
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
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
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
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
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
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
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
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.
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
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
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
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
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 .
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
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
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)
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.
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
(40)
(41)
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
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 :
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)
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
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
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
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.
Figure 1 – Algorithme 1 : résolution parallèle du problème (1) sur une grappe
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
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)
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 :
Figure 2 – Algorithme 2 : algorithme de Gauss projeté pour résoudre un système algébrique contraint comportant une matrice tridiagonale
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
é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.
Figure 3 – Algorithme 3 : algorithme de Gauss-Seidel projeté pour résoudre un système algébrique dont la solution est soumise à des contraintes
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
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
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
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.
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
(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 Ξ.
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
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
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
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.
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
10 G dedicated lambda
Lille
Luxembourg
Rennes
Nancy
Nantes
Lyon
Grenoble
Sophia
a b
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
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
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
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).
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
Pi
Pj
Pi
Parution : octobre 2021 - Ce document a ete delivre pour le compte de 7200044384 - universite de bretagne sud // 193.52.48.10
Pj
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
Pi
Pj
Temps
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
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
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
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
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
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
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
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
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
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
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).
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
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
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
RÉDIGÉE ET VALIDÉE MISE À JOUR 100 % COMPATIBLE SERVICES INCLUS
PAR DES EXPERTS PERMANENTE SUR TOUS SUPPORTS DANS CHAQUE OFFRE
NUMÉRIQUES
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
SERVICES ET OUTILS PRATIQUES
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.
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