La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Présentation Générale Pierre Lombard BRGM - Juillet 2007 Mise à jour : 2007-07-04 13:30.

Présentations similaires


Présentation au sujet: "Présentation Générale Pierre Lombard BRGM - Juillet 2007 Mise à jour : 2007-07-04 13:30."— Transcription de la présentation:

1 Présentation Générale Pierre Lombard pl@icatis.com BRGM - Juillet 2007 Mise à jour : 2007-07-04 13:30

2 2 Contenu ComputeMode : environnement Linux OAR : Gestionnaire de tâches Présentation rapide Intégration avec CM CIGRI : Gestionnaire de campagne Présentation rapide Intégration avec CM Footprint COMPUTEMODE OAR CIGRI FOOTPRINT

3 3

4 4 CM : Buts Fournir un cluster Linux d'appoint pour gérer les pics de charge Récupérer les cycles CPU des machines inutilisées dans un intranet Projet IGGI : 2005-2006 Projet Footprint : 2006+

5 5 CM : Moyens Déploiement temporaire d'un Linux de "calcul" sur postes "Windows" Utilisation d'un Linux dédié pour le calcul calcul Reboot & boot diskless (PXE) Utilisation de virtualisation

6 6 CM : Intérêts Environnement Linux HPC homogène (soft) Légèreté : Ajout de client rapide Pas de déploiement Administration centralisée Réutilisation de protocoles standards Cloisonnement : Utilisation courante : Windows (ou autre) Calcul : Linux

7 7 CM : Limitations Modèle clusters légers => classe d'applis Réseau : non dédié (100Mb/s a 1Gb/s) Bande passante : contention Latence : non garantie => E/S limitées Interruptions possibles par les utilisateurs : => grain à adapter (< 1h) / checkpointing CPU plus lent et moins de RAM... à relativiser

8 8 CM : Schéma de principe Serveur ComputeMode Machines du réseau Windows Soumission de travaux (OAR, CIGRI) Cluster dédié Utilisateur "cluster" Administrateur Utilisateurs

9 9 CM : ComputeMode = ? ComputeMode : intégration de plusieurs logiciels SGBD (Postgres) et front-ends Interface web admin & utilisateurs Interface "raw" (maintenance & monitoring) Images Linux de boot réseau (initrd) Image d'OS Serveur TFTPD avec mode CGI Configuration DHCP (ISC DHCPD), PXE (pxelinux / syslinux), DNS (ISC Bind 9.x),...

10 10 CM : Fonctionnement normal Machine éteinte Wake-on-LAN BIOS essaie de booter avec PXE BIOS demande pxelinux (TFTP) pxelinux demande configuration (TFTP) Serveur CM génère fichier à la volée L'utilisateur allume sa machine Démarrage sur le disque local Démarrage réseau en ComputeMode Enregistrement dans OAR Machine disponible pour l'utilisateur Machine disponible pour les calculs

11 11 CM pour un utilisateur Machine éteinte : Reçoit paquet W-o-L Réveil avec boot PXE Rejoint mode calcul À la fin de la période, reboot local, extinction,... Possibilité d'utiliser d'autres méthodes pour faire le reboot : virtualisation, screensavers, etc.

12 12 CM pour un utilisateur Cluster Peut se logger sur le Serveur ComputeMode (SSH) ~ frontal de cluster ne "voit" pas les machines normales possibilité de se logger sur les machines enregistrées environnement Linux homogène standard home NFS Utilisation d'un gestionnaire de jobs

13 13 CM pour un administrateur SGBD Postgre s CM-TFTPD front-end web (admins / utilisateurs) back-end web (scripts) DHCP / PXE Boot Mode CM NFSD (+NIS) Serveur ComputeMode Machine d'un utilisateur 5'5' 2 3 1 4 5

14 14 CM : Ajout d'une machine... 1 / 2 Ajout d'une machine dans la base CM adresse MAC, réglages de propriétés (W-o-L) Choix d'un emploi du temps (schedule) via le frontal web : OS = f(t)

15 15 CM : Ajout d'une machine... 2 / 2 Exemple : schedule 'Soir et week-end'

16 16 CM : Interface web (WebAdmin) Liste de machines Par adresse MAC Wake-On-Lan activé ou non Gestions de labels (personnalisables) sur les machines: exemple: ING07, BUR07,... 2 labels système: Quarantine Unconfigured

