De labstraction des modles de composants logiciels pour la - - PowerPoint PPT Presentation

de l abstraction
SMART_READER_LITE
LIVE PREVIEW

De labstraction des modles de composants logiciels pour la - - PowerPoint PPT Presentation

De labstraction des modles de composants logiciels pour la programmation dapplications scientifiques distribues Hinde Lilia BOUZIANE quipe-projet PARIS Centre INRIA Rennes - Bretagne Atlantique / IRISA Universit Rennes 1


slide-1
SLIDE 1

Hinde Bouziane – soutenance de thèse – le 29 février 2008

Hinde Lilia BOUZIANE

Équipe-projet PARIS Centre INRIA Rennes - Bretagne Atlantique / IRISA Université Rennes 1

Encadrants : Thierry PRIOL & Christian PEREZ

De l’abstraction des modèles de composants logiciels pour la programmation d’applications scientifiques distribuées

slide-2
SLIDE 2

Hinde Bouziane – soutenance de thèse – le 29 février 2008 2

Plan

Contexte et problématique

Calcul scientifique Ressources matérielles Problématique

Analyse et objectifs

Limitations des modèles de composants Objectifs Méthodologie d’abstraction

Contributions : modèles abstraits

Paradigme maître-travailleur Assemblage spatio-temporel Partage de données

Conclusions et perspectives

slide-3
SLIDE 3

Hinde Bouziane – soutenance de thèse – le 29 février 2008 3

Le calcul scientifique

Climatologie : couplage

  • céan-atmosphère

Conception satellite : multi-physique

Complexes

Taille Hétérogénéité

Disciplines Langages

Multi-paradigmes

Gourmandes en puissance

Calcul Stockage

Traitement d’images : analyse de mouvements et trajectographie

Mécanique Thermique Optique Dynamique

slide-4
SLIDE 4

Hinde Bouziane – soutenance de thèse – le 29 février 2008 4

Ressources matérielles Diverses Complexes

Nature

distribuée/parallèle

Hétérogénéité

Matérielle Logicielle (OS, …)

Volatilité Partage ...

supercalculateur

SAN

grappe homogène

SAN

grappe hétérogène

multi-cœurs

WAN

visualisation

grille

LAN

slide-5
SLIDE 5

Hinde Bouziane – soutenance de thèse – le 29 février 2008 5

Problématique

Mécanique Thermique Optique Dynamique

LAN WAN SAN SAN

programmer simplement

Réutilisation Assemblage

programmer indépendamment des ressources

Portabilité Efficacité

de calcul

slide-6
SLIDE 6

Hinde Bouziane – soutenance de thèse – le 29 février 2008 6

Modèles de composants logiciels Bibliographie

CCA – Common Component Architecture (CCA Forum)

Calcul haute performance

CCM – CORBA Component Model (OMG)

Applications distribuées hétérogènes

GCM – Grid Component Model (CoreGrid)

Basé sur Fractal

Fractal (France télécom & INRIA)

Système complexes (systèmes d’exploitation)

SCA – Service Component Architecture (OSOA group)

Applications orientées services

Grid.it / ASSIST (UNIPI) …

slide-7
SLIDE 7

Hinde Bouziane – soutenance de thèse – le 29 février 2008 7

Composant logiciel (1/2)

Composant logiciel

PORTS FOURNIS PORTS REQUIS

(interfaces client) (interfaces serveur)

Boite noire Ports

Invocation de méthodes (CCM, CCA, Fractal/GCM, SCA) Événements (CCM) Flux de données (Grid.it/ ASSIST) Passage de messages (Darwin) Passage de documents (SCA) …

Plusieurs implémentations

Différents algorithmes, langages, OS, processeurs, etc.

slide-8
SLIDE 8

Hinde Bouziane – soutenance de thèse – le 29 février 2008 8

Assemblage Assemblage

Instances de composants et

connexions

Architecture Description

Language (ADL)

CCM, Fractal

Dynamique (API)

CCA, CCM, Fractal

ADL

instanceComp: a: A, b: B, c: C, d: D; connections: a.pA1 <-> b.pB; c.pC <-> d.pD2; d.pD1 <-> a.pA2;

a b c

pA1 pB pC pD2

d

pD1 pA2

slide-9
SLIDE 9

Hinde Bouziane – soutenance de thèse – le 29 février 2008 9

Plan

Contexte et problématique

Calcul scientifique Ressources matérielles Problématique

Analyse et objectifs

Limitations des modèles de composants Objectifs Méthodologie d’abstraction

Contributions : modèles abstraits

Paradigme maître-travailleur Assemblage spatio-temporel Partage de données

Conclusions et perspectives

slide-10
SLIDE 10

Hinde Bouziane – soutenance de thèse – le 29 février 2008 10

