Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud Grid and Cloud Computing
Problématique Besoins de calcul croissants Simulations d'expériences coûteuses ou dangereuses Résolution de problèmes de + en + complexes Modèles intégrés Quantité de données exponentielles Problème du stockage Comment analyser toutes les données produites? Comment partager ces données au sein d'une communauté? Grid and Cloud Computing 2
Déluge des données 1. Infrastructures distribuées : cluster, grille et cloud LHC : Large Hardron Collider 3 x 10 14 LHC collisions proton-proton analysées en 2012 25 Po par an de données LSST : Large Synoptic Survey Telescope (Chili) Caméra de 3,2 milliards de pixels 30 To par nuit, de 2014 à 2019 Google Plus d'un milliards de requêtes par jour 24 Po de données traitées par jour Facebook 1,11 milliards d'utilisateurs (2013) Récolte plus de 500 To par jour Grid and Cloud Computing 3
Rappel : modèles de calcul 1. Infrastructures distribuées : cluster, grille et cloud Calcul parallèle Mémoire partagée Différents niveau : instructions, données ou tâches Architectures : vectorielles, SMP, NUMA, GPU Calcul distribué Mémoire distribuée Echanges d'information par messages (MPI, PVM, clients/serveur...) Architectures : SMP, clusters Calcul hybride : combinaison des différents modèles Grid and Cloud Computing 4
Ressources mutualisées 1. Infrastructures distribuées : cluster, grille et cloud Pourquoi mutualiser? Rentabiliser une ressource Accéder à des ressources plus importantes Partager des données, des codes de calculs Comment mutualiser? Un utilisateur lance son programme sans regarder la charge en cours Partage des temps de cycle entre les différents utilisateurs ralentissement de l'exécution Saturation de la RAM swap Il faut planifier et distribuer les exécutions pour optimiser l'usage des ressources Grid and Cloud Computing 5
Evolution Grid and Cloud Computing 6
Cluster de calcul «Un ensemble d'ordinateurs (nœuds de calcul) indépendants, homogènes et reliés entre eux par un réseau local rapide» 1994 : Beowulf (NASA) 16 proc. AMD 486 DX4 2011 : K Computer (Riken, Japan) : 548 352 cores SPARC64 2012 : Sequoia (LLNL, USA) : IBM BlueGene/Q 1 572 864 cores 2013 : Tianhe-2 (NUDT, China) : 3 120 000 cores intel (16000 nodes : 2 xeon ivy bridge + 3 xeon phi) Grid and Cloud Computing 7
Grid Computing : analogie électrique (1) Réseau électrique (Power Grid) : Des centrales qui produisent l électricité Un réseau haute-tension pour l'acheminement Grid and Cloud Computing 8
Grid Computing : analogie électrique (2) Grille informatique : Des ressources informatiques : calculs, stockage Un réseau pour relier ces ressources : internet Des services Grid and Cloud Computing 9
Grid Computing : définition 1. Infrastructures distribuées : cluster, grille et cloud «A system that coordinates resources which are not subject to centralized control, using standard, open, general-purpose protocols and interfaces to deliver nontrivial qualities of service» Ian Foster, 2002. Grid and Cloud Computing 10
Grid Computing : caractéristiques Coordination de ressources non centralisée Répartition des ressources hétérogènes à grande échelle Utilisateurs hétérogènes (structures, domaines, logiciels...) Protocoles et interfaces ouverts et standardisés Interopérabilité des grilles Organisme de standardisation : Open Grid Forum (http://www.ogf.org) Différents niveaux de Qualité de Service QoS : débit, disponibilité, sécurité, ram, cpu... Variabilité de la QoS importante dûe à l'hétérogénéité Grid and Cloud Computing 11
Différents type de grilles 1. Infrastructures distribuées : cluster, grille et cloud Desktop grids (ou peer to peer) Grilles de production (escience Grids) Grilles de recherche Grilles d'entreprise Grid and Cloud Computing 12
Grille de production Grille distribuée sur des sites distants interconnectés par des réseaux à haut débit Des ressources importantes de calcul et de stockage Gérées par un système d exploitation commun (middleware) Offrant un ensemble de services permettant de déployer des applications à grande échelle Pour servir des communautés d utilisateurs Réseaux Clusters de calcul, serveurs de stockage Système d'exploitation de la grille Services de la grille Applications à grande échelle Communauté d'utilisateurs Grid and Cloud Computing 13
Middleware Logiciel d'exploitation de la grille qui s'interface entre les ressources informatique et les applications Gestion des jobs : soumission, planification, ordonnancement Gestion des données : stockage, transferts, réplication Gestion de la sécurité Gestion des utilisateurs Globus, glite, ARC, Unicore, DIET, OAR, irods, EMI Grid and Cloud Computing 14
Communauté d'utilisateurs 1. Infrastructures distribuées : cluster, grille et cloud Ensemble d'utilisateurs partageant un intérêt commun sur la grille Une expérience Des données Des logiciels Des ressources Collaboration à grande échelle Les communautés d'utilisateurs se retrouvent au sein d'organisations Virtuelles (VO) Grid and Cloud Computing 15
Open Grid Forum Consortium regroupant des utilisateurs, des développeurs, des entreprises Recommandation de standards pour les grilles : OGSA : Open Grid Services Architecture OGSI : Open Grid Services Infrastructure JSDL : Job Submission Description Language GLUE : Grid Laboratory Uniform Environment DRMAA : Distributed Resource Management Application API SAGA : Simple API for Grid Applications Grid and Cloud Computing 16
EGI en temps réel http://rtm.hep.ph.ic.ac.uk/ Grid and Cloud Computing 17
Cloud Computing : définition 1. Infrastructures distribuées : cluster, grille et cloud «Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.» NIST, 2009 (National Institute of Standards and Technology) Grid and Cloud Computing 18
Cloud Computing : caractéristiques On-demand self-service : un client peut s'allouer lui-même des ressources (temps cpu, stockage, bande passante) Broad network access : les ressources sont accessibles depuis un réseau via des mécanismes utilisables depuis des différents clients (pc, portable, smartphone, tablette...) Resource pooling : les ressources sont mutualisées, allouées dynamiquement selon la demande, sans localisation précise Rapid elasticity : les ressources peuvent s'adapter de façon élastique aux pics de charge Measured service : le système s'appuie sur des critères de mesures des différents services pour le contrôle, l'optimisation et la facturation Grid and Cloud Computing 19
Cloud Computing : 3 modèles 1. Infrastructures distribuées : cluster, grille et cloud Infrastructure as a Service (IaaS) Infrastructure informatique hébergée Infrastructure physique transparente Exemple : Amazon EC2, Amazon SC3, Dropbox, Openstack Platform as a Service (PaaS) Environnement & briques de développement prêt à l'emploi Infrastructure transparente Exemple : Google App Engine, Microsoft Azure Software as a Service (SaaS) Application hébergée, accessible via un client léger Plateforme et infrastructure transparente Exemple : Google docs, Microsoft Office 365, BaseCamp... Grid and Cloud Computing 20
Grid / Cloud Grid Computing Orienté Job Infrastructure à l'échelle mondiale Collaboration à grande échelle Ressources statiques Mutualisation Cloud Computing Orientée Service Infrastructure à l'échelle d'un data center 1 seul opérateur Ressources dynamiques Pay as you use Une même vision initiale Des technologies complémentaires Des usages pour l'instant actuellement très différents Grid and Cloud Computing 21