PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.

Slides:



Advertisements
Présentations similaires
Les concepts de bases de la simulation
Advertisements

Mathilde VINCENT - Olivier JOURDAN Paris - le 7/2/2012
Programmation Orienté Objet en C++
Introduction aux environnements répartis
La machine virtuelle virtuelle utopie et/ou réalité ?
Retour sur RMI.
ORB (1/2) ORB : Object Request Broker
Architecture CORBA réseau Objet Corba Application Serveur
Objets Distribués Chronique d ’une invasion annoncée
Couplage à hautes performances de codes parallèles et distribués
Julien HERON.
Prototype de plate-forme de Tribus Instantanées :
Object Management Architecture (OMA)
Reference Model of Open Distributed Processing
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
Cours 2 : Les Web Services Concepts Généraux
18 avril 2002réunion Datagrid France1 E-toile Plate-forme RNTL 2001 Environnement matériel et logiciel pour le développement et l expérimentation de grille.

Stéphane Frenot - Département Télécommunication - SID - II - Comp 312 Avantages de l'approche distribuée Economie Performance.
BERNARDIN Benoît Université de Franche-Comté – Année 2008/2009
Introduction aux services WEB
Etude des Technologies du Web services
Architecture de grille générique, multi-
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Chaire UNESCO - Calcul numérique intensif
ECF 5 PRESENTATION « BULLE APPLICATIVE »
Programmation Approche composants Ing5 SI
Rennes, le 18 septembre 2006 Support du paradigme maître-travailleur dans les applications à base de composants Tâche 2.2 Hinde Bouziane Réunion LEGO.
Interaction audio sur le site web du LIA
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
CAT 2000 LES MIDDLEWARES Présenté par : Tagmouti Siham Smires Ali
Interopérabilité JOnAS - CORBA
Développement d’un réseau social professionnel
Développement d’application web
Calculatrice Financière Android
Présentation du mémoire
Introduction au bus CORBA
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
CORBA (Common Request Broker Architecture)
Patrons de conceptions de créations
LEGO – Rennes, 18 Septembre 2006 Un outil de monitoring pour le déploiement dynamique de JuxMem Loïc Cudennec IRISA / INRIA, PARIS project-team Stage de.
Entity Framework 4 Mitsuru FURUTA Relations techniques développeurs
Simulation de problèmes couplés d’hydro-géologie :
SGBD orientés Objet Standards : OMG et ODMG.
GDS – Paris, 13 Octobre 2006 Un outil de monitoring pour le déploiement dynamique de JuxMem Loïc Cudennec IRISA / INRIA, PARIS project-team Stage de M2RI.
Présentation de CORBA et de IIOP
CORBA Un concept de l ’OMG Mathieu Estival Biomédical, 3°Année.
Supports de formation au SQ Unifié
Mise en place d’une plate-forme d’expérimentation d’applications adaptables à partir de composants Encadreurs : Mireille Blay-Fornarino Anne-Marie Dery-Pinna.
Modèles et protocoles de cohérence des données en environnement volatil Grid Data Service IRISA (Rennes), LIP (Lyon) et LIP6 (Paris) Loïc Cudennec Superviseurs.
Présentation Interception Log2XMI XMI Perspectives CorbaTrace Florian Champalle Audrey Jaccard Etienne Juliot Nicolas Lemoullec Antoine Parra del Pozo.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
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.
Introduction à Visual Studio C++ (VC++)
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Toolkit WEB de contrôle en SVG Equipe Koala d’ILOG Encadré par Colas Nahaboo Isabelle LAFAYE.
Un service de partage de données pour DIET : GDS basé sur JuxMem Mathieu Jan Projet PARIS Lyon, 5 décembre 2003.
L’enseignement de spécialité SLAM
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
1 Journee gdr COSMAL 27/01/2009 Exécution Distribuée et Agile de Compositions de Services Françoise Baude & Virginie Legrand
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
30/11/2007Architecture logicielle pour l’adaptation dynamique; Application à la réplication de données1 Architecture logicielle pour l’adaptation dynamique.
INTRODUCTION AUX BASES DE DONNEES
Java Remote Method Invocation
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Applications distribuées Introduction Jean-Jacques LE COZ.
IDL interface définition langage. Plan Introduction Principaux éléments IDL Types de données IDL Déclaration de module Déclaration d'interface Déclaration.
Transcription de la présentation:

PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03

Plan Contexte Problèmes CORBA PaCO++ Conclusion / perspectives

Contexte : couplage de code Thermal Optics Dynamics Satellite design Structural Mechanics

Caractéristiques de ce type d’application Différents codes s’échangent des données Codes parallèles Dynamique Évolution des codes Différents tests Gourmandes Mémoire Puissance de calcul

