53

Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

  • Upload
    hakhue

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Contribution à la conception à base de composantslogiciels d'applications scienti�ques parallèles.

5 novembre 2012

Vincent PichonLIP/Avalon - EDF/SINETICS/I2AÉcole Normale Supérieure de Lyon

Encadrants : Christian Pérez et André Ribes

1/53

Page 2: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Plan1 Contexte

Applications scienti�ques et ressources parallèlesComposition spatiale et temporelle

2 Plateforme SALOMÉVue d'ensembleComposition spatiale et temporelle

3 Décomposition de domaineAnalyseImplémentationÉvaluation

4 Ra�nement de maillage adaptatifAnalyseImplémentationÉvaluation

5 Décomposition de domaine et composition bas niveauAnalyseImplémentationÉvaluation

6 Conclusions et perspectives2/53

Page 3: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Contexte

Applications scienti�ques

Simulationsnumériques

Parallèles

Structures

Couplage

Dynamique

Complexité croissante

3/53

Page 4: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Ressources

Grappes de serveurs

Topologie réseau simple, homogène

GPU

Supercalculateurs

Large échelle, topologie réseau, GPU

Grilles de calcul

Fédération de ressources, hétérogène

Cloud computing

Coût, élasticité des ressources

4/53

Page 5: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Modèles de programmation

Paradigmes

Multithread (Pthread, OpenMP)

GPU (CUDA, OpenAcc)

Passage de message (PVM, MPI)

Appel de méthode distante (GridRPC, CORBA)

Passage de documents (Web Services)

Complexité

Aucun modèle ne propose de solution adéquate

Combinaison MPI + OpenMP ... OpenAcc

Durée de vie d'un code ∼30 ans, d'une ressource ∼3 ans

Portage régulier d'une ressource à l'autre

Maintenance et évolution complexe

5/53

Page 6: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Modèles de composition

McIlroy, Mass Produced SoftwareComponent, 1968

Composant

Unité binaire indépendante déployable

O�re des services

Déclare dépendances de services etcontexte

Assemblage

Primitif et composite

Spatiale ou/et temporelle

6/53

Page 7: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Composition spatiale

Évolution POO

Port - interfaces

Construction par composition

Corba Component Model (CCM)

Common Component Architecture(CCA)

Fractal

Grid Component Model (GCM)

Distributed Software Component(DSC)

interface hello {

void say_hello();

}

component B {

provides hello Bh;

}

component A {

uses hello Ah;

}

Implémentation:

pah = get_Ah_port();

pah->say_hello();

7/53

Page 8: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Composition temporelle

Flôt de données

Port in out

Flôt de contrôle

Dépendance temporelle

Structures de contrôle

Kepler, Triana, MOTEUR,ASSIST, YACS

component A {

dataout float FA;

}

component B {

datain float FB;

}

8/53

Page 9: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Composition spatiale et temporelle

Dépendance spatiale ettemporelle

ULCM, SALOME

9/53

Page 10: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Plan1 Contexte

Applications scienti�ques et ressources parallèlesComposition spatiale et temporelle

2 Plateforme SALOMÉVue d'ensembleComposition spatiale et temporelle

3 Décomposition de domaineAnalyseImplémentationÉvaluation

4 Ra�nement de maillage adaptatifAnalyseImplémentationÉvaluation

5 Décomposition de domaine et composition bas niveauAnalyseImplémentationÉvaluation

6 Conclusions et perspectives10/53

Page 11: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Plateforme SALOME

Plateforme Open Source d'intégration de solveurs numériques.

Développée par EDF et le CEA

Composition spatiale : modèle de composant DSC

Composition temporelle : modèle de work�ow YACS

11/53

Page 12: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Distributed Software Component (DSC)

Module Kernel

Objet SALOMÉ

Objet CORBA

Cycle de vie dans SALOMÉ : Fabrique

Blibliothèque dynamique

Conteneur

Composant SALOMÉ

Ports uses/provides CORBA

Service

Fonctionnalité d'un code, méthode d'un object SALOMÉ

12/53

Page 13: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Yet Another Coupling System (YACS)

Modèle

Work�ow : schéma decouplage

Noeud

Structures de contrôle

Data�ow, datastream

Superviseur

Exécution et contrôle

GUI

API Python

interface Composant1: Engine::Component

{

void C1(out string o2);

}

interface Composant2: Engine::Component

{

void C2(int string i3);

}

13/53

Page 14: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Exemple de schéma YACS

14/53

Page 15: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Problèmatique

SALOMÉ

Utilisée en production

Nombreuses applications

Étendre le modèle

Méthode

Exemple représentatif d'une classe.

Abstraction : décomposition de domaine.

Dynamicité : ra�nement de maillage adaptatif

15/53

Page 16: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Décomposition de domaine1 Contexte

Applications scienti�ques et ressources parallèlesComposition spatiale et temporelle

2 Plateforme SALOMÉVue d'ensembleComposition spatiale et temporelle

3 Décomposition de domaineAnalyseImplémentationÉvaluation

