21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak Chaari D. Gannon, S. Krishnan, R.Bramley & al Department of Computer Science Indiana University
21/02/2003DEA DISIC 2 Plan Introduction Software Component Model Application La grille et les services Web Les grilles P2P Conclusion
21/02/2003DEA DISIC 3 Introduction Difficultés de programmation de la grille: – Hétérogénéité des machines et des applications. – Prévoir un fonctionnement consistant. – Interactions complexes entre services de la grille. Considérations: – Classification des différents utilisateurs de la grille. – Utiliser un modèle de programmation orienté composants. – Intégrer les services Web et les concepts P2P dans la grille.
21/02/2003DEA DISIC 4 Programmation de la grille: Architecture Générale – portail de la grille Programmeurs/ utilisateurs finaux Programmeurs/ Assembleurs des compo. Existants Développeurs initiaux
21/02/2003DEA DISIC 5 POC: Principes Composant: – Unité logicielle réalisant une tâche simple. – Suit un ensemble de règles de comportements. – implémente des interfaces pour interagir avec d’autres composants. Architecture à base de composants: – Spécification d’un ensemble de règles et d’interfaces. – Gère le cycle de vie d’un composant – Assure la communication entre les différents composants existants.
21/02/2003DEA DISIC 6 POC: Avantages Solution flexible adaptée à la grille Facilité de programmation contre complexité de gestion de la grille Facilité d’utilisation Interopérabilité Réutilisation
21/02/2003DEA DISIC 7 POC: Solutions Existantes Microsoft COM/DCOM Sun JavaBeans/Enterprise JavaBeans OMG CORBA Non adapté aux applications Scientifiques complexes (high-performance scientific computing) Pas de canaux de communication efficaces entre les composants Pas de prise en compte des types de données complexes (nombres complexes, tableaux multidimensionnels dynamiques)
21/02/2003DEA DISIC 8 Common Component Architecture
21/02/2003DEA DISIC 9 CCA: Les ports Composant n Composant 2 Composant 1
21/02/2003DEA DISIC 10 Echange de messages Les ports permettent une communication synchrone Pas de gestion efficace de la grille Utilisation d’un système d’échange de messages – Suivi du déroulement d’exécution – Gestion des erreurs – Optimisation Utilisation d’un canal commun de communication
21/02/2003DEA DISIC 11 Application : Calcul d’intersections d’orbites CRASS Science Portal
21/02/2003DEA DISIC 12 Services Web Applications B2B. Exécutent des tâches simples ou de complexité moyenne Optimisés pour être utilisés par d’autres applications sur le Web via HTTP. Echangent des messages XML
21/02/2003DEA DISIC 13 Pourquoi les services Web? Interopérabilité Facilité d’utilisation Parler le même langage: XML Construire un environnement d’applications distribuées
21/02/2003DEA DISIC 14 Web Services Description Language Norme W3C Description détaillée du service Description des points d’entrées (méthodes) Description des types de données échangées
21/02/2003DEA DISIC 15 Simple Object Access Protocol Protocole d’invocation de méthodes sur des services distants. Eléments de SOAP – L’enveloppe (enveloppe) Définit la structure du message – Les règles d’encodage (encoding rules) Définissent le mécanisme de sérialisation pour chacun des types de données pouvant être échangés – Convention de fonctionnement Définit comment sont représentées les appels de procédure et les réponses
21/02/2003DEA DISIC 16 Universal Description Discovery and Integration Annuaire mondial d’entreprises basé sur le Web. Automatiser la procédure de recherche et de découverte des services Web. Englobe trois types de données: – Pages blanches: informations très générale sur l’entreprise – Pages jaunes: informations sur le domaine d’activité et la classification des services de l’entreprise – Pages vertes: informations détaillés sur les services, liens vers les pages WSDL
21/02/2003DEA DISIC 17 All together Discovery Universal Description Discovery and Integration Description Web Services Description Language Framework Common Component Architecture Messaging Simple Object Access Protocol Transport HyperText Transfer Protocol Madhusudhan Govindaraju, Sriram Krishnan & al “XCAT 2.0: A Component-Based Programming Model for Grid Web Services “, Technical Report Number 562, Indiana University, June 2002.
21/02/2003DEA DISIC 18 Scénario (UDDI) (Common Component Architecture)
21/02/2003DEA DISIC 19 Intégrer les W.S. dans les grilles Présenter les services de base de la grille comme des services Web – Service d’authentification. – Service d’affectation des ressources. – Service d’ordonnancement. – Service de répartition des données. Ajouter un service « Grid Factory Service»
21/02/2003DEA DISIC 20 GFS dans la grille
21/02/2003DEA DISIC 21 P2P dans les grilles Utiliser la technologie P2P dans les applications scientifiques Au lieu de ne partager que des fichiers, on partage des ressources et des applications Utiliser les services Web avec la technologie P2P Utiliser un GFS comme un point d’entrée pour les grilles P2P
21/02/2003DEA DISIC 22 Conclusion Solution intéressante vu sa souplesse et son adéquation à l’architecture d’une grille. Article très riche. Pas de benchmark des applications réalisées. Difficulté d’intégration des composants pour un code existant. Fiabilité des composants. R. Armstrong, D. Gannon, A. Geist & al, “Toward a Common Component Architecture for High Performance Scientific Computing”, High Performance Distributed Computing Conference, 1999.