La grille : un environnement d’exécution Homogeneous cluster SAN Homogeneous cluster LAN WAN Supercomputer Visualisation

Problèmes de la grille Différents types de réseaux Différents types de machines Des ressources matérielles différentes entre deux exécutions Il faut que le logiciel puisse s’adapter C’est notre problème ;-) !

Problèmes des applications de couplage Différentes équipes Différents : Langages Bibliothèques de communications ( MPI, PVM,...) Applications distribuées et parallèles Dynamicité Complexe Besoin : Exprimer clairement les intéractions Meilleure maintenance

Notre objectif Fournir des logiciels permettant de concevoir et d’exécuter ces applications dans de bonnes conditions Projet PARIS : PadicoTM : pb liés à la dynamicité de la grille, à l’hétérogénéité des réseaux et à la cohabitation des middlewares PaCO++, GridCCM : modèle de programmation

Que doit fournir l’exécutif Support de différentes machines et réseaux Contrainte venant de la grille Support de différents langages Haute performance Support de codes parallèles Support de codes distribués

CORBA Modèle permettant de mettre en oeuvre des applications distribuées Version 2 : Objet Version 3 : Composant Pas de support du parallèlisme PaCO++ : Objet GridCCM : Composant

interface MatrixOperations { const long SIZE = 100; typedef double Vector[ SIZE ]; typedef double Matrix[ SIZE ][ SIZE ]; void multiply(in Matrix A, in Vector B, out Vector C ); }; Server Client IDL Stub Object invocation Object Request Broker (ORB) with IIOP IDL Compiler POA IDL Skeleton Object Implementation CORBA v2 Concept d’objets distribués (OMG) Programmation orienté objet Invocation de méthode distante Indépendance: matériel, OS et langage de programmation Indépendance des vendeurs (interopérabilité)

CORBA interface objet_distant { void exemple(in Matrice mat); }; Description de l’interface // Récupération du serveur objet_distant * serveur =... // Construction des données... Matrice_var ma_matrice =... // Appel d’une méthode distante serveur->exemple(ma_matrice); Code d’appel chez le client

CORBA Envoi de la matrice CORBA : Applicatif : Client Serveur dynamique Optique

PaCO++ : scénario 1 Redistribution des données Client Objet Parallèle

PaCO++ : scénario 2 Redistribution des données Objet Parallèle

Les apports de PaCO++ Flux de communications parallèles Objet Parallèle

Les apports de PaCO++ Exprimer la redistribution des données Sous forme de plug-in ( non fourni ;-) !) Objet Parallèle

Exemple avec PaCO++ interface objet_distant { void exemple(in Matrice mat); }; Description de l’interface interface objet_distant methode exemple : parallèle argument mat : distribué Description du parallèlisme

Génération du code fichier de descriptionUtilisation.idl Générateur CORBA souches CORBA compilateur PaCO++ UtilisationPaCO.idlcode PaCO++

Code coté client // Récupération du serveur objet_distant * serveur = // Creation de la bibliothèque de distribution serveur->paco_register(ma_bibliothèque_de_redistribution);... // Construction des données... Matrice_var ma_matrice =... // Description des données PaCO::PacoInitData_t data;... // Appel d’une méthode distante serveur->exemple(ma_matrice); Code spécifique à PaCO++

Incidence dans les codes de simulations Les données transmises doivent-être décrites en IDL ! Il faut pouvoir décrire la distribution des données dans les codes ! Il vous faut écrire la bibliothèque de redistribution ! Les intéractions sont réalisées à l’aide d’appel de méthode !

Composant ? Boite noire Interfaces spécifiées Unité logique indépendante Unité de déploiement Application Assemblage de composants Composant Facette (interface fournie) Réceptacle (interface utilisée) Attributs Producteur d’évènements Composant CORBA Consommateur d’évènements

Exemple component C1 : uses I1 component C2 : provides I1 C1 C2 I1 connect_I1(C1,C2) C1 C2 I1

Les composants logiciels Programmation par composants Réutilisabilité du code Modularité Unité de déploiement indépendante Industrie du logiciel Gestion des hétérogénéités CORBA, EJB, COM+ Déploiement des codes sur une architecture distribuée Modèle de composant logiciel CORBA

GridCCM Version parallèle des composants CORBA Utilisation du code et de l’expérience de PaCO++

Prototype de PaCO++ Version Beta Parsers Générateurs Supports de différents ORBs Distribution bloc-cyclique de vecteur En cours Nouvelle interface pour les bibliothèques de redistributions des données

Performances

Conclusion Applications complexes Modèle de programmation adapté PaCO++ : extension de CORBA pour le parallèlisme Prototype existant ACI Grid EPSN

Perspectives Améliorations de la gestion des données distribuées ARC RedGrid Passage au composant avec GridCCM En réutilisant PaCO++