• Aucun résultat trouvé

Programmation parallèle orientée objet et réutilisabilité appliquée à l'algèbre linéaire

N/A
N/A
Protected

Academic year: 2021

Partager "Programmation parallèle orientée objet et réutilisabilité appliquée à l'algèbre linéaire"

Copied!
169
0
0

Texte intégral

(1)

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�

(2)

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

(3)

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

(4)

de m'avoirp ermisdévelopp eret tester mabibliothèquesur le T3E.

Jeremerietous mesamisquipar leursempiternellequestion Euhau fait? Tu en es

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.

(5)

et tous euxque j'aimeet que j'aimerai.

(6)

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

(7)

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

(8)

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

(9)

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

Références

Documents relatifs

une commande est créée pour un client et un catalogue donnés, on peut ajouter des articles à une commande, accéder à la liste des articles commandés ainsi que prix total des

Si l'on appel notre méthode publique Animaux() depuis une instance de $zoo, cela va retourner de manière sécurisée notre tableau d'animaux stocké dans notre classe, et personne ne

– Pour qu’une méthode accède aux variables déclarées dans la classe, elle doit y faire appel à l’aide de la syntaxe suivante :.

Hors cette étape n'est clairement pas du ressort d'un objet : seule la classe possède suffisamment d'informations pour la mener à bien : la création d'un objet est donc une méthode

Les exemples de code sont écrits en C#, mais sont facilement transposables à d'autres langages orientés objets comme

L’interpréteur java permet d’exécuter une application écrite en langage java (autre qu’une applet), plus spécifiquement un fichier ClassName.class (i.e le java bytecodes). Par

Une interface est introduite par le mot clé « interface », et se comporte comme une classe dont toutes les méthodes sont abstract et dont tous les attributs sont final. Les mots

Additionner deux vecteurs donnés ; on écrira pour cela une méthode statique nommée aussi addition (en utilisant ainsi la possibilité de la surcharge) qui recevra en