La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Extension du modèle de composants CORBA avec accès concurrent à des données partagées Travail réalisé par : Landry BREUIL PFE, ISIMA Encadrants : Gabriel.

Présentations similaires


Présentation au sujet: "1 Extension du modèle de composants CORBA avec accès concurrent à des données partagées Travail réalisé par : Landry BREUIL PFE, ISIMA Encadrants : Gabriel."— Transcription de la présentation:

1 1 Extension du modèle de composants CORBA avec accès concurrent à des données partagées Travail réalisé par : Landry BREUIL PFE, ISIMA Encadrants : Gabriel ANTONIU Christian PEREZ

2 2 Besoin Application distribuée avec stockage de données Lire / Écrire Producteur Écrire Lire Calculateur Contrôleur Données Lancer Surveiller Calculateur

3 3 Plan 1. Concepts utilisés 2. Modélisations possibles 3. Mise en oeuvre

4 4 Concepts utilisés 1. Concepts CCM JuxMem Proposition d'intégration 2. Modélisations possibles 3. Mise en oeuvre

5 5 Composant CORBA Réceptacles « uses » Sources d' événements « emits » Puits d' événements « consumes » Facettes « provides » Attributs « attributes » Interface principale du composant CCM : modèle de composants CORBA Schématisation

6 6 CCM : modèle de composants CORBA Modèle de développement séparation des rôles indépendant du langage Déclaration IDL3 Implémentation / Compilation Assemblage par tierce partie Exécution

7 7 Producteur Stockage Calculateur Contrôleur CCM : modèle de composants CORBA Application = assemblage de composants

8 8 Producteur Stockage Calculateur Contrôleur Données CCM : modèle de composants CORBA Application = assemblage de composants ? ? ?

9 9 Partage de données distribuées sur grilles : JuxMem Interface d'accès / programmation Écrire Allouer JuxMem Données Processus Lire / Écrire Lire Processus

10 10 Proposition d'intégration Interaction des modèles Allouer JuxMem Données Lire / Écrire Lire Composant AComposant B

11 11 Rappel du besoin Application distribuée avec stockage de données Lire / Écrire Producteur Écrire Lire Calculateur Contrôleur Données Lancer Surveiller Calculateur

12 12 Réponse au besoin Intégration entre CCM et JuxMem Lire / Écrire Allouer JuxMem Données Lire Écrire Producteur Calculateur Contrôleur Lancer Surveiller

13 13 Modélisations possibles 1. Concepts utilisés 2. Modélisations possibles Composant à donnée interne Composant et donnée externe Proposition : un modèle intermédiaire 3. Mise en oeuvre

14 14 Modélisations possibles Modèle 1 : composant à donnée interne BCA Données interface data_access { boolean set(in octet value, in short offset); octet get(in short offset); void acquire(); void release(); }; component A { uses data_access data_used; }; component B { uses data_access data_used; }; component C { provides data_access data_shared; }; Problème : Peu flexible, centralisé

15 15 Modélisations possibles Modèle 2 : composant ET données externes BCA Données interface data_access { boolean set(in octet value, in short offset); octet get(in short offset); void acquire(); void release(); }; component A supports data_access {}; component B supports data_access {}; component C supports data_access {}; Problème : Gestion explicite des accès concurrents

16 16 Modélisations possibles Notre Proposition : modèle intermédiaire B C A Données Extension de l'IDL3 => IDL3+ Type de port orienté données Mots clés «accesses» «shares» Accès via une interface locale Flexible Plutôt décentralisé Equilibrage de charge data_ref

17 17 Modélisations possibles Architecture en couches Système de gestion de données Données Composant A Composant B Couche d'abstraction de l'accès à la donnée

18 18 Mise en oeuvre 1. Concepts utilisés 2. Modélisations possibles 3. Mise en oeuvre Exemple IDL3+ Implémentations du modèle intermédiaire Compilation de l'IDL3+

19 19 Exemple IDL3+ Langage IDL3 étendu typedef Octet data_space[1000]; component A { accesses data_space data_used; }; component B { accesses data_space data_used; }; component C { shares data_space data_shared; }; B C A Données data_ref

20 20 Implémentation du modèle intermédiaire Fonctionnement interne d'un composant CCM Exécuteur : écrit par le développeur Contexte CCM : généré par le compilateur IDL3 Conteneur CCM : généré par le compilateur IDL3 Object Request Broker

21 21 Implémentation du modèle intermédiaire Encapsulation de l'exécuteur Au-dessus de CCM Encapsulation Redirection d'appels Transparent / CORBA Référence vers donnée Gestion de données Exécuteur Contexte intermédiaire Conteneur intermédiaire Contexte CCM Conteneur CCM Object Request Broker

22 22 Implémentation du modèle intermédiaire Diagramme de classes

23 23 JuxMem Couche d'abstraction de l'accès à la donnée Fichier localNFS id = mkstemp(..); id = open(..); close(..); flock(..); lseek(..); x = read(..); write(val); id = mkstemp(..); id = open(..); close(..); lockf(..); lseek(..); x = read(..); write(val); juxmem_alloc(size); id = juxmem_map(..); juxmem_acquire(..); juxmem_acquireR(..); juxmem_release(..); x = juxmem_read(..); juxmem_write(val); Implémentation du modèle intermédiaire 3 systèmes de gestion de données

24 24 Compilation IDL3+ Description IDL3+ Compilateur IDL3+ Description IDL3 Code Généré C++ Compilateur IDL3 Compilateur C++ Implémentation C++ Code CCM C++ Binaire Exécutif

25 25 Conclusion Extension du langage IDL3 en IDL3+ Spécification d'un compilateur Développement de prototypes Définition de scénarios de tests Expérimentation en cours sur Grid’5000 Suite possible projet LEGO (ANR Calcul Intensif)


Télécharger ppt "1 Extension du modèle de composants CORBA avec accès concurrent à des données partagées Travail réalisé par : Landry BREUIL PFE, ISIMA Encadrants : Gabriel."

Présentations similaires


Annonces Google