17 17 CM : WebAdmin : Quarantaine Label système 'Quarantine' But : permettre à l'utilisateur de faire sortir sa machine du cluster définitivement Une machine avec ce label, n'est plus considérée pour les réveils et bootera toujours en local.

18 18 CM : WebAdmin : Unconfigured Label système 'Unconfigured' Lorsqu'une machine boote en PXE, elle est automatiquement ajoutée dans la liste des machines. Elle duplique la configuration de la machine avec l'adresse MAC '00-00-00-00-00-00' (default) Label retiré lorsque la configuration de la machine est éditée

19 19 CM : Sur le réseau 1 / 2 Utilisation de réseaux disjoints : BRGM : privé classe A = 10.0.0.0/8 CM : privé classe B = 172.28.0.0/16 Par défaut, pas de routage depuis et vers le réseau BRGM Serveur DHCP CM écoute sur le réseau et ne répond qu'aux requêtes estampillées "PXE" Si l'adresse MAC n'est pas connue, la machine est ajoutée dans la base avec un profil par défaut Utilisation d'une option DHCP (bit "CM") pour ne pas interférer avec le trafic DHCP normal

20 20 CM : Sur le réseau 2 / 2 Utilisation d'un domaine DNS disjoint géré par le serveur CM : BRGM : cltNNNN.brgm.fr CM : cltNNNN.computemode.local (voire : u_.computemode.local dans certains cas)

21 21 CM : Monitoring Réseau (MRTG) Utilisation réseau Configuration : /etc/mrtg.cfg

22 22 CM : Monitoring CPU du Serveur Lit régulièrement /proc/cpuinfo Tracé par GNUplot

23 23 COMPUTEMODE OAR CIGRI FOOTPRINT

24 24 OAR : Principes serveur OAR cluster oarsub Gestionnaire de jobs (PBS, LSF,...) Système d'allocation de ressources, planification d'exécution de tâches

25 25 OAR : Principes Une ressource = 1 machine (OAR1) Notion plus évoluée de ressource dans OAR2 (CPU/mémoire/core/...) OAR est non "coercitif" (coopératif) : OAR n'interdit pas de se logger sur des noeuds alloués à un autre utilisateur Note : si besoin, cela doit être fait par des scripts séparés

26 26 OAR : Historique Gestionnaire de jobs, avec un SGBD, ouvert & extensible (licence GPL) Version 1 : 2003- 2006: 1.6.X Utilise MySQL, sudo, OpenSSH, noyau en perl, utilise SUDO Version 2 : 2006-+ Ré-écriture car limitations (architectures NUMA avec cpuset, polices de scheduling, etc) Support Postgres ajouté, perl + Ruby Utilisé dans le projet Grid5000

27 27 OAR : Fonctionnalités Jobs en mode batch "Je soumets et je m'en vais, les jobs passeront quand ils pourront." Ex : un calcul à faire pour le lendemain Jobs interactifs "Je soumets et je reste devant mon clavier." Plutôt pour tester / débugger une appli sur l'architecture

28 28 OAR : Spécificités Pas de démon OAR sur les noeuds de calcul Gestion de scripts : prologue : avant le lancement du script utilisateur épilogue : après le lancement du script utilisateur Gestion de 'walltime' : Durée maximale au bout de laquelle un job est tué Supporte l'apparition et la disparition de noeuds pendant l'exécution

29 29 OAR : Quelques commandes... Pages man 1 pour ces commandes Soumettre un job : oarsub Ex : obtenir 1 noeud interactif : oarsub -I soumettre un job : $ cat > helloworld.sh <<EOF | création #! /bin/sh | d'un echo "Hello world" | script EOF | test $chmod +x helloworld.sh | $oarsub helloworld.sh IdJob=123456 Résultats dans : OAR.helloworld.sh.123456.{stderr,stdout}

30 30 Annuler un job : oardel oardel 123456 : supprime le job 123456 Voir l'état d'un job : oarstat oarstat : liste les jobs en cours par défaut Voir l'état des noeuds : oarnodes oarnodes : propriétés et état des noeuds oarnodes -l : tous les noeuds connus

31 31 OAR : Monitoring Commandes natives (ligne de commande) : oarstat oarnodes Monika (web) : Visualisation rapide de l'état des noeuds d'un cluster (en marche, libre, éteint, occupés) GANTT (web) : Visualisation des tâches

