3A-IIC - Parallélisme & Grid Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Principes et Objectifs Evolution Leçons du passé Composition d une Grille Exemple d utilisation Principes et objectifs Analogie avec la distribution d électricité Ian Foster (Globus 1er middleware de grille) Infrastructure pour délivrer des capacités de calcul/stockage/ communication de façon transparente à l utilisateur, quand et où il les demande. Plus pragmatique : construire des communautés dynamiques (Virtual Organizations) et fournir à leurs membres l accès aux ressources partagées. 1
Principes et objectifs Réalité invisible à l utilisateur L utilisateur ne perçoit pas l architecture sous-jacente de la grille (son middleware la masque). Où sont stockées mes données? Où sont lancés mes calculs? Ne pas s en soucier!! GRID L utilisateur se contente de soumettre des requêtes à la grille! Principes et objectifs Grille de Super-Ordinateurs Grids de super-calculateurs Grids de clusters de PC Interconnexion par des réseaux rapides Pour supporter des calculs plus importants («size up») Principes et objectifs Grilles de ressources inutilisées Optimisation de ressources à grande échelle Pour exécuter un grand nombres de calculs indépendants : Exemple extrême : Seti@Home!! Typiquement des grilles de PC à travers Internet Desktop Grids Grilles hautement dynamiques : les noeuds disparaissent de la grille à tout moment (récupérés par leurs propriétaires) Proche des systèmes P2P 2
Principes et objectifs Grilles de données Partage de données à grande échelle : gros volumes et grand nombre de lecteurs distribués Ex : les résultats d expérience du CERN! Problématiques : migration/réplications de données? catalogue distribué ou centralisé de réplicas? maintien de la cohérence du catalogue et des réplicas? Principes et objectifs Grille collaborative Réalité virtuelle Réalité augmentée Usage conjugué de réalité virtuelle et de calcul distribué : Exemple: réseau de caves et de supercalculateurs graphiques Aspects temps-réel dans les transmissions Grosse demande mais très complexe! Principes et Objectifs Evolution Leçons du passé Composition d une Grille Exemple d utilisation 3
Evolution Système «pré-grille» : meta-computing CASA: Distribute large computations among several supercomputers linked with a Gigabit network (1990 1995) Deux sujets d étude : Impact des réseaux rapides longue distance sur le calcul intensif distribué. Algorithmes et implantations de calculs intensifs distribués. A montré le besoin d un middleware de Grille! Evolution 1 ère génération de grille expérimentale GUSTO: Globus Ubiquitous Supercomputing Testbed Organization (1995-2000) Une plate-forme de test pour les 1 er prototypes de middleware de grille. 125 sites, 23 pays. Un des plus grands systèmes de calcul distribué jamais construit. A montré la faisabilité d un système à très grande échelle! Evolution 1 ère génération de grille d exploitation Data-GRID: Next generation of scientific exploration, with intensivecomputing and analysis of shared large scale datasets, across widely distributed scientific communities (2001-2003). Projet Européen : 15 pays d Europe 21 organisations 200 personnes 100 TBytes 1 PBytes Physique, biologie, sciences de l env. Bâti sur Globus-II A montré l utilité des Grilles de données et leur manque de robustesse! 4
Evolution 2 ième génération de grille d exploitation Open Science Grid (bâti sur Globus): «A national production-quality grid computing infrastructure for large scale science», composed of diverse communities of scientists. VOs Une même infrastructure opérationnelle partagée par plusieurs «virtual organizations» Principes et Objectifs Evolution Leçons du passé Composition d une Grille Exemple d utilisation Leçons du passé Analogie avec les grilles de gas/élec. Dans le passé : production, stockage et consommation locales Puis : interconnexion pour ajustement (en cas d imprévu) Aujourd hui: production, stockage et consommation indépendants et réseau d interconnexion à large débit GRID! Plus souple, tolérant aux pannes, 5
Leçons du passé Conditions d émergence d une grille Technologie mature Interêt industriel Intérêt du marché Support du gouvernement Réseau de ressources Grille Observations des grilles passées (gaz, électricité, eau, ): Il faut dépasser les habitudes l évolution technologique ne suffit pas à l émergence! Pour émerger, une grille à besoin : d une technologie mature d intérêts (pressions) de l industrie et du marché d une impulsion gouvernementale (politique) Leçons du passé Emergence des grilles informatiques Pb technologique plus complexe que les grilles de gaz/elec/eau : - Ressources et besoins plus variées - Quelquefois les nœuds peuvent consommer ou produire - Problème de confidentialité des données et traitements Technologie mature Intérêt industriel Intérêt du marché Support du gouvernement Réseau de ressources Grille Aujourd hui la technologie logicielle n est pas complètement mature! Leçons du passé Hypothèses d émergence La technologie de l information évolue très vite : La densité d intégration des circuits intégrés, la puissance des CPUs, la tailles des disques, la vitesse des réseaux évoluent exponentiellement! Evolution plus rapide que celle du gas/électricité/eau Hyp 1: Les grilles informatiques apparaîtront plus vite car leur technologie évolue plus vite Hyp 2: Les grilles informatiques apparaîtront moins vite car leur technologie est instable! A suivre 6
Principes et Objectifs Evolution Leçons du passé Composition d une Grille Exemple d utilisation Composition d une Grille Besoin de middleware robustes Accéder à son PC ou à la Grille avec la même facilité. PC local Problèmes à résoudre : Authentification unique et politique de sécurité Tolérance aux pannes Découverte et analyse dynamique de ressources Equilibrage de charge dynamique Géré par le middleware de Grille Composition d une Grille Besoin d environnements de dev. Développer sur la Grille aussi facilement que sur un cluster local. local PC Grid Fonctionnalités souhaitées : Déploiement dynamique (du pgm) sur la Grille Recouvrement des calculs et des comms. Communications synchrones et asynchrones Accès au monitoring de la grille Fonctionnalités supportées par l environnement de développement 7
Composition d une Grille Composants d une Grille Organisations Virtuelles Applications distribuées Environnement de développement Middleware de Grille Routage, contrôle, supervision réseau Infrastructure réseau rsrc rsrc rsrc rsrc Algorithmique de Grille MPI-G Globus Env. de dev. Middleware générique de Grille ProActive Env. de dev. GridRPC ProActive middl. Middleware spécifique DIET middl. JavaRMI + JVM Middleware générique Corba + VPN Deux stratégies : middleware de Grille générique et ambitieux (ex : Globus) middleware générique traditionnel + complément spécifique Principes et Objectifs Evolution Leçons du passé Composition d une Grille Exemple d utilisation Grid computing: exemple d utilisation Un utilisateur veut créer une base de données en fouillant des bases de données en ligne, et en utilisant des pgms de fouille optimisés également en ligne. Il va découvrir, accéder et utiliser des ressources distantes (données, espace disque, capacités de calcul). Il va rejoindre le portail d une «organisation virtuelle» (V.O.) et réaliser un pgm de haut-niveau. Utilisateur de la grille Portail de «V.O.» Grille de ressources 8
Grid computing: exemple d utilisation Utilisateur de la grille Pgm/Rq de haut-niveau Pgm distribué Le pgm de haut-niveau est une requête à un service de fouille de données. Il se traduit en un pgm distribué sur la grille faisant appel à de nombreux services de grille. Algorithme distribué Implantation distribuée Services de Grille Middleware de Grille Ressources distribuées Grid computing: exemple d utilisation 1/6 L utilisateur contacte le portail d une communauté de data-mining. C est une registry (annuaire) qui sait quels sites peuvent fournir des fonctionnalités de fouille et des capacités de stockage. Grid computing: exemple d utilisation 2/6 Le portail ( registry ) retourne des références sur des générateurs ( factories ) de pgms de fouille optimisés, et sur des générateurs de bases de données. L utilisateur ou son programme fait un choix. 9
Grid computing: exemple d utilisation 3/6 Le programme de l utilisateur fait des requêtes aux générateurs pour qu ils assemblent des services de fouille, et qu ils créent une base de données. Grid computing: exemple d utilisation 4/6 Deux nouveaux services sont créés : un service de fouille et une base de données (principe du tout est service!) Grid computing: exemple d utilisation 5/6 Le service de fouille interroge des bases de données distantes. Il agit comme un client qui aurait l identité de l utilisateur (délégation d autorité ex: Globus-3/OGSA). 10
Grid computing: exemple d utilisation 6/6 Les résultats des interrogations sont retournés directement à la nouvelle base de données. Le pgm utilisateur envoie des msgs keepalive pour maintenir les services créés et les résultats. FIN 11