Limitations de l’existant Modèles d’assemblage proches du matériel

Assemblage dans l’espace

  • Dépendance vis-à-vis des ressources
  • Complexité

de conception

  • Paradigmes parallèles (ex. maître-travailleur)

Comportement masqué dans l’assemblage

  • Surconsommation des ressources

A B C

réseau réseau

étape1 étape2 étape3

A B C

t A B C A B C actif s’exécutant

slide-11
SLIDE 11

Hinde Bouziane – soutenance de thèse – le 29 février 2008 11

Objectifs de la thèse Séparer la conception des applications des

ressources

Portabilité Pouvoir adapter une application à différents types de

ressources (efficacité de calcul)

Se concentrer sur les aspects métiers

Automatiser la gestion des aspects non-fonctionnels

Modèle générique

PORTS REQUIS PORTS FOURNIS

slide-12
SLIDE 12

Hinde Bouziane – soutenance de thèse – le 29 février 2008 12

Abstraction & modèles de composants

Composant (suffisamment abstrait) Communications

Modèles à mémoire distribuée

Point à point : appel de méthodes, évènements Communications parallèles

– MxN : GCM, GridCCM (thèse André Ribes

  • PARIS)

À la pair à pair (destinataire inconnu) : Darwin Passage de documents : SCA

Modèles à mémoire partagée

Actuellement masqué dans l’implémentation des composants

Assemblage

Paradigme de programmation dans l’espace

Formes de parallélismes : maître-travailleur, diviser pour régner, décomposition géométrique, etc.

Paradigme de programmation dans le temps

Flot de données Flux de travail (flot de contrôle et flot de données)

slide-13
SLIDE 13

Hinde Bouziane – soutenance de thèse – le 29 février 2008 13

Abstraction & modèles de composants

Composant (suffisamment abstrait) Communications

Modèles à mémoire distribuée

Point à point : appel de méthodes, évènements Communications parallèles

– MxN : GCM, GridCCM (thèse André Ribes

  • PARIS)

À la pair à pair (destinataire inconnu) : Darwin Passage de documents : SCA

Modèles à mémoire partagée

Actuellement masqué dans l’implémentation des composants

Assemblage

Paradigme de programmation dans l’espace

Formes de parallélismes : maître-travailleur, diviser pour régner, décomposition géométrique, etc.

Paradigme de programmation dans le temps

Flot de données

Flux de travail (flot de contrôle et flot de données)

slide-14
SLIDE 14

Hinde Bouziane – soutenance de thèse – le 29 février 2008 14

Plan

Contexte et problématique

Calcul scientifique Ressources matérielles Problématique

Analyse et objectifs

Limitations des modèles de composants Objectifs Méthodologie d’abstraction

Contributions : modèles abstraits

Paradigme maître-travailleur Assemblage spatio-temporel Partage de données

Conclusions et perspectives

slide-15
SLIDE 15

Hinde Bouziane – soutenance de thèse – le 29 février 2008 15

Un modèle abstrait pour le paradigme maître-travailleur

Paradigme maître-travailleur Limitations dans les modèles de composants

existants

Un modèle abstrait générique Évaluation

  • Modèles abstraits pour
  • Le paradigme maître-travailleur
  • Une composition spatio-temporelle (STCM)
  • Le partage de données
slide-16
SLIDE 16

Hinde Bouziane – soutenance de thèse – le 29 février 2008 16

Paradigme maître-travailleur Plusieurs calculs indépendants (boucle ~ForAll) Environnements/API dédiés

GridRPC : DIET, NetSolve, Ninf-G, … Desktop Grid : BOINC, XtremWEB, …

Trav. Trav. Trav.

Maître

Trav.

Collection travailleurs Transport requêtes Ordonnancement Tolérance aux fautes

slide-17
SLIDE 17

Hinde Bouziane – soutenance de thèse – le 29 février 2008 17

Caractéristiques des environnements maître-travailleur

Politiques avancées de transfert de requêtes Gestion transparente des aspects

non-fonctionnels

APIs dédiées Paradigmes de programmation limités

Mécanique Thermique Optique Dynamique

M-W

slide-18
SLIDE 18

Hinde Bouziane – soutenance de thèse – le 29 février 2008 18

Assemblage d’une application maître- travailleur dans les modèles de composants

W W

wi m

m

W W

wi

W W

wj m

W W

wi

(A) (B) (C)

Considérations non fonctionnelles Dépendances vis-à-vis des ressources

slide-19
SLIDE 19

Hinde Bouziane – soutenance de thèse – le 29 février 2008 19

Idée générale

Vue concepteur

Collection Assemblage abstrait

master worker

Vue système/plateforme

ressources d’exécution

# travailleurs + sélection patron