4 Ra�nement de maillage adaptatifAnalyseImplémentationÉvaluation

5 Décomposition de domaine et composition bas niveauAnalyseImplémentationÉvaluation

6 Conclusions et perspectives16/53

Page 17: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Décomposition de domaine

Simulation numérique

Précision

Finesse de maillage

Découpage du domaine

17/53

Page 18: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Décomposition de domaine

Simulation numérique

Pécision

Finesse de maillage

Découpage du domaine

18/53

Page 19: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Finite Element Tearing and Interconnect (FETI)

Farhat et Roux, 1991

Algorithme

Découpage du domaine desimulation

Étape de calcul

Étape de résolution duproblème aux interfaces

GC

19/53

Page 20: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Implémentation de FETI

Code_ASTER

Simulation thermo-mécaniques

1,500,000 lignes (FORTRAN, Python, MPI)

Implementation dans Code_ASTER

Plusieurs années

Tâche complexe

Implementation avec SALOMÉ

Pas de modi�cation d'ASTER

Algorithme FETI dans un schéma de calcul YACS

Plusieurs mois

Performances identiques

Reconstruction de l'application pour chaque cas20/53

Page 21: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Complexité de programmation

Paramètre : nb de sous-domaines

Nb de composants ASTER

Nb de ports

Reconstruction demandéerégulièrement

Tâche fastidieuse

Scripts (38 �chiers, 2350 lignes)

Manque d'expressivité

21/53

Page 22: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Clonage de noeuds et ports

Extension du modèle deprogrammation

Cardinalité attachée à chaquenoeud

Clonage de noeuds

Propriété

Fixe le nombre de répliques

Clonage de ports

Propriété

Autorise le clonage

22/53

Page 23: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Cas possibles

Con�gurations possibles

Type de connexion(datastream/data�ow)

Sens de la connexion

A noeud source, B noeud dedestination

Cas

cas NxM

cas 1.1-N.1

cas N.1-1.N

cas 1.N-N.1

cas 1.N-1.1

23/53

Page 24: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Cas 1.1-N.1

Data�ow

Possible (broadcast)

Datastream

Possible (uses multiple)

24/53

Page 25: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Cas N.1-1.N

Data�ow

Non supporté (demande une recompilation)

Datastream

Possible (création de ports DSC)

25/53

Page 26: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Cas 1.N-N.1

Data�ow

Non supporté (demande une recompilation)

Datastream

Possible (création de ports DSC)

26/53

Page 27: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Cas 1.N-1.1

Data�ow

Non valide (manque opérateur de réduction)

Datastream

Possible (provides multiples)

27/53

Page 28: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Implémentation

Implémentation dans la branche principale de SALOMÉ

3 classes, ∼1000 lignes de C++ ajoutées

Fonctionnement

Interprété au chargement

Modi�cation intialisation

Port propriété

28/53

Page 29: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Evaluation

Scripts inutiles

Schéma de calcul générique

Pas de recompilation

Performances égales

Clonage avant exécution (ms)

Gain d'expressivité

29/53

Page 30: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Ra�nement de maillage adaptatif1 Contexte

Applications scienti�ques et ressources parallèlesComposition spatiale et temporelle

2 Plateforme SALOMÉVue d'ensembleComposition spatiale et temporelle

3 Décomposition de domaineAnalyseImplémentationÉvaluation

4 Ra�nement de maillage adaptatifAnalyseImplémentationÉvaluation

5 Décomposition de domaine et composition bas niveauAnalyseImplémentationÉvaluation

6 Conclusions et perspectives30/53

Page 31: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Ra�nement de maillage adaptatif

Augmenter la précision augmente le nombre de calculs

Dans certains problèmes, l'erreur est localisée

Méthode AMR

Proposée par Berger et Oliger, 1984

Adapter la �nesse du maillage en fonction de l'erreur

Ra�nement par décomposition

31/53

Page 32: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Exemple d'exécution : état initial

0

32/53

Page 33: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Exemple d'exécution : étape 1

1

11

1

33/53

Page 34: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Exemple d'exécution : étape 2

1

1

2 2

2 2

2

2

2

2

34/53

Page 35: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Exemple d'exécution : étape 3

1

1

2 2

2 2

2

2

2

3 3

3 3

35/53

Page 36: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

AMR et composants

Objectif

Étudier le support de l'AMR par les modèles de composants

Domaine 2D, quad-tree

Équation de la chaleur

Invariant : taille des données d'un composant

36/53

Page 37: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

AMR et composants

Composant primitifs

Heat simule un domaine

Proxy redistribue les frontières

Interpol interpole les données

Average rassemble l'erreur

Heat

gradient

border

border

border

border

GData

Proxy

border

border

border

Interpol

GData

GData

Average

gradient

gradient

37/53

Page 38: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Composant HeatM

Heat

gradient

border

border

border

border

GData

0

38/53

Page 39: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Composant HeatM

HeatM

HeatM HeatM

HeatM

P

r

o

x

y

P

r

o

x

y