32 32 OAR : Monitoring : Monika CGI en PERL Supporte autres jobs managers

33 33 OAR : Monitoring : GANTT Uniquement OAR Écrit en PERL

34 34 Liens entre &

35 35 CM+OAR : Liens 1/2 OAR 1.6.x livré avec l'installation de CM OAR appelle une page CM pour enregistrer les machines Quelques propriétés OAR mises automatiquement au boot d'une machine NBCPU : nombres de CPU CPU : vitesse RAM : quantité de mémoire Propriétés OAR affichées dans propriétés des noeus (lecture seulement)

36 36 CM+OAR : Liens 2/2 Labels CM / propriétés OAR Export des labels vers OAR Principe légèrement différents mais correspondance "Le noeud N a le label test" "Le noeud N a la propriété 'CM_test' à 1" Possibilité de désynchronisation des labels / propriétés si les modifications ne sont pas faites depuis l'interface CM-WebAdmin

37 37 COMPUTEMODE OAR CIGRI FOOTPRINT

38 38 CIGRI : ? CIGRI ? projet CIMENT Calcul Intensif Modélisation Expérimentations Numériques et Technologiques calcul à Grenoble – depuis 1998 – INRIA/IMAG/LIG grille : ~750 CPU's hétérogènes sur ~10 clusters (dont 1 cluster ComputeMode de 100 CPU ComputeMode à l'UFRIMA) Gestionnaire de jobs paramétriques 1 même application beaucoup de paramètres différents en entrée

39 39 CIGRI : Principe Image : LIG

40 40 CIGRI : Grille "Légère" Limiter les problèmes liés aux grilles Règles d'administration communes Pas d'entité malveillante : SSH suffisant Plus léger que GLOBUS Campagne: nombreux (>100 000) petits jobs Jobs indépendants (non communicants)

41 41 CIGRI : En Pratique... 1 / 2 Serveur CIGRI = Linux + logiciels Partie back-end : SGBD SQL (MySQL) perl : coeur de CIGRI (demons) Ruby (langage de script) pour certaines parties client SSH (OpenSSH), sudo Partie front-end : web utilisateurs & administrateurs (PHP+SMARTY) ligne de commande (perl)

42 42 CIGRI : En Pratique... 2 / 2 L'utilisateur doit : Installer son application sur chaque cluster Écrire un fichier de configuration décrivant : Les paramètres d'entrée à utiliser L'application à exécuter CIGRI se charge alors de : Soumettre les tâches aux différents clusters Re-soumettre les tâches en erreurs

43 43 Footprint (du point de vue informatique) COMPUTEMODE OAR CIGRI FOOTPRINT

44 44 Footprint 2 applications à la base : MACRO : Dos 6.x (à la base mais portage Linux natif en cours) PRZM : Windows 3.x Calculs rapides (~15s) mais beaucoup de calculs : Mise en place d'environnements d'exécutions sur Linux (x86) Support d'un mode paramétrique Lancement comme campagne CIGRI

45 45 Chaîne de traitement cigri_launch.sh launch_przm.sh sns.pl igor.v ar igor.s ns foo.cigri ins.pl igor.ins instantiate_template.pl CIGRI OAR wine WINPRZM.EXE merge.pligor.out igor.tpl foo.metacigri cigri_to_metacigri. sh meta_cigri_launch.sh Juillet 2007 - pl

46 46 Conclusion Plusieurs couches réseau & logicielles Actuellement, mode natif avec reboot PXE Modes "virtuels" (VMware player) Modes avec screensavers Plan des autres présentations : BD : MySQL, PG, CM, OAR, Cigri,... Système : boot PXE, images, correction des erreurs,...

47 47 Questions ?

48 48 Crédits / Contacts Les informations sur OAR et CIGRI viennent de présentations réalisées par : Bruno Bzeznik (LIG) – mainteneur actuel de OAR & CIGRI Nicolas Capit (LIG) – mainteneur précédent Plus d'informations : https://ciment.ujf-grenoble.fr/docs/


Télécharger ppt "Présentation Générale Pierre Lombard BRGM - Juillet 2007 Mise à jour : 2007-07-04 13:30."

Présentations similaires


Annonces Google