Middleware/Intergiciels de Grille Jean-Marc Pierson 3 avril 2008 pierson at irit.fr
Caractéristiques des grilles Large échelle Hétérogénéité Administration multi-domaines Autonomie des participants mais coopération Dynamique Flexible Extensible Sécurité 2
Eléments du problème Partage de ressources CPU, stockage, senseurs, réseaux, Hétérogénéité des outils/méthodes d accès, Partage conditionné: négociation, payement, Résolution coordonnée de problèmes Intégration de ressources distribuées Besoins de Qualité de Services composée Organisations virtuelles dynamiques, multi-institutionnelles Au dessus des infrastructures sous-jacentes Correspondance à trouver localement 3
Approches middleware Solutions génériques et ambitieuses Globus Toolkit, WSRF, Unicore Solutions spécifiques associées à des environnements de développement NES (NetSolve, DIET), XtremWeb, ProActive Basées sur des middleware génériques traditionnels (CORBA, Java RMI, ) Solutions propriétaires, moins ambitieuse, produits commerciaux Sun Grid Engine, Platform Computing 4
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 ProActive middl. JavaRMI + JVM Env. de dev. Middleware spécifique Middleware générique GridRPC DIET middl. Corba + VPN d après S. Viale, Supelec 5
Solutions génériques Cherchent à offrir des services traitant tous les problèmes mentionnés Du métacomputing aux standards du Web Principe: des services de cœur sur lesquels sont construits des services de plus haut niveau, sur lesquels reposent les applications. Création d un système d exploitation à l échelle d une grille 6
Architecture en couche (par analogie avec Internet) Coordonner de multiples ressources : services d infrastructure, services des applications réparties Partager des ressources uniques : négocier l acces, contrôler l utilisation utilisation Parler aux ressources : communication (protocoles Internet) & sécurité Application Ressource Connectivité Usine Contrôle local des objets : Acces, Contrôle des ressources Coordination Application Transport Internet Link d après I. Foster, version 2 du Globus Toolkit 7 Internet Protocol Architecture
Globus Toolkit 4 / WSRF: une architecture en couches, orientée (web-)services Applications OGSA Architected Services (OGSA=Open Grid Service Architecture, standardisée à l Open Grid Forum) OGSI Open Grid Services Infrastructure Web Services Web Services OGSA Enabled Security OGSA Enabled Workflow OGSA Enabled Database OGSA Enabled File Systems OGSA Enabled Directory OGSA Enabled Messaging OGSA Enabled Servers OGSA Enabled Storage OGSA Enabled Network 8
Programming the grid: programming models Message passing (PVM, MPI) Distributed Shared Memory Data Parallelism (HPF, HPC++) Task Parallelism (Condor) Client/server - RPC, GridRPC Agents Integration system (Corba, DCOM, RMI) Web services 9
Program execution : issues Parallelize the program with the right job structure, communication patterns/procedures, algorithms Discover the available resources Select the suitable resources Allocate or reserve these resources Migrate the data (or the code) Initiate computations Monitor the executions ; checkpoints? React to changes Collect results 10
Services de base Gestion des ressources (découverte, mise à jour, ) Courtage de ressources Ordonnancement des tâches Soumission des travaux, migration de tâches, exécution Contrôle d activité (monitoring) Accès aux données, transfert de données Authentification/Autorisation/Traçabilité Accounting 11
Gestion des ressources Description Publicité Catalogue Correspondance Requête Réservation Checkpointing 12
Resource management Services and protocols depend on the infrastructure Some parameters stability of the infrastructure (same set of resources or not) freshness of the resource availability information reservation facilities multiple resource or single resource brokering Example request : I need from 10 to 100 CE each with at least 128 MB RAM and a computing power of 50 Mips 13
Resource management and scheduling (1) Levels of scheduling job scheduling (global level ; perf : throughput) resource scheduling (perf : fairness, utilization) application scheduling (perf : response time, speedup, produced data ) Individual perfs are not necessarily consistent with the global (system) perf! 14
Resource management and scheduling (2) Grid problems predictions are not definitive : dynamicity! Heterogeneous platforms Checkpointing and migration 15
A Resource Management System example (Globus) RSL Broker RSL specialization Application Ground RSL Queries & Info Information Service Co-allocator Local resource managers Simple ground RSL GRAM GRAM GRAM LSF Condor NQE 16
Resource information What is to be stored? Organization, people, computing resources, software packages, communication resources, event producers, devices A key issue in such dynamics environments Either (distributed) LDAP But : dynamicity complex relationships frequent updates complex queries Or (relational) database 17
Data management Issues : indexing retrieval replication caching traceability (auditing) And security!!! 18
From computing grids to information grids ex : the Replica Management Problem Maintain a mapping between logical names for files and collections and one or more physical locations Decide where and when a piece of data must be replicated Important for many applications Example: CERN high-level trigger data Multiple petabytes of data per year Copy of everything at CERN (Tier 0) Subsets at national centers (Tier 1) Smaller regional centers (Tier 2) Individual researchers have copies of pieces of data Much more complex with sensitive and complex data like medical or financial data!!! 19
Functional View of Grid Data Management Application Metadata Service Location based on data attributes Planner: Data location, Replica selection, Selection of compute and storage nodes Executor: Initiates data transfers and computations Replica Location Service Information Services Security and Policy Data Movement Data Access Location of one or more physical replicas State of grid resources, performance measurements and predictions Compute Resources Storage Resources 20
Security: Why Grid Security is Hard Resources being used may be extremely valuable & the problems being solved extremely sensitive Resources are often located in distinct administrative domains Each resource may have own policies & procedures Users may be different The set of resources used by a single computation may be large, dynamic, and/or unpredictable Not just client/server The security service must be broadly available & applicable Standard, well-tested, well-understood protocols Integration with wide variety of tools 21
Grid Security : various views User View 1) Easy to use 2) Single sign-on 3) Run applications ftp,ssh,mpi,condor,web, 4) User based trust model 5) Proxies/agents (delegation) Resource Owner View 1) Specify local access control 2) Auditing, accounting, etc. 3) Integration w/ local system Kerberos, AFS, license mgr. 4) Protection from compromised resources Developer View API/SDK with authentication, flexible message protection, flexible communication, delegation,... Direct calls to various security functions (e.g. GSS-API) Or security integrated into higher-level SDKs: E.g. GlobusIO, Condor 22
Besoins en termes de sécurité Confidentialité des transferts (infrastructure de communication non sûre):ssl/tls Stockage redondant et sécurisé et/ou extérieur à la grille Gestion de la confiance (pas/peu?) envers et par les sites où s exécute un code avec des données Contrôle d accès local, pour la performance Intégration de systèmes de sécurité différents Single Sign On 23
Authentification et Authentification Autorisation Utilisateurs Ressources Globalisée (car plusieurs sites peuvent intervenir dans la résolution d un problème) Autorisation d accès aux ressources Droits des utilisateurs sur les ressources? Gérés par rôle au niveau global (identification globale nécessaire) Correspondance nécessaire vers le niveau local (mapping) 24
Authentification Basée sur les certificats et le chiffrement asymétrique Chaque entité possède un certificat: Utilisateurs Ressources Services Est distribuée (pas de centralisation) Problème car nécessite la clé privée (dans l authentification mutuelle)! Pas de singlesign-on sans transfert de la clé privée!! 25
Délégation But: permettre à une entité de confiance d utiliser une ressource pour le compte d une autre Délégation : de droits : accès à des données de responsabilité : lancement de tâches Contraintes : Délégation limitée dans le temps Révocation possible Efficace (pas de perte de temps) 26
Certificats délégués (ex: Globus GSI) Certificats temporaires (expire en 12 ou 24h) Générés (et signés) à partir du certificat utilisateur Sont des mandataires (proxys) du vrai certificat Sont utilisés pour l authentification auprès de tous les éléments du système Permettent alors le SSO 27
Gestion des clés privées des utilisateurs Stockage centralisé (poste de travail, FS partagé) : OK si l utilisateur ne bouge pas Solutions matérielles clé USB carte à puce, coûteux, nécessite infrastructure Création espace de stockage commun (projet Datagrid) accès à une clé validée par un mécanisme d authentification (mot de passe, Kerberos, ) permet d automatiser la régénération de certificats 28
Globus Security Infrastructure Contenu de GSI : Certificat X.509 pour l authentification PKI pour la vérification des identités dans les certificats Protocole SSL pour l authentification, la confidentialité, l intégrité Certificat proxys et délégation pour le support du single sign-on 29
Autorisation d accès aux ressources 5 entités différentes jouent un rôle : utilisateurs proxy utilisateur processus ressource proxy ressource Domaine de confiance : Virtual Organization peut être de nature physique (un site) ou logique (un projet, une expérience) il existe une notion de rôles dans une VO : administrateur, participant 30
Détermination des droits Choix des droits information sur l utilisateur et la session informations sur les services (objets) politique de sécurité locale Coeur du problème gestion globale nécessaire pour les utilisateurs de grille mais les droits locaux doivent être gérés en local correspondance entre les droits dans les VOs et les droits locaux 31
Confiance mutuelle Gestion des comptes correspondance utilisateur grilles <->utilisateurs locaux (unix, NT) peut être faite par site : un site -> un utilisateur peut être faite par expérience : une expérience, un projet -> un utilisateur Globus fichier grid_mapfile contient les correspondances Datagrid/EGEE fichier construit automatiquement à partir des annuaires LDAP et d une liste «noire» 32
CAS : Community Authorization System (Globus) Serveur centralisé Contient une BD avec utilisateurs et groupes Contient les informations sur les objets protégés Utilisation CAS est contacté à chaque (première) demande d accès à un objet prend la décision à partir du proxy certificat de l utilisateur : accès autorisé ou pas Problème : Centralisé : passage à l échelle? Contrôle distant : pas de contrôle possible en local (où la ressource est stockée) 33
Virtual Organization Membership Service (VOMS) (Datagrid, Egee) gestion des autorisations dans le cadre des VOs gestion distribuée définit les correspondances entre VOs et RP (resource providers) dépend du rôle de l utilisateur dans la VO (géré par la VO) dépend de ce que peut faire l utilisateur sur la ressource (géré en local par les sites) crée le certificat qui permet l accès à la ressource Utilisation d un SGBDR stockage des informations sur les utilisateurs (appartenance aux VOs) 34
Conclusion Plusieurs possibilités de middleware Fonctions de base communes On retrouve les problèmes classiques des systèmes distribués, mais à large échelle et entre organisations Sécurité généralement bien prise en compte 35
Bibliographie The Grid 2: Blueprint for a New Computing Architecture. Ian Foster, Carl Kesselman Grid Computing: The Savvy Manager s Guide. Pawel Plaszczak, Richard Wellner Jr 36