liste de patrons de transport de requêtes

  • 1. Random
  • 2. Round-Robin

3. NetSolve 4. Diet

Round-Robin

w1 wi w3 w5 w2 w4

m

slide-20
SLIDE 20

Hinde Bouziane – soutenance de thèse – le 29 février 2008 20

Évaluation

Projection sur CCM Application synthétique

Paramétrique Variation du type et taille

des requêtes (temps, données)

Implémentation des composants

OmniORB 4.1.0

Ressources

Grappe : Rennes

AMD Opteron 246, 2Ghz Gigabit Ethernet

Grid’5000 : 7 sites (jusqu’à 1025 processeurs)

10 Gbit/sec

Déploiement avec ADAGE (PARIS)

slide-21
SLIDE 21

Hinde Bouziane – soutenance de thèse – le 29 février 2008 21

Surcoûts d’utilisation de DIET

DIET (GRAAL - ENS/LYON )

  • Env. hiérarchique pour grille

DIET comme patron

Composants adaptateurs

Implémentation DIET

CORBA

Comparaison avec utilisation

classique

Surcoûts d’envoi d’une requête

1 travailleur : 10 μsec

LA LA LA MA Même processus Même processus 5 μsec 5 μsec

maître travailleurs client serveurs

slide-22
SLIDE 22

Hinde Bouziane – soutenance de thèse – le 29 février 2008 22

Performances sur grille

Politiques d’ordonnancement

Tourniquet (RR) Équilibrage de charge (LB) Séquencement de requêtes (SR)

Répartition

sur 7 sites

1024 trav. 4096 req. Homogènes (20 sec) temps (s)

  • Eff. (%)

RR 80.11 99.87 LB 80.12 99.85 128 trav. grille 512 req. de 20 sec + 1

  • req. de 100s

temps (s)

  • Eff. (%)

LB 180.01 44.9 DIET/SR 100.82 80.1

RR / LB

DIET/SR

1024 trav. 4096 req hétérogènes (]5 sec – 20 sec[) temps (s)

  • Eff. (%)

RR 72.75 68.61 LB 62.28 80.13 128 trav. grappe 256 req. Homogènes (500 msec) temps (msec)

  • Eff. (%)

RR 1004 99.70 DIET/SR 1737 57.60

slide-23
SLIDE 23

Hinde Bouziane – soutenance de thèse – le 29 février 2008 23

Résumé Abstraction du paradigme maître-travailleur

Collection

Simplicité de conception

Patrons de transferts de requêtes

Moyen d’adaptation à différents contextes d’exécution

Résultats expérimentaux prometteurs

Projection sur CCM

Projection aussi sur Fractal/GCM et CCA

slide-24
SLIDE 24

Hinde Bouziane – soutenance de thèse – le 29 février 2008 24

STCM : un modèle pour la composition spatio-temporel

Modèles de flux de travail Limitations des approches de combinaison

des dimensions spatiale et temporelle dans l’existant

Le modèle STCM

  • Modèles abstraits pour
  • Le paradigme maître-travailleur
  • Une composition spatio-temporelle (STCM)
  • Le partage de données
slide-25
SLIDE 25

Hinde Bouziane – soutenance de thèse – le 29 février 2008 25

Modèles de flux de travail Bibliographie

Askalon-AGWL (Abstract Grid

Wrokflow Language) - Innsbruck, Autriche

Triana - Cardiff, UK GriCoL (Grid Concurrent Language) -

HLRS Stuttgart, Allemagne

Kepler - SEEK, SDM, GEON, …

Modèle générique

Tâche Ports

Données en entrée/sortie

Assemblage

Flot de contrôle / données

if

t2 t3 t5 t4 t1

yes no

flot de données flot de contrôle

tâche

entrées sorties

slide-26
SLIDE 26

Hinde Bouziane – soutenance de thèse – le 29 février 2008 26

Modèles de flux de travail vs. modèles de composants

assemblage simplicité couplage de codes utilisation des ressources Flux de travail

+ +

  • +

Comp. logiciels

+ + +

slide-27
SLIDE 27

Hinde Bouziane – soutenance de thèse – le 29 février 2008 27

Modèles de composants

Meta-informations décrivant le comportement d’une implémentation d’un

composant (ICENI)

Objectif : optimiser le placement des composants au déploiement

Connaissance du code Complexité de conception

Modèles de flux de travail

Encapsulation d’une composition spatiale dans l’implémentation d’une tâche Objectif: permettre le couplage de code

Limitation de la hiérarchie d’un assemblage à 2 niveaux Limitation de la réutilisation

Conclusion Limitations dues à différents niveaux de considération des deux dimensions

Approches existantes pour combiner les dimensions spatiale et temporelle

slide-28
SLIDE 28

