HAL Id: tel-00378738
https://tel.archives-ouvertes.fr/tel-00378738
Submitted on 26 Apr 2009
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Programmation parallèle orientée objet et réutilisabilité appliquée à l’algèbre linéaire
Eric Noulard
To cite this version:
Eric Noulard. Programmation parallèle orientée objet et réutilisabilité appliquée à l’algèbre linéaire.
Informatique [cs]. Université de Versailles-Saint Quentin en Yvelines, 2000. Français. �tel-00378738�
et reutilisabilite appliquee a l'algebre
lineaire
TH
ESE
presentee etsoutenue publiquement le 5Deembre2000
p ourl'obtention du
Dotorat de l'universite de Versailles St-Quentin-en-Yvel in es
(speialite informatique)
par
Eri Noulard
Comp osition du jury
President : William Jalby Professeur,UVSQ, Versailles
Rapporteurs : Yousef Saad Professeur,Universityof Minnesota,Minneap olis
Jean-Mar J
ezequel Professeur,Universitede Rennes 1,Rennes
Examinateurs : Denis Caromel Professeur,Universitede Nie,Sophia-Antip olis
Nahid Emad Ma^tre de Conferenes, UVSQ,Versailles
Paul Feautrier Professeur,UVSQ, Versailles
Je remerieNahid EMAD, maître deonférenes àl'UVSQ d'avoiraeptéd'ena-
drer mathèseainsiquePaulFEAUTRIER,Professeuràl'UVSQd'avoiraeptéd'être
mon direteurdethèse.
Je remerie Laurene FLANDRIN et Jean-Yves CHATELIER de la So iété
ADULIS d'avoirégalement enadrémon travail. Leurs enouragements,leurs remarques
ainsi que leur éouteplusieursfois renouvelésm'ontététrès b énéques.
JetiensàremerierJean-MarJEZEQUEL,Professeur àl'UniversitédeRennes1,
d'avoir aepté et pris le temps de rapp orter ette thèse. Les remarques dont il m'a fait
part, m'ont p ermis de onnaître des référenes imp ortantes et d'améliorer la qualité du
rapp ort.
Je tiens à remerier Yousef SAAD, Professeur à l'Universitédu Minnesota, d'avoir
aeptéetpris letempsderapp orter ette thèse.Jeleremeriedoublementarilm'avait
également aueilli, dans son équip e aux Etats-Unis, parmi les bagages d'un herheur
invité,avant ledébut dema thèse.
Je remerie sinèrement Denis CAROMEL, à la fois p our avoir aepté de faire
partie du jury, mais aussi p our la ollab oration que nous avons eue autour du méa-
nismeSharedOnRead p our C++//. J'aiappris b eauoup dehosesintérressanteslors de
ette ollab orationavelui etDavid SAGNOL, quee soit lors de mavisiteà Sophia-
Antip olis,ou par lasuite, lors de nos ontats életroniquesou téléphoniques.
JeremeriedontoutautantDavidSAGNOL,avequisefûtunplaisirdetravailler.
Iladusubirlesbugsduseondprototyp edemabibliothèqueetrép ondaittoujoursprésent
à mes questions onernant C++//. Sans lui le méanisme SharedOnRead n'aurait pas
vu le jour.
Je remerie William JALBY, Professeur à l'UVSQ et Direteur du Lab oratoire
PRiSM d'avoir aepté de présider le jury. Je lui dois aussi un grand meri p our avoir
partiip é, par son approbation, à l'obtention demadisp ense de DEA,ar elaa grande-
mentfailitémon travail etmon emploi du temps durant mapremièreannée dethèse.
Je remeriela Soiété ADULIS, d'avoir aepté ette onvention CIFRE qui m'a
p ermis de faire ette thèse tout en vivant en milieuindustriel. Je remeriepar la même
o asion, toutes les p ersonnes d'ADULISavequi j'ai eul'o asion de travailler, dedis-
uter du travailet du reste et deb oirede nombreuxafés,plus partiulièrementAgnès,
Annik, Arnaud, Christine, Cyril, Florene, Jean-Mar (L. et K.), Jean-Yves,
Laurene, Maude,Olivieret Sabine.
Un meri sp éial à François qui a toujours rép ondu présent à mes demandes et a
notablementontribuéàl'améliorationdemesonditionstehniquesdetravaildurantma
dernièreannéedethèse.Sesomp étenestehniquesm'ontégalementp ermisd'apprendre
b eauoup à son ontat.
Je remerie le lab oratoire PRiSM et plus partiulièrementles membres de l'équip e
du monastère du 4 ième
, de l'aueil qu'ils m'ont aordé lors de mes passages plus ou
moins réguliersau PRiSM. Un merisp éial à Chantal DUCOIN et Isabelle MOU-
DENNER qui ont été d'une eaité redoutable onernant mes diverses démarhes
serétario-administratives.
JeremerieAnid'avoirutilisé mabibliothèquep our son stage deDEAet dem'avoir
de m'avoirp ermisdévelopp eret tester mabibliothèquesur le T3E.
Jeremerietous mesamisquipar leursempiternellequestion Euhau fait? Tu en es
où de ta thèse? , ont ertainementontribué à la faireavaner. Je remerieplus parti-
ulièrementErietNiolas,quim'ontfaitgrandplaisirenselib érantdeleursobligations
p our assister à masoutenane.
Finalementjeremerietoutemafamille,etpluspartiulièrementp our l'aidelogistique
imp ortantequ'ils ont déployéeles quelquesjours préédantmasoutenane.
Il y aurait pu y avoir des non-meri, mais je préfère laisser à Cyrano le soin de les
servir.
Je ne remerie ni Caroline, ni Louis, p our ette thèse ar je préfère le faire tous
les jours de l'année, p our la joie et l'amour qu'ils me pro urent quotidiennementet qui
dépassent largementetravail dethèse.
et tous euxque j'aimeet que j'aimerai.
Introdution
Chapitre 1
Langages à objets et parallélisme
1.1 Intro dution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Mo dèle deprogrammation vs mo dèled'exéution . . . . . . . . . . . . . . 4
1.2.1 Critèresdehoixd'un mo dèledeprogrammation . . . . . . . . . . 5
1.2.2 Calulsientiqueeteaité . . . . . . . . . . . . . . . . . . . . . 7
1.3 Les oneptsdu parallélisme . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 Lesmo dèlesd'exéutionparallèle . . . . . . . . . . . . . . . . . . . 8
1.3.2 Lesmo dèlesdeprogrammation parallèle . . . . . . . . . . . . . . . 12
1.3.3 Lesmoyens de programmationparallèle . . . . . . . . . . . . . . . 18
1.3.4 Autresasp ets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.4 Les oneptsorientés-objet . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.4.1 Dénitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.4.2 Coneption,réalisation, maintenaneorientées-objet . . . . . . . . . 35
1.5 Les langages à objets parallèles . . . . . . . . . . . . . . . . . . . . . . . . 36
1.5.1 Classiations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.5.2 QuelquesexemplesdeLAOsparallèles . . . . . . . . . . . . . . . . 39
1.6 Développ ementetmaintenanedes appliationsparallèles. . . . . . . . . . 50
1.6.1 Choix deparallélisation . . . . . . . . . . . . . . . . . . . . . . . . 52
1.7 Conlusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Chapitre 2 Méthodes itératives d'algèbre linéaire 2.1 Intro dution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.2 Objetifs deLAKe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.4 La métho de d'Arnoldi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.4.1 Pro essusd'Arnoldi . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.4.2 Pro essusd'Arnoldi par blo . . . . . . . . . . . . . . . . . . . . . . 59
2.4.3 Avantages des métho des par blo . . . . . . . . . . . . . . . . . . . 62
2.4.4 Estimationdes résidus . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.4.5 Redémarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.4.6 Tailledeblo variable . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.5 Caratéristiques des métho des itérativesd'algèbre linéaire. . . . . . . . . . 68
2.5.1 Lesop érations élémentaires . . . . . . . . . . . . . . . . . . . . . . 69
2.5.2 Critèresd'arrêtet redémarrages . . . . . . . . . . . . . . . . . . . . 71
2.5.3 Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.6 ParallélismeetMétho des Itératives . . . . . . . . . . . . . . . . . . . . . . 72
2.6.1 Mo dèledeprogrammation deLAKe . . . . . . . . . . . . . . . . . . 72
2.6.2 Distributiondes aluls et/ou des données . . . . . . . . . . . . . . 73
2.6.3 Implantationdes op érations élémentairesdistribuées . . . . . . . . 74
2.7 Conlusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Chapitre 3 Ative-LAKe: utilisation d'un modèlede programmation à objets atifs 3.1 Intro dution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.2 Le mo dèled'ateurdeC++// . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.2.1 Métho dologie deoneption . . . . . . . . . . . . . . . . . . . . . . 77
3.2.2 Quelsméanismesderéutilisation? . . . . . . . . . . . . . . . . . . 77
3.3 Coneption objet de LAKe . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.3.1 Coneptionséquentielle:arhitetureobjet de LAKe . . . . . . . . 79
3.3.2 Coneptionparallèle:arhitetureobjet d'Ative-LAKe . . . . . . . 82
3.4 Le mo dèleàobjets atifset lesreopies . . . . . . . . . . . . . . . . . . . . 84
3.5 Le méanismeSOR -SharedOnRead . . . . . . . . . . . . . . . . . . . . . 85
3.5.1 Sp éiationsde lalasse SharedOnRead . . . . . . . . . . . . . . . 85
3.5.2 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.6 Appliationet résultats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.6.1 Implantationdans Ative-LAKe . . . . . . . . . . . . . . . . . . . . 88
3.6.2 Performane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.7 Conlusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.1 Intro dution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.2 Une implémentationdeLAKe aveMPI . . . . . . . . . . . . . . . . . . . . 94
4.2.1 Lesavantages et les inonvénients . . . . . . . . . . . . . . . . . . . 94
4.2.2 Uneappro he objet aveMPI . . . . . . . . . . . . . . . . . . . . . 95
4.2.3 Enapsulation du parallélismeetp olymorphisme. . . . . . . . . . . 95
4.3 Polymorphisme,génériitéet parallélisme. . . . . . . . . . . . . . . . . . . 97
4.3.1 Contravariane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.3.2 Motifdeoneption Servie . . . . . . . . . . . . . . . . . . . . 100
4.3.3 Génériitéet distribution. . . . . . . . . . . . . . . . . . . . . . . . 107
4.4 Matries ave formeetformes dematrie . . . . . . . . . . . . . . . . . . . 109
4.4.1 Formesde matries . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.4.2 Matriesave formes . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.4.3 La génériitérésout leproblème deontravariane . . . . . . . . . . 115
4.4.4 Lesavantages des matriesaveformes . . . . . . . . . . . . . . . . 116
4.4.5 Polymorphismeuniverselparamétriqueou par inlusion . . . . . . . 117
4.5 Op érations basiques etalgorithmes . . . . . . . . . . . . . . . . . . . . . . 119
4.6 Exp érimentationsnumériques . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.6.1 Travaux onnexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.7 Conlusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Chapitre 5 Intégration du parallélismedans uneméthodologiede développement ob- jet 5.1 Intro dution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.2 Conevoirave réutilisation ou pour réutiliser . . . . . . . . . . . . . . . . 124
5.3 Les étap es dela métho de DEMRAL. . . . . . . . . . . . . . . . . . . . . . 125
5.3.1 Analysededomaine . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.3.2 Coneptiondedomaine . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.3.3 Réalisation dedomaine . . . . . . . . . . . . . . . . . . . . . . . . . 128
5.4 Intégration des élémentsdu parallélisme . . . . . . . . . . . . . . . . . . . 128
5.4.1 Lesidées ommunesissues de LAKeet DEMRAL . . . . . . . . . . 128
5.4.2 Intégrer lesontraintesliéesau Parallélisme . . . . . . . . . . . . . 129
5.5.1 Programmation/implantationouverte . . . . . . . . . . . . . . . . . 131
5.5.2 Programmationpar asp ets . . . . . . . . . . . . . . . . . . . . . . 131
5.5.3 Programmationgénérative . . . . . . . . . . . . . . . . . . . . . . . 133
5.5.4 Formesde matries:un langage d'asp ets? . . . . . . . . . . . . . . 133
5.6 Conlusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Conlusion Annexes Annexe A High Performane Fortran (HPF) A.1 Intro dution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
A.2 Diretivesde ompilations . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Annexe B The Message Passing Interfae (MPI): Une introdution B.1 Les fontions prinipalesde MPI . . . . . . . . . . . . . . . . . . . . . . . . 139
B.1.1 Lesfontions intrinsèques àlalibrairie . . . . . . . . . . . . . . . . 139
B.1.2 Lesfontions deommuniationsp oint-à-p oint . . . . . . . . . . . . 139
B.1.3 Lesfontions deommuniationsolletives . . . . . . . . . . . . . 140
B.2 Autres fontionnalités deMPI . . . . . . . . . . . . . . . . . . . . . . . . . 142
B.3 MPI-2, nouvellesfontionnalités . . . . . . . . . . . . . . . . . . . . . . . . 143
Bibliographie 144