Tour d'horizon des Middlewares de Grille Georges Da Costa dacosta@irit.fr
But de la séance Faire un tour d'horizon des solutions existantes Les groupes de standardisation Exemple académique : Egee Les Fournisseurs de service : IBM, Bull, Plateform
1 Les groupes de standardisation 2 Projets académiques 3 Le marché de la grille
1 Les groupes de standardisation 2 Projets académiques 3 Le marché de la grille
Global Grid Forum (GGF) Le Global Grid Forum (GGF) est un groupe d'utilisateurs, de développeurs et de vendeurs. Principal groupe de standardisation GGF est le pendant pour les grilles de l'ietf (internet) Une série de réunions commençant en 1999 a donné lieu à sa création en mars 2001. Très hétéroclite allant des universités aux industriels.
Quelques normes du GGF Open Grid Services Architecture (OGSA) Distributed Resource Management Application API (DRMAA) Job Submission Description Language (JDL) Conguration Description, Deployment, and Lifecycle Management Specication (CDDLM) Resource Specication Language (RSL)
Les groupes de travail du GGF architecture data security scheduling and resource management information system and performance application and programming model environment peer to peer
Globus Alliance Le Globus Alliance implémente les standards développés au GGF Il utilise pour cela le projet Open Source Globus Il a été créé en septembre 2003, suite au grossissement du projet Globus lancé en 1995. Composé principalement d'universités
Entreprise Grid Alliance (EGA) Rassemblement d'entreprises lancé en avril 2004 pour proposer des solutions pragmatiques pour les entreprises Board of directors : HP, Fujitsu Siemens, Sun, EMC, HP, Intel, NEC, Oracle, Network Appliance Club ouvert à toute entreprise, où chaque entreprise a une voix Entrée payante
Open Grid Forum Septembre 2006, fusion de GGF et de EGA Fonctionnement Plusieurs fois par an (environ 3 par an) : grande réunion But Faire le lien entre tous les acteurs Proposer des normes intelligentes et utilisables
1 Les groupes de standardisation 2 Projets académiques 3 Le marché de la grille
Projets académiques NASA's Information Power Grid (IPG), créé du à de forts besoins de simulation. En avril 2003 : 1,944 processeurs, 665 GB de mémoire et 17.7 TB de stockage. Créé en 1998. Utilise Globus. Datagrid, projet européen pour gérer les quantités de données produites par les expériences de hautes énergies. e-science, projet anglais de mise en commun de ressources de calcul scientique Grid5000, plateforme d'expérimentation française, repose sur OAR-Grid. Pour l'instant, 3000 processeurs sur 9 sites.
Middleware pour projet académiques Souvent développent un middleware complet adapté très précisément à un usage particulier. Anciens projets (LHC Computing Grid) Spécicités particulières (masse de donnée pour datagrid) Approche diérente (Grid5000 et le déploiement d'images) Pour le reste, on construit souvent au dessus de Globus
Enabling Grids for E-sciencE (EGEE) Projet lancé en mars 2004 à la suite du projet LHC Computing Grid qui devait gérer la masse de donnée produite par le collisionneur du CERN à Genève. Enabling Grids for E-sciencE (EGEE), projet Européen Egee : 250 Sites, centres de recherche, universités, entreprises (2007) Ressources : 41,000 processeurs et 20 PB de stockage (2007) Initialement en Europe, maintenant aussi en Amériques et en Asie-Pacique
glite, EGEE middleware Concept de base : Virtual Organisations (VOs). Regroupe des utilisateurs, des institutions et des ressources dans un domaine administratif Les VO ne sont pas que virtuelles : Les 4 expériences de hautes énérgies (ATLAS), la communauté biomédicale (biomed), etc Les sites sont regroupés en fédérations, coordinées par des Regional Operations Centre (ROC). Pre-Production Service (PPS), une grille séparée pour les tests pré-déploiement
Premier contact 2 types d'intéractions avec les utilisateurs Grid Operation Center, site web permettant de connaître en temps réel l'état de la grille, de soumettre des jobs Eclipse Environnement de programmation écrit en java Repose sur un concept de plugins Modié pour permettre les mêmes opérations que le GOC
Sécurité Deux entités de base : V.O. Utilisateur Pour se connecter, l'utilisateur doit : Obtenir un certicat X.509 par une autorité de certication (CA) (idem pour les ressources) L'utiliser pour signer un certicat temporaire Utiliser ce certicat temporaire (proxy certicate) pour se connecter au plus pendant 12h
User Interface Interface web permettant une fois identié de : Lister toutes les ressources permettant d'exécuter un job Soumettre un job pour exécution Arrêter un job Récupérer la sortie d'un job Montrer le statut d'un job soumis Récupérer les logs de la vie du job Copier, dupliquer et eacer des chiers de la Grille Récupérer le statut de diérentes ressources gérées par l'information System. Ces fonctions sont accessibles par API
Computing Element Plusieurs entités Grid Gate (GG) qui se comporte comme une interface générique au cluster Local Resource Management System (LRMS) (parfois appelé le système de batch) Worker Nodes (WNs), les noeuds sur lesquels sont exécutés les jobs Il est possible d'utiliser diérents LRMS : OpenPBS/PBSPro, LSF, Maui/Torque, BQS et Condor Un CE pour chaque queue (au niveau glite)
Storage Element Un Storage Element (SE) fournit un accès uniforme aux ressources de gestion de données 2 types d'opérations GSI-secure FTP : gestion de transfert RFIO : accès transparent aux chiers Rarement seulement des disques. Souvent disques et bande magnétique avec archivage transparent sur les bandes pour le stockage longue durée.
Information Service L'Information Service (IS) fourni des informations à propos des ressources et de leur statut A ce niveau, un modèle de données : Glue Schema Deux IS sont utilisés Globus Monitoring and Discovery Service (MDS) utilisé pour la découverte de ressources et pour publier leur statut à bas niveau Relational Grid Monitoring Architecture (R-GMA) utilisé pour l'accounting, le monitoring et la publication d'informations de haut niveau
MDS MDS utilise LDAP de manière non sécurisée (autant en lecteur qu'en écriture) Toute une structure hiérarchique est utilisée pour récupérer les données et les mettre dans cette structure
Grid Monitoring Architecture R-GMA (Grid Monitoring Architecture, proposé par le GGF) ore une version base de donnée relationnelle des données produites par MDS Trois type de composants Producer : produit les informations Consumer : fait des requêtes de type bases de donnée Registry : fait la communication entre les deux précédents Les 2 premiers sont des processus sur chaque sites. De plus il existe diérents types de Producers (Primaire, secondaire,...)
Data Management Plusieurs noms Globaux Global-UID File name Relatifs Storage-URL, information de position Transport-URL, idem plus information de protocole Outils et bibliothèques de haut et bas niveau pour manipuler ces objets
Workload Management System (WMS) Ce service est exécuté sur le Resource Brocker Les jobs y sont envoyé sous la forme de JDL (Job Description Langage) Executable = "test.sh"; Arguments = "filea fileb"; StdOutput = "std.out"; StdError = "std.err"; InputSandbox = "test.sh", "filea", "fileb"; OutputSandbox = "std.out", "std.err"; Requirements = other.glueceinfototalcpus > 4;
Gestion des jobs Le choix du CE pour un job est appelé match-making Sélectionne tous les sites correspondant au JDL Sélectionne ceux qui sont le plus proche point de vue données Trie les CE en fonction du temps supposé d'attente Un job peut être une collection de jobs (avec dépendances) En parallèle, le Logging and Bookkeeping service (LB) collecte tous les évènements liés à la vie du job
Job Flow a Obtenir un certicat et s'identier b Soumettre un job au Resource Brocker en passant par une UI c Le WMS recherche le meilleur site d le RB prépare le job e le gestionnaire local reçoit le job et sa sand-box f le job s'exécute et le Worker Node reçoit les chiers nécessaires g pendant l'exécution, le job utilise les outils de la grille pour gérer ses chiers h le job produit des chiers qui sont accessibles par les autres éléments de la grille i le job nit et envoie sa sortie standard au RB j l'utilisateur récupère la terminaison du job et sa sortie standard
Job Flow
WMProxy Les jobs peuvent être soumis en grand nombre d'un seul coup Data-chalenge (Biomed) Disponibilité de nouvelles données (Atlas) Le RB s'écroule lorsqu'un grand nombre de jobs est soumis en même temps On utilise un proxy
1 Les groupes de standardisation 2 Projets académiques 3 Le marché de la grille
Une approche modulaire Standardisation des briques grâce au GGF/OGF Multiples vendeurs pour chaque brique Des contraintes diérentes Souvent basé sur Globus Usine à gaz Utilisé par IBM, HP, Bull Souvent des incompatibilités malgré les spécications
La brique de base : Le site Structure d'une grille : très hiérarchique Les solutions de grille reposent sur des technologie de site Une grille est une agrégation de ressources dans des sites Composants de base : Gestionnaire de ressources : OAR, PbsPro/OpenPbs, LSF, Condor Scheduler : Maui, CSF
Platform LSF Load Sharing Facility (LSF) middleware S'occupe de gérer les batchs d'applications de calcul Fondamentalement : Equilibrage sur des queues Bonne résistance aux fautes : un noeud de calcul peut remplacer le gestionnaire de manière transparente Permet le checkpointing Version HPC (top500) Version close, sauf pour certaines briques liées à Globus
Plateform CSF Community Scheduler Framework (CFS) La partie scheduler de LSF Framework pour rajouter facilement des schedulers (Api) Fourni les services de base : réservation, exécution et monitoring de job Fonctionne avec LSF, mais aussi avec Globus et Pbs
PBS-Pro/OpenPbs Gestion très bas niveau d'un site, principalement gestion des ressources Deux versions Pbs-Pro version payante, comprends Maui, du support, des outils de gestion évolués OpenPbs version open source, en retard d'une version sur Pbs-Pro Notion de base : queue Interface : pbssub, pbsstat, pbsdel Scheduling naif (utilisé souvent avec Maui)
Torque Fork d'openpbs Divergence de vu avec les développeurs d'openpbs Les apports Passage à l'échelle (nombre de jobs, nombre de processeurs) Plus ne gestion et expressivité des ressources Résistance aux fautes, checkpointing
Condor But : optimiser le débit des jobs Gestion ne des ressources Gestion des ressources partagées (machine de bureau) Backlling évolué Appels systèmes à distance Checkpointing Très orienté pour la recherche scientique Ensemble de jobs Jobs embarrassingly parallel
OAR Projet académique Forte similitudes avec PBS, mais en open source Notion de base, queue Concept de base, langage agnostique : tout est dans la base Programmé en perl, peu de lignes de code Version grille : oargrid Facilité d'insérer un nouveau scheduler Best eort jobs
Scheduler Maui Un des principaux Scheduler sur le marché Possibilité d'utiliser les scheduler fourni Framework de développement de scheduler (fournit un simulateur) Meta-scheduling (plusieurs scheduler en fonction de contraintes) Prévu pour gérer la juste répartition des ressources multi-critère Diérentes politiques de Backlling
L'agrégation : Globus Prochain cours
Condor-G Utilise la syntaxe de soumission de jobs de condor Limité à la partie soumission de job Permet de gérer des jobs sur de multiples sites Repose sur les protocoles de communication de Globus Rends transparent l'utilisation d'une grille Peu de fonctionnalités mais beaucoup plus léger que Globus
Sun N1 Grid Engine Trois couches Access Tier (Utilisateurs) Management Tier (Serveur de gestion de la grille) Compute Tier (Noeuds de calcul et de stockage) Pas de grid services Interface propriétaire, tentative de standardisation GGF Open source gratuit : version de base payant : support + accounting Granularité ne d'accès : notion d'utilisateur, de projet, d'équipe pour l'allocation des ressources
GT4 service container Autre services (Globus) Service Service Service Service Service Service GridFTP GRAM MDS Third party applications Globus core technology
Gridsphere Framework de développement de portail Web opensource
OGCE Framework de développement de portail Web opensource
Autres portails Encore beaucoup de types diérents, domaine peu stable EnginFrame (NICE) basé sur l'automatisation, payant Migrating desktop du projet CrossGrid : une sorte de bureau à la Windows/Gnome/Kde. Même fonctionalités. Java open source Web souvent fait par les utilisateurs de gros projets puis transformés en framework : Jetspeed, uportal, CHEF Pas encore de vrai leader Finalement peu de virtualisation : nombre de processeurs, type de ressources
Sécurité Domaine en retard Beaucoup de problèmes dus aux mesures de sécurité (rewall) Surtout à base de technologies empruntées à d'autres domaines VPN GSI est un projet académique mais qui n'a pas encore percé dans l'entreprise Problème complexe qui reste encore géré au cas par cas
Grid Security Infrastructure (GSI) Basé sur les certicats Plusieurs autorités de certication (CA) Lorsque deux entités discutent, la conance est hérité de la conance entre les CA Les communications reposent ensuite sur SSL Peu pratique pour les opérations nes (lectures de données, utilisation de grid services) car souvent à l'échelle des V.O.
Données Pour l'instant peu de virtualisation Copie des algorithmes habituels GridFtp Chaque gros projet a sa façon d'accéder aux données L'unité de base reste le chier Peu de projet d'utilisation de base de données L'utilisation des données doit être explicite
Avaki Avaki (fait partie de Legion, qui gère tout type de ressources) Gestion des données indépendamment de leur position Transparent Vue objet : tout est objet, que ça soit ici ou au loin, l'accès est identique Comparaison avec nfs avec en plus, les bases de données, xml,... Gère les rewall Rajoute un modèle de vue sur les données : agregation et intégration de haut niveau Gestion transparente des défaillances techniques
Monitoring : Nws Evaluation de l'état actuel de l'infrastructure physique Performance réseau (latence et débit) Charge processeur Mémoire libre Système de greon pour d'autres sondes Compromis entre intrusivité et précision Prédiction de l'état futur Plusieurs méthodes, choix automatique en fonction des résultats Méthode auto-régressive, basée sur la moyenne, basée sur la médiane
Monitoring : Ganglia Objectif : haute performance Gros travail de réduction de la taille des messages Structure hiérarchique Passe à l'échelle (2000 noeuds) Repose sur de plus petites briques XDR pour des communications portables et peu intrusives RRDtool pour le stockage des résultats et leur accès XML pour le format d'export des données Open source
Applications Pas de solution miracle Un grand nombre d'experts Les vendeurs de grille permettent de gridier, tester et certier des applications sur leurs grilles. IBM Grid solutions HP grid solutions...
Domaine d'application Repliement de protéines (académique et industriel) Gestion des données des expérimentations à hautes énérgies (académique) Biomédical (vaccin contre la grippe) Besoin ponctuels de beaucoup de puissance Sysmologie Prédiction météorologique Recherche des gisements de pétrole
Autre systèmes XtremWeb La grille à coût réduit Utilisation des machines inutilisés (Desktop computing) UnitedDevice Desktop Computing Quelques possibilité de type Grille, par exemple réservation BOINC (Seti@Home, 500 TeraFlops), Folding@Home (1 PetaFlop) Rassemble des participants à grande échelle
Autre systèmes : Grid5000 Projet académique français Créer une grille d'expérimentation On ne déploie pas une application, on déploie une image Utilise une couche middleware très simple (basée sur OAR)
Nouvelle mouvance : Cloud computing Un retour à l'idée de Ian Foster : On branche et ça marche Gestion sympliée Fournisseur de service qui gère toute la logistique Utilisation ne des ressources Virtualisation complète Type de machine (cluster, multi-processeur) Service de stockage Machines totalement identique du point de vue utilisateur Exemple, Amazon EC2, Sun Grid, Fujitsu Cloud Computing
Sun Grid Sun tiens aussi le rôle d'hebergeur Pour des données Pour des calculs L'application doit avoir certaines contraintes : Etre auto-contenue S'exécuter sous solaris avec un matériel particulier Le prix est de 1$ par heure CPU.