Hinde Bouziane – soutenance de thèse – le 29 février 2008 28

Idée générale Combiner les modèles de

composants avec les modèles de flux de travail

Dimensions spatiale et temporelle

au même niveau d’assemblage

Composant-tâche

Ports d’entrée/sortie (temporels) Ports spatiaux Tâche

Modèle d’assemblage

Adaptation d’un langage de flux de

travail

end start

C B A

slide-29
SLIDE 29

Hinde Bouziane – soutenance de thèse – le 29 février 2008 29

Ports temporels & tâche

void setIn_inA(...) { d_inA = ..} void task() { d_outA = pUses.mult (d_inA, 50); } double getOut_outA() { return d_outA;}

… … input double inA

  • utput double outA

pUse double mult (..);

slide-30
SLIDE 30

Hinde Bouziane – soutenance de thèse – le 29 février 2008 30

Cycle de vie États d’une instance de composant à l’exécution

créée inactive active s’exécutant non existante détruite

slide-31
SLIDE 31

Hinde Bouziane – soutenance de thèse – le 29 février 2008 31

Modèle d’assemblage

component Example { … parallel parCtrl { dataIn Double inPar <= a.outA; component B { dataIn Double inB; clientPort Compute pB; … }; component C { dataIn Double inC; serverPort Compute pC; … }; instance B b; instance C c; connect b.inB to parCtrl.inPar; connect c.inC to parCtrl.inPar; connect b.pB to c.pC; // instructions section : exectask (a); section : exectask (b); } // fin parallel … }

C B A D

pC pB

  • utA

inB inC inPar

slide-32
SLIDE 32

Hinde Bouziane – soutenance de thèse – le 29 février 2008 32

Résumé Union des modèles de composants et flux de

travail

Composant-tâche Ports temporels Modèle d’assemblage à la flux de travail

STCM

Extension de GCM

Ports temporels et tâche

Adaptation d’AGWL

Composant et composition spatiale

slide-33
SLIDE 33

Hinde Bouziane – soutenance de thèse – le 29 février 2008 33

Un modèle abstrait pour le partage de données

Partage de données Vue globale du modèle

  • Modèles abstraits pour
  • Le paradigme maître-travailleur
  • Une composition spatio-temporelle (STCM)
  • Le partage de données
slide-34
SLIDE 34

Hinde Bouziane – soutenance de thèse – le 29 février 2008 34

Le partage de données

Plusieurs accès concurrents à une donnée Gestion de la localisation et de la concurrence

Intra-machine : système d’exploitation Intra-grappe : mémoire partagée distribuée (DSM) Intra-grille : service de partage de données (JuxMem/PARIS)

donnée

B C A D

lecture/ écriture lecture écriture lecture/ écriture

slide-35
SLIDE 35

Hinde Bouziane – soutenance de thèse – le 29 février 2008 35

Vue globale du modèle

  • Choisi en fonction des ressources et placement
  • Système d’exploitation, DSM, JuxMem

donnée

système de gestion du partage

B C A

data_ref

accesses float port shares float port

Principe : accès transparent à une donnée

interface SharesPort { float* allocate_space(in ling size); void free_space(); float* get_pointer(); long get_size (); void acquire(); void release (); void acquire_release(); };

slide-36
SLIDE 36

Hinde Bouziane – soutenance de thèse – le 29 février 2008 36

Plan

Contexte et problématique

Calcul scientifique Ressources matérielles Problématique

Analyse et objectifs

Limitations des modèles de composants Objectifs Méthodologie d’abstraction

Contributions : modèles abstraits

Paradigme maître-travailleur Assemblage spatio-temporel Partage de données

Conclusions et perspectives

slide-37
SLIDE 37

Hinde Bouziane – soutenance de thèse – le 29 février 2008 37

Conclusions Séparer la programmation des applications des

ressources

Abstraction des modèles de composants

Communications

Partage de données

Paradigme de programmation dans l’espace

Maître-travailleur

Paradigme de programmation dans le temps

STCM

Projection sur plusieurs modèles de composants

GCM, CCA, CCM

slide-38
SLIDE 38

Hinde Bouziane – soutenance de thèse – le 29 février 2008 38

Perspectives Spécification MDA Adaptation des paradigmes de programmation

Dynamicité du paradigme maître-travailleur

Stage de M2 (Guillaume Gauvrit)

Finalisation de STCM

Sémantique formelle Implémentation STCM

Interactions entre modèles

Thèse en cours (Julien Bigot)

Applications

Projet ANR LEGO (climatologie, cosmologie)

slide-39
SLIDE 39

Hinde Bouziane – soutenance de thèse – le 29 février 2008 39

slide-40
SLIDE 40

Hinde Bouziane – soutenance de thèse – le 29 février 2008 40