2 e Atelier CRAG, 3 au 8 Décembre 2012 Par Blaise Omer YENKE IUT, Université de Ngaoundéré, Cameroun. 4 décembre 2012 1 / 32
Calcul haute performance (HPC) High-performance computing (HPC) : utilisation des infrastructures de calcul parallèle pour l exécution des applications scientifiques de façon efficace, fiable et rapide Domaines : Prévisions météorologiques, Etude du climat Modélisation moléculaire (calcul des structures et propriétés de composés chimiques...) Simulations physiques (simulations aérodynamiques, calculs de résistance des matériaux...) Fouille de données Cryptologie (Cryptographie et Cryptanalyse) Besoins en puissance de calcul sans cesse croissants Solution apportée par deux types d architectures de machines Architectures multiprocesseurs à mémoire partagée Architectures multiprocesseurs à mémoire distribuée 2 / 32
Architectures multiprocesseurs à mémoire partagée Connues sous le nom de machine parallèle ou supercalculateur : Plateforme homogène ie même architecture des composantes Domaine d administration unique Types de machines parallèles SMPs ou CC-UMA (cache Coherence Uniform Memory Acces) CC-NUMA (cache Coherence Non-Uniform Memory Acces) Programmation basée sur les threads Bibliothèque de programmation parallèle : OpenMP 3 / 32
Exemple de supercalculateurs (1) 1985 : Cray 2 (Constructeur : CRAY Inc) Puissance réelle : 1.7 gigaflops Premier supercalculateur à dépasser la barre du 1 gigaflop 5 processeurs dot 4 dédiés aux calculs Mémoire centrale : 2 Go. 4 / 32
Exemple de supercalculateurs (2) 2009 : Jaguar (Constructeur : CRAY Inc) Novembre 2009, No 1 au TOP500 224 256 processeurs x86 AMD Opteron quadcoeur Puissance : 1.75 pétaflops Mémoire Totale : 360 To. 5 / 32
Exemple de supercalculateurs (3) 2012 : Titan (Successeur de Jaguar) Novembre 2012, No 1 au TOP500 réutilise les 200 baies Cray XK7 de Jaguar regroupant 18 688 noeuds Noeud : 1 processeur 32 Go RAM et 16 coeurs + 1 GPU 6 Go RAM Mémoire Totale : 710 To. Puissance : 20 pétaflops Consommation : 9 mégawatts environ Coût : 97 millions de dollars 6 / 32
Machines parallèles : avantages et inconvénients Avantages Faible coût de communication entre processus Bonne performance (temps de calcul) inconvénients Ne passent pas à l échelle Fortes contraintes pour assurer la tolérance aux fautes Faible ratio coût/performance Consomment beaucoup d énergie (de l ordre du mégawatt) 7 / 32
Architectures multiprocesseurs à mémoire distribuée Connues sous le nom de systèmes distribués (ou répartis) : Ensemble d ordinateurs indépendants communiquant à travers un réseau haut débit Gestionnaire de ressources (PBS, MAUI, OAR, CONDOR, SGE, SLURM, etc.) Vu comme un système unique et cohérent Programmation basée sur les passages de messages Bibliothèque de programmation parallèle : MPI, PVM Systèmes distribués ou répartis A distributed system is a collection of independent computers that appear to the users of the system as a single computer A. Tannenbaum, 1994 8 / 32
systèmes distribués : avantages et inconvénients Avantages Passent aisément à l échelle Tolérants aux fautes Bon ratio coût/performance Capacité élevée de stockage et de mémoire inconvénient Les temps de communication entre les processus peuvent être élevés 9 / 32
Synthèse Côté onéreux des supercalculateurs Usage restreint aux entreprises capables de les acquérir Mise en place aisée des systèmes distribués failitée par : faible utilisation des temps de cycles CPU des postes de travail des LAN et des WANs (< 10 %) la montée en puissance des PCs standards peu chers le développement des réseaux d interconnexion à haut débit Notre intérêt : les environnements de calcul distribué 10 / 32
Principales architectures A moyenne échelle : Grappes (Clusters) Intranets A grande échelle : Grilles (Grids) Cloud Computing Internet 11 / 32
Grappes Grappe typique En général homogène Noeuds de calcul : PCs, SMP Réseau : haut débit (Giga Ethernet, Myrinet,Quadrix, InfiniBand) Usage typique Environnement dédié de calcul 12 / 32
Grappes : Architecture Architecture générale des environnements de calcul de type grappe Jobs soummis via Internet Requêtes envoyées au gestionnaire de ressources via les frontales qui servent à authentifier les utilisateurs 13 / 32
Grappes : Exemple Formé de blocs UC standards 14 / 32
Configuration générale Intranets Interconnexion de PCs standards Architecture : modèle client-serveur Principales activités Messagerie et échanges de données entre usagers, Traitement de texte, recherche et consultation de documents internes, communications à travers les vidéoconférences Usage parallèle Environnement non dédié de calcul HPC (grappe virtuelle) pendant les nuits, les week-ends, les périodes de congé. Ressources des postes de travail partiellement ou entièrement utilisées. 15 / 32
Intranets comme environnement de calcul (1) Utilisation directe des ressources disponibles Portions inutilisées des ressources intégrées à la grappe virtuelle Temps de cycle CPU Mémoire Disque Calcul dans l environnement de travail Apprcoche utilisée dans le projet CONDOR Pb d interférence avec l utilisateur principal de la machine 16 / 32
Intranets comme environnement de calcul (2) Exécution dans des machines virtuelles (VM) Les systèmes étrangers et le système natif se partagent les ressources de la machine hôte Réduit le pb d interférence au niveau du disque local Calcul dans une VM (VmWare, VirtualBox, KVM, Xen) Apprcoche utilisée dans les projets In-Vigo, Violin Peut avoir un impact sévère sur la performance des applications 17 / 32
Intranets comme environnement de calcul (3) Bascule en mode grappe de calcul Postes de travail rebootés et intégrés à la grappe virtuelle Postes généralement utilisé en mode diskless Pas d impact sur la performance des applications Opérations de lecture/écriture sur le (ou les) serveur(s) de l intranet Outil de basculement : ComputeMode Apprcoche utilisée dans le projets IGGI Pb : Congestion possible sur les serveurs de stockage 18 / 32
Grilles Interconnexion de grappes par un réseau très haut débit Architecture dédiée très hétérogène Ressources déployées suivant deux modèle : client-serveur ou pair-à-pair Architecture générale des environnements de calcul de type grille Exemple de grille : GRID5000 19 / 32
Cloud computing Usage des ressources de calcul (matériel et logiciel) qui sont fournis comme un service via un réseau (typiquement Internet) Traitements informatiques sur poste utilisateur déportés vers des infrastructures distantes Mutualisation des ressources par les entreprises Ressources : Matériel ; bibliothèques ; applications Architecture générale : 20 / 32
Cloud computing : IaaS IaaS :Infrastructure as a Service infrastructure matérielle louée à la demande (serveurs physiques, espace de stockage, ressources réseaux (bande passante), mémoire Flexibilité de la manipulation des ressources louées Quelques plateformes de IaaS Amazon EC2 (Elastic Compute Cloud) : service de ressources matérielles d Amazon Amazon S3 : service de stockage d Amazon IBM SmartCloud enterprise 21 / 32
Cloud computing : PaaS PaaS : Plateform as a Service Construits sur les IaaS Couche de services pour le déploiement et l exécution des applications dans le cloud. Environnement d exécution : Java, php, Python, Ruby, etc. SGBD : SQL, nosql Outils de test Outils de monitoring Quelques plateformes de PaaS Heroku (construite sur les services IaaS d Amazon) Google App Engine (Java et Python) Microsoft Azure (pour du.net) 22 / 32
Cloud computing : SaaS SaaS : Software-as-a-Service Ressources accessibles à distance comme des services à la demande Ressources : infrastructure de calcul + applications Requêtes des usagers ou clients : données + applications sollicitées Quelques plateformes de SaaS OVH : hébergeur de sites web (près de 120 000 serveurs) Basecamp : outil Web de gestion de projets Salesforec.com (solutions en gestion des relations clients) Zoho ; Heroku ; Microsoft Azure ; etc. 23 / 32
Internet Système distribué à très grande échelle Ressources : ordinateurs de particuliers et de réseaux de grandes organisations Agrégation des micro-périodes d inactivités des millions de ressources temps considérable Projets qui exploitent les ressources d Internet : Desktop Computing SETI@home Einstein@home Folding@home XtremWeb 24 / 32
Synthèse - PC standanrd de plus en plus multiprocesseurs multicoeurs - Forte croissance du dév. d environnements de calcul distribué De nouveaux défis Développer des algorithmes efficaces pour ces environnements Comment utiliser efficacement des resources libres des intranets Comment assurer effecicament la taulérance aux fautes comment placer efficacement les tâches sur ces environnements Comment assurer la disponibilité, la fiabilité, la maitenabilité de tels environnements Autant d ouvertures pour la recherche 25 / 32
Gestionnaire d une grappe de calcul Gestionnaire des PCs : Système d exploitation Et sur la grappe de calcul? 26 / 32
Gestionnaire d une grappe de calcul Et sur la grappe de calcul? Gestionnaire de ressouces ou Batch Scheduler Architecture : Middleware client/serveur 27 / 32
Gestionnaire d une grappe de calcul Gestionnaire de ressouces : Quelques fonctionalités Gére les logging d accès à la grappe Gère l ordonnancement des réservations Gére l attribution des ressources aux tâches suivant une politique préétablie Assure le suivi de l exécution des tâches (Suspension/reprise/arrêt) Gère les dépendances entre tâches (workflow) Surveille l état des ressources 28 / 32
Quelques gestionnaires de grappes Existent en grand-nombre : Condor (académique) Sun Grid Engine (SGE) MAUI/Torque Slurm (pour les gros systèmes) OAR (LIG/INRIA) LSF (Platform) PBS Pro Moab Autres : BQS, Lava, Loadleveler, CCS... 29 / 32
Construction d une grappe de calcul 30 / 32
Construction d une grappe de calcul 30 / 32
Construction d une grappe de calcul 30 / 32
Exemples de requêtes sous OAR Soumission pour tâche interactive : oarsub -l nodes=4 -i Soumission en batch (mode passif) oarsub -q default -l walltime=2 :00,nodes=10 mon-script Soumission d une réservation : oarsub -r 2012-12-04 11 :00 -l nodes=12 Connection à une réservation (utilise le numéro de tâche) : oarsub -C 367 31 / 32
Merci pour votre attention! 32 / 32