wp2 modèles de programmation. 2 wp2: overview avant lego tâches t2.1: modèle de composants et...
TRANSCRIPT
WP2Modèles de programmation
2
WP2: Overview
Avant LEGO Tâches
T2.1: Modèle de composants et partage de données T2.2: Modèle de composants et dynamicité T2.3: Description sémantique des logiciels patrimoniaux
Prune/Geos T2.4: Modèles de composants unifiés
ULCM/ULCMi
Bilan
3
Avant LEGO ….
Network
ChannelOutCodec
ChannelIn
out-pushin-push
Queue
CompositeComposite
External Web Service
System
GridRPC
Partage de données
DIET
JuxMem
4
WP2: Modèles de programmation
Objectif Support du partage de données
entre composants Réalisations
Définition des ports de partage de données
CCM, CCA et ULCM
Implémentation Essentiellement basée sur CCM Flexible
Fichier, NFS ou JuxMem
Allocate
Data Sharing Service Data
Read / WriteRead
Component A
Component B
B
CA
Data
data_ref
T2.1: Modèle de composants et partage de données
5
WP2: Modèles de programmation
Objectif Support du paradigme maître-travailleurs Support des workflows
Réalisations Définition de collections de composants Définition de composants-tâches Appliqué à CCM, Fractal, CCA et ULCM
Implémentations MW
Supporte différentes sortes d´intergiciels Proxy composant ou DIET
Worflow Réalisation d’un moteur minimale dans
ULCM
C1
A1
start
end
D
CB
A
Programmer view
binding
master
worker
Exposed provided port
XML collectiondefinition worker
T2.2: Modèle de composants et dynamicité
6
WP2: Modèles de programmation
T2.3: Description sémantique des logiciels patrimoniaux
Objectif Associer une description sémantique aux logiciels
Réalisation Cas d´étude: TLSE
Description des logiciels algorithmes (frontal, multifrontal, ....), propriétés numériques (pivotage, symétrique, ....),
type d'exécution, décomposition fonctionnelle (factorisation, symbolique, factorisation numérique, solve, ....)
Description des donnés manipulées TLSE: matrice (structure creuse, propriétés numériques, provenance, domaine, ...)
Implementation TLSE: Geos/Prune WebSolve/Weaver
Description sémantique des tâches/composants (solveurs/matrices) Méta-information
Générique Nouvelles meta-données peuvent être ajoutées peut-être étendu à d'autres domaines
Permet d'exploiter automatiquement les nouveaux logiciels (et versions) déployés Facilite la définition des processus d'expertise
TLSE: ‘Trouve tous les logiciels déployés pour factoriser une matrice non-symétrique avec du pivotage numérique’
7
WP2: Prune & GEOS
8
WP2: Modèles de programmation
T2.4: Modèles de composants unifiés
Objectif Intégrer les différentes contributions dans un même
modèle Réalisation
Spécification ULCMModèle de composant hiérarchique +
Partage de données, maître-travailleurs, workflow
Implémentation ULCMi, une implémentation de référence d’ULCM
En cours de dépôt APP
9
WP2: ULCM (1/3)
component HelloWorld { ports { attribute name=an_attribute type="a_type"; readonly attribute name=another type="another_type"; server name=a_server_port type="interface1"; client name=a_client_port type="interface2"; datain name=an_in_port type="a_data_type1"; dataout name=an_out_port type="a_data_type2"; } content { primitive class="ulcm.tests.HelloWorld" csd="csd/HelloWorld.csd" implref="HelloWorld_omni_exe_id"; } }
10
WP2: ULCM (2/3)component Component3 { ports { ... } decl { Component1 a; Component2 c; Component6 c1; c.p1 – c1.p2; set a.b 4; ... } service run { seq { Component4 a1; set a1.p -- a.q; exec a; parallel { section: exec b; section: exec c; } exec d; }}
C1
A1
start
end
D
CB
A
11
WP2: ULCM (3/3)
ULMCi: implémentation d’un interpréteur de ULCM Création d’une représentation abstraite de l’assemblage
ANTLR – compilateur de compilateur Moteur d’exécution du workflow centralisé
3 backends : simulation, JAVA, CCM
Backend CCM Génération de fichiers CAD, JuxMem, DIET et Meta Appel d’ADAGE
Déploiement initialeCréation de composant à l’exécution
ULCM
ULCM
Parser/LexerWalker
ReprésentationAbstraite
MoteurCentralisé
InstancesProgramme
12
WP2: Bilan Réalisations principales
ULCM/ULCMi Déliverable D2.1 & D2.2 http://padico.gforge.inria.fr/wiki/doku.php?id=ulcm:start
Websolve/Weaver Geos/Prune http://gridtlse.org
Perspectives Unification avec le modèle de description sémantique
Ajout de meta-information Placement/Ordonnancement efficace [lien avec WP3/4] Support de la généricité [thèse en cours] Modèle de composant extensible [thèse en cours]
Collaborations Salomé (EDF) [thèse en cours] GCM (CoreGRID) CCA