Centre de calcul de l ub, Formation batch SGE Didier Rebeix, Antoine Migeon ccub@u-bourgogne.fr 2010/2011
Le Centre de Calcul de l ub (ccub) Dédié à l enseignement et à la recherche. Met à disposition des étudiants et des chercheurs des ressources informatiques pour le calcul numérique intensif : Cluster linux Espaces de stockage Sauvegardes Logiciels scientifiques Compilateurs et bibliothèques Géré par une équipe de 5 personnes + 2 consultants scientifiques. Nous contacter : ccub@u-bourgogne.fr Plus d infos : http://www.u-bourgogne.fr/dsi-ccub 2
Les ressources informatiques Espaces de stockage, sauvegardes Logiciels scientifiques Compilateurs et bibliothèques Cluster linux 3
Espaces de stockages /user1/$group/$user Faible volumétrie (2,8To total, quotas par groupe) Longue durée Sécurisé (RAID) Sauvegardé (3 ans) 4
Espaces de stockages /archive/$group/$user Grande volumétrie (28To total, bientôt 120To) Longue durée Sécurisé (RAID) Non sauvegardé (bientôt dupliqué sur bande) 5
Espaces de stockages /work/$group/$user Volumétrie moyenne (40To total) Faible durée (réservé à l exécution des travaux) Très performant Sécurisé (RAID) Non sauvegardé 6
Logiciels scientifiques Chimie-Physique : méthode ab initio Matlab, traitement du signal, traitement d'images Éléments finis Calcul formel Génomique Climatologie Outils graphiques Analyse de données Bureautique 7
Chimie-Physique : méthode ab initio Gaussian et GaussView Jaguar Vasp Gamess Gromacs 8
Matlab, traitement du signal, traitement d'images Matlab et Simulink Toolboxes matlab : control system signal processing optimization neural networks image processing Statistics Maple (extended symbolic toolbox) Wavelet partial differential equation Spline eeglab. 9
Matlab, traitement du signal, traitement d'images Scilab Octave Xv Gimp Netpbm Convertim Spectra 10
Elements finis Castem Forge Comsol 11
Calcul formel Mathematica Maple Reduce OpenAxiom Sage Mupad GAP 12
Génomique Phrap Phred consed 13
Climatologie WRF Netcdf/Nco Ncar/ncl PyClimate Climatologie 14
Outils graphiques gnuplot pgplot ploticus xpaint gimp xfig ferret amira ovito xnview VMD xmgrace grads 15
Analyse de données Sas R-project Matlab + Statistical toolbox 16
Bureautique LaTex Lyx Openoffice 17
Compilateurs et bibliothèques fortran 77, fortran 90 et extensions pour le parallélisme, Portland et GNU (OpenMP, MPI) Langages c et c++ et extensions pour le parallélisme. Langage java. Langage python. ada : compilateur du domaine public (GNU). prolog : interpréteur du domaine public (SWI-Prolog Amsterdam). Bibliothèques scientifiques : gsl, acml, cernlib, matlab, blas, FFT.. 18
Le cluster linux 19
Le cluster linux 139 serveurs calcul 3 serveurs stockage 933 cores (coeurs) 2,6 To de RAM 160 To d espace disque Interconnections réseaux : 1Gbit/s Ethernet, 10Gbit/s Ethernet 10Gbit/s Infiniband, 40Gbit/s Infiniband 9 Teraflop/s crête estimés (~30Gflop/s pour un PC) 40 Kwatt d'électricité, + les climatisations 20
SGE (Sun Grid Engine) Le cluster se compose de 2 grands types de machines : Machines interactives Machines batch 21
Machines interactives Krenek01-krenek08 8 cores (2.66 GHz) 8, 16 ou 24 Go RAM Connexion directe Ssh : ssh $USER@krenek20xx.u-bourgogne.fr XDMCP : X query krenek20xx.u-bourgogne.fr Pas de répartition de charge automatique Convient pour : Travail interactif direct : openoffice, matlab jvm, graphisme Développement des codes, tests Soumission des jobs batchs 22
Machines batch Webern00-webern61 2, 4 ou 8 cores 1Go/core RAM (sauf big memory 54 et 61) Hauer000-hauer055 8 cores 3Go/core RAM (24Go) Interconnexion Infiniband 10Gbit/s (parallélisme) part000-part023 (projet bio physique) 12 cores 4Go/core RAM (48Go) Interconnexion Infiniband 40Gbit/s (parallélisme) Pas de connexion directe Gérées par SGE 23
SGE (Sun Grid Engine) Répartit sur les machines batch les jobs soumis à partir des machines interactives. Répartition équitable des ressources (processeur) entre les utilisateurs. (+arbitrage manuel fait par l équipe du ccub) Gestion des files d attentes Travail en mode déconnecté Notifications par mails (ex : fin d exécution) Management des jobs (soumission, suivi, kill, suspend, restart, ) Statistiques 24
Les modèles de programmation Séquentiel 1 job, 1 processus, 1 core consommé Parallèle 1 job, N processus, N cores, X serveurs (N>1 et X>=1) 2 type de programmation parallèle : Mémoire partagée Mémoire distribuée 25
Mémoire partagée SMP : Shared Memory Processing 1 job, N processus, 1 serveur Utilise uniquement la mémoire et les cores locaux du serveur Ex : OpenMP, gaussian, Pas besoin de réseau d interconnexion machine rapide 26
Mémoire distribuée DMP : Distributed Memory Processing 1 job, N processus, X serveurs Utilise la mémoire et les cores de X serveurs Ex : MPI, WRF, Vasp, Nécessite un réseau d interconnexion machine rapide (Infiniband 10Gbit/s, faible latence) pour obtenir de bonnes performances. 27
Les files d attentes Séquentielles : seq (159 cores) file séquentielle générique (convient dans la plupart des cas). Limitée à 48 cores/user seqbm (4 cores) Big Memory : pour les jobs séquentiels qui ont besoin de beaucoup de mémoire (>2Go). Limitée à 1 core/user s03h (18 cores) : file prioritaire pour les jobs séquentiels courts : < 3 heures d exécution (temps CPU) Limitée à 14 cores/user 28
Les files d attentes Parallèle : par2 (448 cores) : Dédiée aux jobs parallèles SMP et (surtout) DMP. Limitée à 64 cores/user parbp (288) : Dédiée au projet bio physique 29
Soumission d un job Séquentiel qsub q seq mon_script qsub q seqbm mon_script qsub q s03h mon_script 30
Soumission d un job Parallèle : SMP : qsub q par2 pe smp NCPU mon_script qsub q seq pe smp NCPU mon_script DMP qsub q par2 pe dmp NCPU mon_script 31
Soumission d un job qsub mon_script mon_script : #!/bin/bash #$ -q par2 -pe dmp 64 #$ -M antoine.migeon@u-bourgogne.fr mpiib mon_programme mon_jeu_de_donnée
Suivi des jobs Lister ses job : qstat Lister tous les jobs qstat u * Obtenir les infos sur un job particulier qstat j jobid Supprimer un job qdel jobid 33
Etats des jobs Rr : running r : running qw : queue wait, pas de place actuellement pour le job Rq : limite de core atteinte. 34
Etat du cluster qhost https://krenek2000.u-bourgogne.fr/clustermap 35
Documentation man sge man qsub man qstat http://www.u-bourgogne.fr/dsi-ccub Connexion aux machines du ccub : http://www.u-bourgogne.fr/dsi-ccub/spip.php?article142 36