Proxy

ProxyAvg Itp

border

border

border

border

gradient GData

1

11

1

39/53

Page 40: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Implémentation avec SALOME

Création de composants à la demande

API Python de YACS

Scripts

Calcul

Transmission de la requête de calcul aux feuilles de l'arbre

Recon�guration

Récupération de l'erreur

Modi�cation de l'architecture

Composant composite

Gestion de l'arbre de composants

40/53

Page 41: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Évaluation

Objectifs

Scalabilité

Grid'5000

Évolution d'un scénario

Ra�nement d'un noeud du dernier niveau

20 niveaux de ra�nement

105 composants

100 itérations entre les étapes de ra�nement

41/53

Page 42: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Évolution scénario

0

2

4

6

8

10

12

14

16

0 500 1000 1500 2000 2500

Tem

ps d

’execution (

secondes)

Nombre d’iterations

Localhost (secondes)Distributed (secondes)

42/53

Page 43: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Temps de recon�guration

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

0 20 40 60 80 100 120

Tem

ps d

e r

econfigura

tion(m

s)

et cre

ation(s

)

Nombre de composants

Creation locale (secondes)Creation distribuee (secondes)

Reconfiguration (millisecondes)

43/53

Page 44: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Temps d'exécution

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0 20 40 60 80 100 120

Tem

ps d

’execution e

ntr

e r

econfigura

tions (

secondes)

Nombre de composants

Execution locale (secondes)Execution distribuee (secondes)

44/53

Page 45: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Conclusion

Faisabilité en dehors du modèle

Composant composite

Dynamicité

Déploiement séquentiel

Moteur de work�ow centralisé

Non supperposition des phases

45/53

Page 46: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Décomposition de domaine et composition bas niveau1 Contexte

Applications scienti�ques et ressources parallèlesComposition spatiale et temporelle

2 Plateforme SALOMÉVue d'ensembleComposition spatiale et temporelle

3 Décomposition de domaineAnalyseImplémentationÉvaluation

4 Ra�nement de maillage adaptatifAnalyseImplémentationÉvaluation

5 Décomposition de domaine et composition bas niveauAnalyseImplémentationÉvaluation

6 Conclusions et perspectives46/53

Page 47: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Composition bas niveau

Codes natifs

Di�érentes versions en fonctions des ressources visées.

Faible réutilisation de code

Modèles de composants

Abstraction des communications

Pénalité de performances (CCM, CCA, ...)

Modèle de composants bas niveau

47/53

Page 48: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Low Level Component (L2C)

Julien Bigot et Christian Perez

Connecteurs : Composition native (C++, MPI, CORBA)

Création/destruction des composants

Con�guration (connexion)

Transfert du contrôle à un composant

Aucun code L2C entre les composants à l'exécution

Objectif

Réutilisabilité

Expressivité

Performance48/53

Page 49: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Thread et MPI

Multi-coeurs Multi-noeuds

Multi-coeurs multi-noeuds (hiérarchique)

49/53

Page 50: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Évaluation

Performance

-2 %

-1.5 %

-1 %

-0.5 %

0 %

0.5 %

1 %

1.5 %

2 %

512M

B

1GB

2GB

4GB

2cor

es

4cor

es

8cor

es

2cor

es

4cor

es

8cor

es

2nod

es

4nod

es

8nod

es

8nod

es x 2

8nod

es x 4

8nod

es x 8

Ove

rhe

ad

s

Monolithic DriverConnector basedMixed connectors

Hierarchic Multi node Multi process Multi threads Sequential

Complexité cyclomatique

Version Native ConnecteurSéquentiel 28 8Threaded 76 26

MPI 55 1350/53

Page 51: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Analyse

Pas d'overhead

Augmente l'expressivité (possibilité de combiner MPI etThread)

Diminue la complexité cyclomatique (séparation des rôles)

L2C n'est pas pratique à écrire (XML)

Assemblage produit par un modèle de plus haut niveau

HLCM

Hiérarchique, génériqueavec connecteurs

Algorithme de choix

Modèle de ressources51/53

Page 52: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Conclusion

Applications scienti�ques à base de composants logiciels

Décomposition de domaine avec SALOMÉ

Ajout du concept de clonage de noeuds/ports

Implémentation de l'extension

AMR

Réalisation de l'AMR avec SALOMÉ

Identi�cation des limites du modèle

Décomposition de domaine avec modèle bas niveau

Étude de performance avec L2C

Mêmes performances que les codes natifs

52/53

Page 53: Contribution à la conception à base de composants ...avalon.ens-lyon.fr/~cperez/web/lib/exe/fetch.php/pichon_soutenance.…Aucun modèle ne propose de solution adéquate Combinaison

Contexte SALOMÉ Décomposition de domaine AMR Heat/L2C Conclusion

Perspectives

SALOMÉ

Augmentation du niveau d'abstraction

Composite

Généricité

Dynamicité

Création de composants à la demande

HLCM

Généricité

Algorithme de choix

Modèles de ressource

Dynamicité

53/53