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
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
Hinde Bouziane – soutenance de thèse – le 29 février 2008
Équipe-projet PARIS Centre INRIA Rennes - Bretagne Atlantique / IRISA Université Rennes 1
Hinde Bouziane – soutenance de thèse – le 29 février 2008 2
Calcul scientifique Ressources matérielles Problématique
Limitations des modèles de composants Objectifs Méthodologie d’abstraction
Paradigme maître-travailleur Assemblage spatio-temporel Partage de données
Hinde Bouziane – soutenance de thèse – le 29 février 2008 3
Climatologie : couplage
Conception satellite : multi-physique
Disciplines Langages
Traitement d’images : analyse de mouvements et trajectographie
Mécanique Thermique Optique Dynamique
Hinde Bouziane – soutenance de thèse – le 29 février 2008 4
Matérielle Logicielle (OS, …)
supercalculateur
SAN
grappe homogène
SAN
grappe hétérogène
multi-cœurs
WAN
visualisation
grille
LAN
Hinde Bouziane – soutenance de thèse – le 29 février 2008 5
Mécanique Thermique Optique Dynamique
LAN WAN SAN SAN
programmer simplement
programmer indépendamment des ressources
Hinde Bouziane – soutenance de thèse – le 29 février 2008 6
Calcul haute performance
Applications distribuées hétérogènes
Basé sur Fractal
Système complexes (systèmes d’exploitation)
Applications orientées services
Hinde Bouziane – soutenance de thèse – le 29 février 2008 7
PORTS FOURNIS PORTS REQUIS
(interfaces client) (interfaces serveur)
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) …
Différents algorithmes, langages, OS, processeurs, etc.
Hinde Bouziane – soutenance de thèse – le 29 février 2008 8
CCM, Fractal
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
Hinde Bouziane – soutenance de thèse – le 29 février 2008 9
Calcul scientifique Ressources matérielles Problématique
Limitations des modèles de composants Objectifs Méthodologie d’abstraction
Paradigme maître-travailleur Assemblage spatio-temporel Partage de données
Hinde Bouziane – soutenance de thèse – le 29 février 2008 10
de conception
réseau réseau
étape1 étape2 étape3
t A B C A B C actif s’exécutant
Hinde Bouziane – soutenance de thèse – le 29 février 2008 11
PORTS REQUIS PORTS FOURNIS
Hinde Bouziane – soutenance de thèse – le 29 février 2008 12
Modèles à mémoire distribuée
Point à point : appel de méthodes, évènements Communications parallèles
– MxN : GCM, GridCCM (thèse André Ribes
À la pair à pair (destinataire inconnu) : Darwin Passage de documents : SCA
Modèles à mémoire partagée
Actuellement masqué dans l’implémentation des composants
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)
Hinde Bouziane – soutenance de thèse – le 29 février 2008 13
Modèles à mémoire distribuée
Point à point : appel de méthodes, évènements Communications parallèles
– MxN : GCM, GridCCM (thèse André Ribes
À la pair à pair (destinataire inconnu) : Darwin Passage de documents : SCA
Modèles à mémoire partagée
Actuellement masqué dans l’implémentation des composants
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)
Hinde Bouziane – soutenance de thèse – le 29 février 2008 14
Calcul scientifique Ressources matérielles Problématique
Limitations des modèles de composants Objectifs Méthodologie d’abstraction
Paradigme maître-travailleur Assemblage spatio-temporel Partage de données
Hinde Bouziane – soutenance de thèse – le 29 février 2008 15
Hinde Bouziane – soutenance de thèse – le 29 février 2008 16
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
Hinde Bouziane – soutenance de thèse – le 29 février 2008 17
Mécanique Thermique Optique Dynamique
M-W
Hinde Bouziane – soutenance de thèse – le 29 février 2008 18
W W
wi m
m
W W
wi
W W
wj m
W W
wi
Hinde Bouziane – soutenance de thèse – le 29 février 2008 19
Vue concepteur
master worker
Vue système/plateforme
ressources d’exécution
# travailleurs + sélection patron
liste de patrons de transport de requêtes
3. NetSolve 4. Diet
Round-Robin
w1 wi w3 w5 w2 w4
m
Hinde Bouziane – soutenance de thèse – le 29 février 2008 20
Paramétrique Variation du type et taille
des requêtes (temps, données)
OmniORB 4.1.0
Grappe : Rennes
AMD Opteron 246, 2Ghz Gigabit Ethernet
Grid’5000 : 7 sites (jusqu’à 1025 processeurs)
10 Gbit/sec
Hinde Bouziane – soutenance de thèse – le 29 février 2008 21
Composants adaptateurs
CORBA
1 travailleur : 10 μsec
LA LA LA MA Même processus Même processus 5 μsec 5 μsec
maître travailleurs client serveurs
Hinde Bouziane – soutenance de thèse – le 29 février 2008 22
Tourniquet (RR) Équilibrage de charge (LB) Séquencement de requêtes (SR)
1024 trav. 4096 req. Homogènes (20 sec) temps (s)
RR 80.11 99.87 LB 80.12 99.85 128 trav. grille 512 req. de 20 sec + 1
temps (s)
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)
RR 72.75 68.61 LB 62.28 80.13 128 trav. grappe 256 req. Homogènes (500 msec) temps (msec)
RR 1004 99.70 DIET/SR 1737 57.60
Hinde Bouziane – soutenance de thèse – le 29 février 2008 23
Simplicité de conception
Moyen d’adaptation à différents contextes d’exécution
Hinde Bouziane – soutenance de thèse – le 29 février 2008 24
Hinde Bouziane – soutenance de thèse – le 29 février 2008 25
Wrokflow Language) - Innsbruck, Autriche
Triana - Cardiff, UK GriCoL (Grid Concurrent Language) -
HLRS Stuttgart, Allemagne
Kepler - SEEK, SDM, GEON, …
Données en entrée/sortie
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
Hinde Bouziane – soutenance de thèse – le 29 février 2008 26
assemblage simplicité couplage de codes utilisation des ressources Flux de travail
Comp. logiciels
Hinde Bouziane – soutenance de thèse – le 29 février 2008 27
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
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
Hinde Bouziane – soutenance de thèse – le 29 février 2008 28
end start
C B A
Hinde Bouziane – soutenance de thèse – le 29 février 2008 29
void setIn_inA(...) { d_inA = ..} void task() { d_outA = pUses.mult (d_inA, 50); } double getOut_outA() { return d_outA;}
Hinde Bouziane – soutenance de thèse – le 29 février 2008 30
Hinde Bouziane – soutenance de thèse – le 29 février 2008 31
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
inB inC inPar
Hinde Bouziane – soutenance de thèse – le 29 février 2008 32
Ports temporels et tâche
Adaptation d’AGWL
Composant et composition spatiale
Hinde Bouziane – soutenance de thèse – le 29 février 2008 33
Hinde Bouziane – soutenance de thèse – le 29 février 2008 34
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
lecture/ écriture lecture écriture lecture/ écriture
Hinde Bouziane – soutenance de thèse – le 29 février 2008 35
donnée
système de gestion du partage
B C A
data_ref
interface SharesPort { float* allocate_space(in ling size); void free_space(); float* get_pointer(); long get_size (); void acquire(); void release (); void acquire_release(); };
Hinde Bouziane – soutenance de thèse – le 29 février 2008 36
Calcul scientifique Ressources matérielles Problématique
Limitations des modèles de composants Objectifs Méthodologie d’abstraction
Paradigme maître-travailleur Assemblage spatio-temporel Partage de données
Hinde Bouziane – soutenance de thèse – le 29 février 2008 37
Partage de données
Maître-travailleur
STCM
Hinde Bouziane – soutenance de thèse – le 29 février 2008 38
Stage de M2 (Guillaume Gauvrit)
Hinde Bouziane – soutenance de thèse – le 29 février 2008 39
Hinde Bouziane – soutenance de thèse – le 29 février 2008 40