wp2 modèles de programmation. 2 wp2: overview avant lego tâches t2.1: modèle de composants et...

12
WP2 Modèles de programmation

Upload: melisande-joly

Post on 04-Apr-2015

110 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: WP2 Modè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é

WP2Modèles de programmation

Page 2: WP2 Modè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é

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

Page 3: WP2 Modè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é

3

Avant LEGO ….

Network

ChannelOutCodec

ChannelIn

out-pushin-push

Queue

CompositeComposite

External Web Service

System

GridRPC

Partage de données

DIET

JuxMem

Page 4: WP2 Modè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é

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

Page 5: WP2 Modè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é

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é

Page 6: WP2 Modè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é

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’

Page 7: WP2 Modè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é

7

WP2: Prune & GEOS

Page 8: WP2 Modè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é

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

Page 9: WP2 Modè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é

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"; } }

Page 10: WP2 Modè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é

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

Page 11: WP2 Modè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é

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

Page 12: WP2 Modè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é

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