Table des Matières

Publicité

Liens rapides

Bull NovaScale
HPC Linux
Guide d'installation
Linux
ORDER REFERENCE
86 F2 31EG 02

Publicité

Table des Matières
loading

Sommaire des Matières pour Bull NovaScale

  • Page 1 Bull NovaScale HPC Linux Guide d’installation Linux ORDER REFERENCE 86 F2 31EG 02...
  • Page 3 Bull NovaScale HPC Linux Guide d’installation Linux Logiciel Juillet 2003 BULL CEDOC 357 AVENUE PATTON B.P.20845 49008 ANGERS CEDEX 01 FRANCE ORDER REFERENCE 86 F2 31EG 02...
  • Page 4: Marques Déposées

    425 et suivants du code pénal. Ce document est fourni à titre d’information seulement. Il n’engage pas la responsabilité de Bull S.A. en cas de dommages résultant de son apllication. Des corrections ou modifications du contenu de ce document peuvent...
  • Page 5: Table Des Matières

    Table des matières CHAPITRE 1. NOTIONS GÉNÉRALES SUR LINUX HPC ............1-1 HPC (H ) .................1-1 ERFORMANCE OMPUTING 1.1.1 Définition de HPC........................1-1 1.1.2 Utilisation du HPC.......................1-1 LINUX............................1-1 1.2.1 Définition ..........................1-1 1.2.2 La petite histoire….......................1-2 1.2.3 LINUX et HPC ........................1-2 HPC ...........................1-4 LUSTER 1.3.1 Qu’est-ce qu’un cluster ? .....................1-4...
  • Page 6 ’ RÉPARATION DE L ENVIRONNEMENT DE DÉVELOPPEMENT POUR UNE INSTALLATION ...............................4-5 MANUELLE CD B ....4-7 NSTALLATION MANUELLE DES COMPOSANTS LOGICIELS QUI SONT SUR LE .......................4-8 OMPILATEURS NTEL MPICH 1.2.5...........................4-12 ....................4-15 IBRAIRIES MATHÉMATIQUES 4.8.1 Libmkl ..........................4-15 4.8.2 FFTW ..........................4-17 4.8.3 PETSC..........................4-18 HPL............................4-23 4.10 LAM_MPI 6.5.9 ........................4-30...
  • Page 7: But Du Document

    Le chapitre 3 décrit l’installation d’un cluster. • Le chapitre 4 décrit l’installation de composants logiciels à partir du CD fourni par Bull ou à partir des sites des fournisseurs sur NovaScale 4040, NovaScale 5080 et NovaScale 5160. • Le chapitre 5 décrit la désinstallation des logiciels Intel soumis à licences.
  • Page 8 Guide d’installation des logiciels HPC...
  • Page 9: Chapitre 1. Notions Générales Sur Linux Hpc

    Chapitre 1. Notions générales sur Linux HPC HPC (High Performance Computing) 1.1.1 Définition de HPC C’est ce qu’on appelle en français le calcul de haute performance. Ce terme définit les grosses applications scientifiques nécessitant une grande puissance de calcul, une grande précision des résultats et pouvant utiliser de très grandes quantités de données.
  • Page 10: La Petite Histoire

    1.2.2 La petite histoire… Linux est un système d’exploitation conçu par Linus Torvalds, un étudiant finlandais. Le commencement de l’écriture du noyau eu lieu en 1991. La règle de base qui a prévalu tout au long de sa réalisation voulait que la licence soit ouverte.
  • Page 11 grandes entreprises emboîtent actuellement le pas des développeurs indépendants et proposent à leur tour des logiciels de qualité professionnelle en Open Source. Voici quelques uns des principes de l’Open Source et de la licence GPL : • Libre utilisation • Libre redistribution •...
  • Page 12: Cluster Hpc

    Cluster HPC 1.3.1 Qu’est-ce qu’un cluster ? Un cluster est un ensemble de machines (appelée nœuds) connectées entre elles dans le but de remplir une fonction. Chaque nœud peut être monoprocesseur ou multiprocesseur SMP (multitraitement symétrique), les processeurs se partageant dans ce cas la mémoire et les disques. 1.3.2 Les grands types de cluster Cluster scientifique (HPC) : Le calcul est divisé...
  • Page 13: Linux Hpc Et Bull

    CPUs, bande passante IO et de support pour la programmation parallèle. C’est pourquoi Bull le propose sur ces plates-formes SMP Itanium-2 4 voies (NovaScale 4040), 8 voies (NovaScale 5080) et 16 voies (NovaScale 5160) ainsi que sur des configurations « cluster » interconnectant des NovaScale 4040 pour accroître la capacité CPU.
  • Page 14 Guide d’installation des logiciels HPC...
  • Page 15: Chapitre 2. Description De L'environnement Logiciel Linux Hpc

    Introduction Dans ce chapître est décrit un ensemble de logiciels constituant un environnement logiciel HPC pouvant être utilisé sur machines Bull. Sauf les logiciels dont le nom est souligné (qui sont des logiciels spécifiques clusters), l’ensemble des logiciels cités ci-dessous peut être utilisé sur une machine seule ou sur un cluster.
  • Page 16: Composants Logiciels Hpc

    Composants logiciels HPC Open Source Produit commercialisé Blas, pblas, blacs, lapack, Libmkl (Intel), NAG Bibliothèques scientifiques scalapack, fftw, atlas Mpich, Lam-mpi Librairies ScaMpi parallèles Autres OpenMP Compilateurs (C, C++, Fortran) Intel, NAG Répartition de OpenPBS, Maui, LSF, PBSPRO tâches Exploitation ScaOPBS Debogueurs Gdb, dbx...
  • Page 17: Les Compilateurs

    Parallel Instruction set Computing) qui permet l’exécution de plusieurs instructions en parallèle. Le parallélisme doit donc être détecté et exploité au niveau du compilateur. Pour ces raisons, Bull propose les compilateurs (C/C++ et Fortran) d’Intel dont les équipes disposent de toutes les compétences et les connaissances sur l’architecture pour fournir des produits performants.
  • Page 18: Compilateurs Gnu

    • Optimisation du pipeline logiciel Ce compilateur est conforme au standard ISO Fortran 95. Il offre également une compatibilité avec les produits GNU : les outils emacs et gbd peuvent être utilisés avec ce compilateur. Il supporte aussi les fichiers codés en big endian. Enfin, ce compilateur permet le développement d’applications mixant des programmes écrits dans les langages C et Fortran.
  • Page 19 BLACS = Basic Linear Algebra Communication Subprograms Blacs est une bibliothèque de communications spécialisées (par passage de messages). Elle permet, après avoir défini une grille de processus, d’échanger des vecteurs ou matrices, des blocs... Elle peut être compilée au dessus de MPI ou de PVM.
  • Page 20: Les Applications Parallèles

    Interdépendance entre les différentes librairies mathématiques standards Les routines des composantes locales sont appelées par un seul processus avec des arguments résidant en mémoire locale. Les routines des composantes globales sont synchrones et parallèles. Elles sont appelées avec des arguments qui sont des matrices ou des vecteurs distribués sur l’ensemble des processus.
  • Page 21 MPI = Message Passing Interface MPI repose sur le concept d’échange de messages. C’est une tentative de normalisation des bibliothèques de communication par passage de messages. C’est un standard qui possède à l'heure actuelle deux versions de ses spécifications : MPI-1 et MPI-2. La seconde version ajoute des directives pour les entrées/sorties parallèles (MPI-IO), l'interface C++ et le débogage parallèle.
  • Page 22 PVM = Parallel Virtual Machine www.csm.ornl.gov/pvm/pvm_home.html PVM est un logiciel, développé à Oak Ridge National Laboratory, qui permet d'utiliser un ensemble de stations de travail Unix reliées par un réseau comme une machine parallèle. PVM permet d'utiliser un ensemble de stations de travail Unix reliées par un réseau comme une machine parallèle.
  • Page 23: Les Systèmes De Fichiers

    Pour architecture parallèle à mémoire partagée OpenMP = Open Multi Processing www.openmp.org Défini par un groupe des plus importants fabricants de logiciels et matériels informatiques, OpenMP est une " interface de programmation " portable qui permet de faciliter le développement des applications parallèles pour machines à mémoire partagée.
  • Page 24: Les Systèmes De Fichiers Locaux

    Il y a aussi au-dessus de ces deux types de systèmes de fichiers, les systèmes de fichiers parallèlles qui répartissent les fichiers sur plusieurs disques parallèlisant ainsi l’accès à différentes parties du fichier. Les systèmes de fichiers locaux On peut séparer ces files systems en 2 groupes : les journalisés et les non journalisés.
  • Page 25: Les Systèmes De Fichiers Distribués

    Les systèmes de fichiers distribués Le calcul scientifique nécessite assez souvent d'avoir accès à des fichiers de données importants. Dès lors, le temps moyen d'accès au fichier va beaucoup influencer la vitesse d'exécution du programme. L'idéal serait d'avoir un programme s'exécutant sur une machine unique doté d'un disque dur à haute performance.
  • Page 26 Schéma montrant les Compute Nodes et les Storage Nodes Schéma montrant les accès pour les méta data de localisation des données, et les flux de data. Il montre le processus d’initialisation des transferts, suivi des transferts sans interférence avec le manager. Ce mécanisme permet d’obtenir de bonnes performances.
  • Page 27: Les Outils D'administration Système

    2.2.5 Les outils d’administration système Ce type d’outil est nécessaire même pour des machines qui ne sont pas en cluster. Ils servent par exemple au bon fonctionnement des machines, à la configuration des réseaux, à la gestion des utilisateurs … 2.2.5.1 Webmin Webmin possède une interface Web à...
  • Page 28: Caractéristiques Techniques

    Le démon Nagios de monitoring teste de façon intermittente des hôtes (serveurs) et des services tels que vous les avez définis, grâce à des ‘plugins’ externes. Ces plugins sont des programmes externes. Ces’ plugins’ renvoient des informations dites de ‘status’ à Nagios. Quand survient un problème, le démon peut aussi envoyer des notifications (alertes) à...
  • Page 29 Interface Web permettant d’accéder à la documentation sur Nagios (en anglais). Interface Web permettant de visualiser le statut courant du réseau: l’historique des notifications et problèmes, les fichiers logs Possibilité de prendre connaissance des problèmes via l’interface Web. Schéma d’architecture d’autorisations simple, vous permettant de définir les utilisateurs qui pourront voir et modifier des éléments grâce à...
  • Page 30: Les Plugins

    2.2.5.5 Les Plugins 2.2.5.5.1 Principe Introduction Nagios ne dispose pas de mécanisme interne pour vérifier l'état d'un service, d'un hôte, etc. Il utilise des programmes externes (appelés plugins) pour exécuter les tâches d’exécution. Nagios exécutera ainsi un plugin dès qu'il aura besoin de tester un service ou un hôte qui est supervisé.
  • Page 31 Par exemple, si vous voulez savoir comment fonctionne le plugin check_http ou quels paramètres il accepte, vous devez essayer : soit : ./check_httpd --help soit : ./check_httpd --h Exemples de définition de commandes pour des services La distribution principale des plugins comprend un fichier de configuration (appelé...
  • Page 32: Les Outils D'administration Cluster

    2.2.6 Les outils d’administration cluster Les outils de contrôle et de monitoring De façon générale, ce genre d’outil a pour but de surveiller l’activité du cluster et son bon fonctionnement. Ils n’augmentent pas directement les possibilités des machines mais en facilitent la gestion. Voici ce que peut indiquer un outil de monitoring ou de contrôle : Est-ce qu’un nœud du cluster ne fonctionne pas ? Encombrement du réseau...
  • Page 33: Les Outils Permettant De Lancer Une Même Commande Sur Plusieurs Nœuds

    Exemple de sortie donnée par la commande top Les outils permettant de lancer une même commande sur plusieurs nœuds Ce qu’on appelle un shell distribué est indispensable pour l’utilisation d’un cluster. En effet, il y a toujours des instructions que l’on souhaite effectuer sur différents nœuds du cluster sans avoir pour autant besoin de le faire manuellement sur chacun des noeuds.
  • Page 34: Les Outils De Déploiement

    Le module ka-run de ce composant permet de lancer une commande sur les machines souhaitées. Gexec : Gexec propose la même fonctionnalité. C3 = Cluster Command and Control : C3 implémente un certain nombre de commandes pour aider à l’administration du cluster.
  • Page 35: Quel Outil Dans Quel Cas

    Le suivi de ces événements est particulièrement utile dans le cas de programmes importants comme des compilateurs, des benchmarks, ou de la modélisation de performance. 2.2.7.2 Quel outil dans quel cas ? 2.2.7.2.1 Dans le monde de l’open Source Toute une hiérarchie d’outils est opérationnelle •...
  • Page 36: Dans Le Monde Commercial

    PAPI API : Interface http://icl.cs.utk.edu/projects/p Gestion des évènements programme intégrant la api/software/ hardware par appel à des bibliothèque de pfmon ( papi 2.3.4 fonctions spécifiques de libpfm) plus ou moins haut niveau, au choix. Permet un nombre de compteurs non limité, se place dans le code du programme aux endroits précis qui veulent être...
  • Page 37: Exemples D'utilisation Comparée D'outils De Profiling

    VAMPIR : VAMPIR est un outil graphique de profiling commercialisé par la société PALLAS. Il permet de visualiser et d’analyser les performances des codes MPI. 2.2.7.3 Exemples d’utilisation comparée d’outils de profiling 2.2.7.3.1 PFMON Pfmon est le bon outil pour obtenir rapidement un chiffre élémentaire caractérisant un programme, sans aucune programmation, par exemple le nombre d’opérations en virgule flottante du programme test2: pfmon -e FP_OPS_RETIRED test2...
  • Page 38 # kernel perfmon version: 1.3 # page size: 16384 bytes # CLK_TCK: 1024 ticks/second # CPU configured: 4 # CPU online: 4 # physical memory: 4189208576 # physical memory available: 2908225536 # host CPUs: 4-way 997MHz Itanium 2 (McKinley, B3) PAL_A: 0.7.31 PAL_B: 0.7.36 Cache levels: 3 Unique caches: 4...
  • Page 39 PMD4: L2_REFERENCES, ia32/ia64 PMD5: L2_MISSES, ia32/ia64 PMD6: L3_MISSES, ia32/ia64 PMD7: IA64_INST_RETIRED, ia32/ia64 # command: pfmon --with-header -k -u -e L2_MISSES,L2_REFERENCES,L3_MISSES,IA64_INST_RETIRED --outfile=result_pfmon/pfmon_miss_16.2081 runspec -c il420-linux-v7 --iterations=1 --tune=base -I --noreportable --rate --users 16 applu 4234016 L2_MISSES 69799519 L2_REFERENCES 527948 L3_MISSES 772924788 IA64_INST_RETIRED 2.2.7.3.2 PAPI La même chose peut être obtenue avec PAPI mais de manière beaucoup plus...
  • Page 40 #include "fpapi.h" real real_time,cpu_time, mflops integer*8 fp_ins call PAPIf_flops( real_time, cpu_time, fp_ins, mflops, ierr ) ..traitement..call PAPIf_flops(real_time,cpu_time, fp_ins, mflops, ierr) ...édition des résultats: write (6,120) real_time, cpu_time, fp_ins,mflops 120 format (//'PAPI result'/' real time (secs) :', f15.3, $ /' CPU time (secs) :',f15.3, $ /'floating point instructions:', i15, $ /'...
  • Page 41 Positionner chaque événement au type désiré ( cf fpapi.h) numevents= 2 events(1)=PAPI_FP_INS events(2)=PAPI_TOT_CYC Démarrer les compteurs et tester le compte-rendu call PAPIf_start_counters(events, numevents, ierr) if ( ierr .NE. PAPI_OK ) then call PAPIF_perror(ierr,errorstring,PAPI_MAX_STR_LEN) print *, errorstring end if Faire un début de traitement, puis lire et réinitialiser les compteurs sans les arrêter call PAPIf_read_counters(values,numevents,ierr) if ( ierr .NE.
  • Page 42 call PAPIf_library_init(ierr) Puis gérer des ensembles d'évènements qui seront utilisés de concert par: call PAPIf_create_eventset(es,ierr) Ensuite introduire des évènements dans cet ensemble par: call PAPIf_add_event( es, PAPI_TOT_CYC,, ierr ) Démarrer, lire, arrêter un ensemble call PAPIf_start(es) call PAPIf_read(es) call PAPIf_accum(es) call PAPIf_stop(es) Se reporter au user's guide de PAPI pour l'interface exact.
  • Page 43 export DISPLAY=..:0.0 ../bin/vprof –d. test2 et voilà la fenêtre obtenue, qui décline les différentes fonctions avec le pourcentage d’opérations flottantes par seconde. La commande cprof donne les mêmes informations, mais sous forme de texte ; Exemple, lors d’un autre essai du même programme: ../bin/cprof -r test2 Columns correspond to the following events: PAPI_FLOPS - Floating Point instructions per second (1145301 events)
  • Page 44 13.9% u01(void) 12.2% ref_dgemm_tt(int, int, int, double, double *, int, double *, int, double, double *, int) 11.9% randomize_matrix(int, int, int, double *, int) 11.3% ref_dgemm_nt(int, int, int, double, double *, int, double *, int, double, double *, int) Remarque : Dans certains cas , on remarque des fautes de segmentation avec PAPI sous forme de bibliothèque partagée ;...
  • Page 45 2.2.7.4 VAMPIR VAMPIR est un outil graphique de profiling commercialisé par la société PALLAS. Il permet de visualiser et d’analyser les performances des codes MPI. Après avoir créé des fichiers de traces à l’aide du logiciel VampirTrace, il suffit de lancer Vampir pour pouvoir les interpréter de façon graphique.
  • Page 46 Renseignements sur une communication MPI Ce message indique que la communication, d’une durée de 2,483 ms, a eu lieu du processus 1 vers le processus 0… 2-32 Guide d’installation des logiciels HPC...
  • Page 47 Temps passé dans les différentes activités En clair, on a le temps total passé au niveau applicatif et en foncé, le temps passé en communication MPI. Pour cet exemple, on se rend ainsi compte que le programme passe plus de temps en application qu’en communications MPI. Temps passé...
  • Page 48 Statistiques sur les échanges de messages entre les processus Ce dernier exemple de graphique met en évidence les quantités de messages échangés entre chacun des processus. Ici, on remarque que les processus ne communique que via le processus 0. Ces différents graphes donnent ainsi un aperçu des possibilités de Vampir et de l’utilisation qui peut en être faite.
  • Page 49: Les Débogueurs

    2.2.8 Les débogueurs Il existe 2 types de débogueurs : les symboliques et les non symboliques. Un débogueur symbolique permet d’accéder aux symboles d’un programme : On peut accéder aux lignes du fichier source, On peut accéder aux variables du programme par leur nom, alors qu'avec un débogueur non symbolique, on n'aurait accès qu'aux lignes du programme machine (assembleur) et aux adresses physiques.
  • Page 50: Les Outils De Répartition De Tâches

    2.2.9 Les outils de répartition de tâches Le regroupement de plusieurs machines sur un réseau ne suffit pas à la constitution d’un véritable cluster. Un logiciel assurant la gestion de l’ensemble est nécessaire à la meilleure utilisation possible de la puissance de calcul de ces nœuds indépendants.
  • Page 51 OpenPBS : http://www.openpbs.org OpenPBS est un système de gestion de travaux (ou jobs) permettant de partager au mieux les ressources de la machine selon les besoins des utilisateurs (temps CPU, nombre de processeurs, espace mémoire, etc...). Il offre des outils permettant la construction, la soumission, le traitement et le contrôle de jobs séquentiels ou parallèles.
  • Page 52 2-38 Guide d’installation des logiciels HPC...
  • Page 53: Chapitre 3. Installation D'un Cluster

    Chapitre 3. Installation d’un cluster Administration du matériel 3.1.1 Mise en route du nœud d’administration Le nœud d’administration représentant la partie visible extérieurement du cluster, sa mise en route et son administration matérielle se fait normalement à l’aide de la console lui étant directement connectée. L’opération du reste du cluster passe obligatoire par la disponibilité...
  • Page 54 Exemple pour un cluster 4 noeuds (admin, n0101, n0102, n0103): $ cat /etc/minirc.n0101 # minicom default configuration file for node N0101 pr port /dev/ttyD000 pu baudrate 115200 pu bits pu parity pu stopbits pu mautobaud pu statusline disabled pu hasdcd pu minit pu mreset $ cat /etc/minirc.n0102...
  • Page 55: Scali Ssp 3.0.1

    SCALI SSP 3.0.1 Introduction : Ce paragraphe décrit l’installation de SCALI SSP 3.0.1. Vous devez consulter le site http://www.scali.com afin de vérifier l’existence de nouvelles mises à jour. Pré-requis : • Linux déjà installé sur chaque nœud • Connexion des câbles comme indiqué dans le « SCALI system guide » . •...
  • Page 56 n0103 etc … Ø Rajouter rsh, rlogin et login dans le fichier /etc/securetty Ø Exécuter les commandes : chkconfig rsh on chkconfig rlogin on • Vérifier qu’il reste moins 200 Méga Octets de disponibles sur /opt/scali sur tous les nœuds. •...
  • Page 57 • A l’étape « Determine node categories », il est possible d’exclure certains nœuds qui ne sont pas des nœuds de calcul (par exemple des nœuds de stockage). Pour ce faire : Ø A la question « Do you accept the above configuration ? », il faut répondre «...
  • Page 58 Mise à jour des « rpm »: Ø Télécharger dans le répertoire /opt/scali/repository/Linux2.ia64 les mises à jour accessibles sur le site www.scali.com (menu : «Download->Software- >SSP3.0 updates). ü ScaMPI ü ScaSCI ü ScaSCIddk ü ScaSCIadap ü ScaSISCI ü Il faut noter que cette liste de rpm à mettre à jour peut évoluer. cd /home/scali/repository/Linux2.ia64 ### Télécharger les rpm (packages) ### Ø...
  • Page 59: Installation : 2Ème Passe

    La suite ne diffère pas de la documentation originale : make make install /opt/scali/sbin/scireload (sur chaque nœud) /opt/scali/sbin/SSPinstall 3) Installation : 2ème passe Pour la deuxième passe de l’installation, relancer l’installation : /opt/scali/sbin/SSPinstall • A l’étape « Do you want to upgarde », répondre « y » •...
  • Page 60 LD_LIBRARY_PATH=/opt/envhpc/intel/mkl/lib/64:/opt/scali/lib:$LD _LIBRARY_PATH export MANPATH=/opt/scali/man:$MANPATH Nom proposé : ENV_VAR_SCALI Un exemple de ce fichier est proposé sur ce CD « Bull ENH Open Source » dans le répertoire VARIABLES_ENVIRONNEMENT (voir ci-dessous le paragraphe « Installation Logicielle ») Le copier dans /opt/envhpc...
  • Page 61: Procédure Pour Désinstaller

    Procédure pour désinstaller: • Sur le frontal : Faire la commande : /opt/scali/sbin/SSPuninstall • Sur tous les nœuds : Supprimer le répertoire /opt/scali (sur tous les noeuds) et certains fichiers sous /tmp : rm -rf /opt/scali rm /tmp/SSP_3_0_1* SCALI SSP 3.1.0 Introduction : Ce paragraphe décrit l’installation de SCALI SSP 3.1.0.
  • Page 62 Configuration de l'Operating System comme indiqué dans le fichier OS (dans le sous-répertoire SSP_3_1_0/doc/SSP). Sur tous les nœuds du cluster : Ø Insérer tous les noms de nœuds avec leur adresse IP sur le réseau local dans le fichier /etc/hosts : <adresse IP>...
  • Page 63 L’installation du logiciel d’interconnexion SSP de SCALI nécessite plusieurs passes : Une première passe pour installer la licence, définir les nœuds (admin, n0101, n0102, n0103 etc …) et les fonctionnalités à installer (OpenPBS) ou à ne pas installer (Console Server, Power Switch Server, NIS/YP). Une phase intermédiaire de mise à...
  • Page 64 Ø « Checking OS support » • A l’étape « Are you using NIS/YP .. » répondre « n » • A l’étape « Configuring SCI network », pour un cluster 4 nœuds, choisir « 2D torus », puis donner le nombre de nœuds (2) connectés sur les anneaux de l’interface L0, puis donner le nombre de nœuds (2) connectés sur les anneaux de l’interface L1.
  • Page 65 pour un fichier version.h situé dans : /usr/src/linux/include/linux La suite ne diffère pas de la documentation originale : make make install /opt/scali/sbin/scireload (sur chaque nœud) 3) Installation : 2ème passe L’installation est très facilement vérifiée et testée par les commandes (plus aucune erreur ne doit être affichée) : export PATH=/opt/scali/bin:/opt/scali/sbin:$PATH SSPinstall -v...
  • Page 66: Configuration Du Switch 3Com Gigabit

    LD_LIBRARY_PATH=/opt/envhpc/intel/mkl/lib/64:/opt/scali/lib:$LD _LIBRARY_PATH export MANPATH=/opt/scali/man:$MANPATH Nom proposé : ENV_VAR_SCALI Un exemple de ce fichier est proposé sur ce CD « Bull Extension Pack For HPC Linux » (voir ci-dessous le paragraphe dans le répertoire VARIABLES_ENVIRONNEMENT « Installation Logicielle ») Le copier dans /opt/envhpc Procédure pour désinstaller:...
  • Page 67: Ci Dessous Le Mode Opératoire Utilisé Pour Accomplir Cette Manoeuvre D'après La Documentation Du Switch

    3.4.1 Ci dessous le mode opératoire utilisé pour accomplir cette manoeuvre d'après la documentation du switch Pour configurer le switch, il faut se connecter sur la ligne série en face avant du boitier Gigabit. Une des lignes série "minicom" (par exemple celle de n0101) a été utilisée pour cette connexion.
  • Page 68 3-16 Guide d’installation des logiciels HPC...
  • Page 69: Chapitre 4. Installation Logicielle, Lancement

    Chapitre 4. Installation logicielle, lancement Suit une aide à l’installation de logiciels Open Source à partir du CD « Bull Extension Pack for HPC Linux V2.0 June 2003 ( ref : 76 741 190-001 ) » ou directement à partir des «...
  • Page 70: Installation Du Système D'exploitation

    La distribution de base Linux installe les composants GNU (gcc, g77, gdb, pthreads…) Installation automatisée des composants logiciels qui sont sur le CD Bull Extension Pack For HPC Linux Il faut dans un premier temps, monter le CD-ROM : mount -t iso9660 /dev/cdrom /mnt/cdrom cd /mnt/cdrom Lancer le script d’installation automatique des composants Open Source :...
  • Page 71 « standalone ». Pour une installation en mode « cluster », se reporter au paragraphe « Installation manuelle des composants logiciels qui sont sur le CD Bull » Pour les autres composants, se reporter au paragraphe « Installation manuelle des composants logiciels qui sont sur le CD Bull »...
  • Page 72 Si PBS n'a pas déjà été installé, alors MAUI ne pourra pas être installé. Where did you installed your PBS release ? [/usr/local] Si PBS a été installé au préalable, donner le chemin d'installation racine. Par défaut, le script considère qu'il est installé dans /usr/local. •...
  • Page 73: Préparation De L'environnement De Développement Hpc Pour Une Installation Manuelle

    Un dernier message indique le fichier de log à vérifier pour suivre le déroulement de l'installation qui vient d'avoir lieu : You can read /tmp/bull/pvm3.log for more information Quand tous les packages ont été installés, un message indique que les installations sont terminés :...
  • Page 74 Configuration pour un cluster : L’accès au répertoire /opt/envhpc par les autres nœuds (clients) se fera par montage nfs. Un montage nfs de /home/packages_sources est aussi conseillé afin de pouvoir exécuter les différents tests d’installation Pour cela : Sur le serveur (admin) : Créer le répertoire mkdir /opt/envhpc Mettre dans /etc/exports...
  • Page 75: Cd Bull

    Installation manuelle des composants logiciels qui sont sur le CD Bull Ces composants logiciels sont livrés via le CD-ROM « Bull Extension Pack For HPC Linux » Il faut donc dans un premier temps, monter le CD-ROM : mount -t iso9660 /dev/cdrom /mnt/cdrom Ensuite créer un répertoire qui contiendra les logiciels sources :...
  • Page 76: Compilateurs Intel

    Compilateurs Intel Compilateur Fortran : Exemple d’installation du compilateur FORTRAN 7.0.0.64 avec licence l_for_03387691.lic Créer un répertoire « licenses », s’il n’existe pas déjà, à l’endroit où on va installer le compilateur intel. Par exemple, si l’on compte installer le compilateur Intel dans...
  • Page 77 Vérifier que <chemin d’installation>/compiler70/ia64/bin/efcvars.sh pointe bien vers les bons chemins puis l’exécuter : . <chemin d’installation>/compiler70/ia64/bin/efcvars.sh Le compilateur fortran est désormais disponible sous le nom de efc Test de l’installation : Exécuter la commande Le résultat suivant doit s’afficher /usr/lib/crt1.0 : In function `_start’ : /usr/lib/crt1.0(.text+0x41) : undefined reference to `main’...
  • Page 78 tar xvf l_cc_p_7.0.065.tar Installer le compilateur C/C++ sur la distribution Linux installée via la commande install : ./install Choisir « 2 » pour sélectionner l’installation sur une plateforme « Itanium®- based system » Choisir « 1 » pour installer le compilateur C/C++ itanium Après le «...
  • Page 79 Intel Debugger : Première étape : Le package permettant d’installer ce debugger est situé dans l’une ou l’autre des archives tar Fortran ou C Seconde étape : Installation Après installation du compilateur C, par exemple : Installer le debugger Intel sur la distribution Linux installée, via la commande install : ./install Choisir "...
  • Page 80 Pour quitter faire quit MPICH 1.2.5 Récupérer l’archive mpich.tar sur le site : http://www-unix.mcs.anl.gov/mpi/mpich/download.html ou encore : cd /home/packages_sources/MPICH Désarchiver le fichier : tar xvfz mpich.tar.gz cd mpich-1.2.5 Pour l’installation proprement dite, suivre les instructions du README ainsi que les fichiers du répertoire doc situé...
  • Page 81 En revanche, si l’on souhaite compiler mpich pour un cluster de machines SMP, on choisira le device ch_p4 : ./configure --prefix=<chemin d’installation> --with-device=ch_p4 -comm=shared -cc=ecc -clinker=ecc -fc=efc -flinker=efc -f90=efc -f90linker=efc où <Chemin d’installation> pourra être par exemple /opt/envhpc/mpich-1.2.5 Pour connaître la signification de chacun de ces flags, veuillez vous reporter à la documentation fournie.
  • Page 82 Note : Lorsque l’installation se fait avec le device ch_p4, il faut modifier le fichier <chemin d’installation>/mpich-1.2.5/share/machines.LINUX et y indiquer le nom des machines ainsi que le nombre de processeurs sur chacune d’elles. Par exemple : admin:4 n0101:4 n0102:4 n0103:4 Tests : On peut alors tester basiquement notre configuration cd <chemin d’installation>/mpich-1.2.5/examples...
  • Page 83: Librairies Mathématiques

    mpirun -np 16 ./pi3f90 Saisir le nombre d’intervalles, par exemple 10000, ou 0 pour sortir de l’application. IMPORTANT : à ce stade, on peut créer un fichier définissant les variables d’environnements permettant d’utiliser les outils suivants : compilateurs Intel v7.0 librairies mathématiques Intel mpich-1.2.5 Exemple :...
  • Page 84 Copier fichier licence l_mkl_xxxxxxxx.lic dans répertoire /opt/envhpc/intel/licenses Décompresser et désarchiver le fichier d’archive: tar xvf l_mkl_p_6.0.011.tar Procéder à l’installation en lançant : cd l_mkl_p_6.0.011 ./install.sh Le chemin d’accès à la licence est /opt/envhpc/intel/licenses. Le chemin d’installation à préciser est /opt/envhpc/intel Afin d’être indépendant du numéro de version de la bibliothèque, il est recommandé...
  • Page 85: Fftw

    4.8.2 FFTW Récupérer l’archive sur le site : http://www.fftw.org/ ou encore : cd /home/packages_sources/FFTW Désarchiver le fichier : tar xvfz fftw-2.1.3.tar.gz cd fftw-2.1.3 Première étape : Note : les compilateurs efc et ecc devront pour cela être dans votre variable d’environnement PATH (cf.
  • Page 86: Petsc

    ./configure --prefix=<chemin d’installation> -host=i786 --enable-mpi où <Chemin d’installation> pourra être par exemple /opt/envhpc/ fftw-2.1.3 Seconde étape : make make install (construction des outils qui utilisent la configuration précédente) On peut alors tester basiquement notre configuration en mono processeur : cd tests ./fftw_test -s 100 On peut alors tester basiquement notre configuration avec mpi cd ../mpi...
  • Page 87 Première étape : Il faut initialiser les variables suivantes export PETSC_ARCH=linux64_intel export PETSC_DIR = <chemin ou se trouve les sources>/petsc-2.1.5 export LD_LIBRARY_PATH=/opt/envhpc/intel/mkl/lib/64:$LD_LIBRARY_PATH Modification du fichier $PETSC_DIR/bmake/linux64_intel/packages Pour utiliser avec MPICH: $PETSC_DIR/bmake/linux64_intel/packages Modification du fichier BLASLAPACK_LIB = -L/opt/envhpc/intel/mkl/lib/64 -lmkl_itp -lmkl_lapack /opt/envhpc/intel/mkl/lib/64/libguide.so # Location of MPI (Message Passing Interface) software #MPI_HOME = /usr/local/vmi/mpich...
  • Page 88 # ------------------------------------------------------------------- # Locations of OPTIONAL packages. Comment out those you do not have. # ------------------------------------------------------------------- # Location of X-windows software X11_INCLUDE = X11_LIB = -L/usr/X11R6/lib -lX11 PETSC_HAVE_X11 = -DPETSC_HAVE_X11 Pour utiliser avec SCAMPI: $PETSC_DIR/bmake/linux64_intel/packages Modification du fichier BLASLAPACK_LIB = -L/opt/envhpc/intel/mkl/lib/64 -lmkl_itp -lmkl_lapack /opt/envhpc/intel/mkl/lib/64/libguide.so # Location of MPI (Message Passing Interface) software #MPI_HOME...
  • Page 89 # ------------------------------------------------------------------- # Locations of OPTIONAL packages. Comment out those you do not have. # ------------------------------------------------------------------- # Location of X-windows software X11_INCLUDE = X11_LIB = -L/usr/X11R6/lib -lX11 PETSC_HAVE_X11 = -DPETSC_HAVE_X11 $PETSC_DIR/bmake/linux64_intel/variables Modification du fichier C_CC = ecc -D_REENTRANT -I/opt/scasli/include C_CLINKER = ecc -L/opt/scali/lib -lmpi -Wl,-R/opt/scali/lib C_FLINKER...
  • Page 90 NOTE: Chaque résultat est comparé au résultat attendu par un diff. Avec SCAMPI, mpirun lance mpimon et affiche la commande mpimon lancée. Ainsi tous les tests comportent des différences avec le résultat attendu. Par exemple : ###### > /opt/scali/bin/mpimon -stdin all ex22 -da_grid_x 10 -nox -- n0101 1 Possible problem with ex22_1, diffs above ###### 4-22...
  • Page 91: Hpl

    HPL est la version Linpack HPC. Ce benchmark standard permet de mesurer de façon standardisée la scalabilité et les performances d’un cluster. Il a pour but de résoudre un système linéaire de N équations à N inconnues (Ax=B). Les matrices utilisées sont des matrices denses et le code est constitué d’opérations en calculs flottants en double précision et de communications synchrones.
  • Page 92 Dans le fichier Makefile faire la modification suivante : arch = Itanium Récupérer un exemple de Make.Arch en faisant par exemple : cp setup/Make.Linux_PII_CBLAS Make.Itanium Premier cas : vous souhaitez compiler HPL avec mpich et la libmkl Faire les modifications suivantes dans Make.Itanium : ARCH = Itanium Ajouter HOME = /opt/envhpc CC = mpicc...
  • Page 93 Pour préparer la compilation, exécuter : . /opt/envhpc/ENV_VAR_MPICH Second cas : vous souhaitez compiler HPL avec ScaMPI de SCALI et la libmkl (en étant dans une configuration cluster) Faire les modifications suivantes dans Make.Itanium ARCH = Itanium Ajouter HOME = /opt/envhpc CC = ecc –D_REENTRANT –I$(MPI_HOME)/include CCFLAGS = LINKER = efc...
  • Page 94 Pour préparer la compilation, exécuter : . /opt/envhpc/ENV_VAR_SCALI Dans les 2 cas : make clean_arch_all make : création de l’exécutable xhpl dans ./bin/Itanium cd bin/Itanium/ Modification de HPL.dat : Rechercher le fichier de paramètres donnant la performance globale du cluster la meilleure : HPL.dat Précisions : N = taille du problème à...
  • Page 95 Exemples : MPICH : HPL.dat pour une exécution de HPL sur une machine SMP 4 processeurs : HPLinpack benchmark input file Innovative Computing Laboratory, University of Tennessee HPL.out output file name (if any) device out (6=stdout,7=stderr,file) # of problems sizes (N) 10000 Ns # of NBs # of process grids (P x Q)
  • Page 96 HPLinpack benchmark input file Innovative Computing Laboratory, University of Tennessee HPL.out output file name (if any) device out (6=stdout,7=stderr,file) # of problems sizes (N) 10000 Ns # of NBs # of process grids (P x Q) 16.0 threshold # of panel fact PFACTs (0=left, 1=Crout, 2=Right) # of recursive stopping criterium NBMINs (>= 1)
  • Page 97 Sur le nœud d’administration, modifier temporairement le fichier /opt/envhpc/mpich- 1.2.5/share/machines.LINUX pour avoir un processus MPI par nœud SMP, par exemple : admin n0101 n0102 n0103 Exécution : mpirun -np 4 xhpl Résultat de l’exécution : “1 tests completed and passed residual checks” Remettre le fichier /opt/envhpc/mpich-1.2.5/share/machines.LINUX dans son état avant la modification.
  • Page 98: Lam_Mpi 6.5.9

    RFACTs (0=left, 1=Crout, 2=Right) # of broadcast BCASTs (0=1rg,1=1rM,2=2rg,3=2rM,4=Lng,5=LnM) # of lookahead depth DEPTHs (>=0) SWAP (0=bin-exch,1=long,2=mix) swapping threshold L1 in (0=transposed,1=no-transposed) form U in (0=transposed,1=no-transposed) form Equilibration (0=no,1=yes) memory alignment in double (> 0) Exécution : mpimon xhpl – admin 1 n0101 1 n0102 1 n0103 1 Résultat de l’exécution: “1 tests completed and passed residual checks”...
  • Page 99 Cependant, voici une petite aide pour compiler rapidement votre version de lam : Première étape : Note : les compilateurs efc et ecc devront pour cela être dans votre variable d’environnement PATH (cf. section « Compilateurs Intel V7.0 ») Pour utiliser LAM sur une machine SMP seule, il faut compiler LAM avec l’option «...
  • Page 100 Pour utiliser ensuite les outils LAM-MPI, il faut au préalable effectuer les opérations suivantes : export PATH=<chemin d’installation>/lam-6.5.9/bin:$PATH Dernière étape : On peut alors compiler les exemples en ajoutant dans le fichier Makefile se trouvant dans lam-6.5.9 l’option –Vaxlib au niveau du flag FFLAGS et en modifiant le fichier /home/packages_sources/LAM_MPI/lam-6.5.9/mpi2c++/contrib/test_suite/signal.cc : Remplacer la ligne : n.sa_mask= 0;...
  • Page 101 Un exemple de ce fichier est proposé dans /home/packages_sources/VARIABLES_ENVIRONNEMENT Le copier dans /opt/envhpc Pour exécuter les exemples il faut avant tout être utilisateur « non root » puis exécuter le fichier ENV_VAR_LAM. . /opt/envhpc/ENV_VAR_LAM Pour un cluster, le fichier ENV_VAR_LAM doit en plus être chargé lors du login de l’utilisateur des machines distantes.
  • Page 102: Pvm 3.4.4

    4.11 PVM 3.4.4 Aller sur le site http://www.netlib.org/pvm3/index.html et télécharger pvm3.4.4.tgz ou le récupérer sur le CD Bull Dézipper et désarchiver le fichier par : cd /opt/envhpc tar xvfz /home/packages_sources/PVM/pvm3.4.4.tgz PVM s’est installé sous le répertoire pvm3. Création des variables d’environnement.
  • Page 103 export PATH=$PVM_ROOT/lib/$PVM_ARCH:$PVM_ROOT/bin/$PVM_ARCH:$PATH Un exemple de ce fichier est proposé dans /home/packages_sources/VARIABLES_ENVIRONNEMENT Exécution des variables d’environnement : . /opt/envhpc/ENV_VAR_PVM Aller dans le répertoire /opt/envhpc/pvm3 : cd /opt/envhpc/pvm3 Pour information : Les différentes architectures proposées sont dans le sous-répertoire conf. Celle qui correspond à notre machine est LINUX64. Faire les modifications suivantes dans le fichier Makefile.aimk : CC = ecc F77 = efc...
  • Page 104: Utils D ' Analyse De Performances Et De Profiling

    Le prompt suivant doit s’afficher pvm> Pour quitter, taper : quit Il s’affiche: Console : exit handler called pvmd still running 4.12 Outils d’analyse de performances et de profiling Il y a deux types de livraison : des packages officiels sous forme de rpm des ensembles avec du source sous forme de tar zippes Les packages : libpfm-2.0-1.ia64.rpm...
  • Page 105: Pfmon

    tar xvfz /home/packages_sources/PROFILING/vprof-linux-ia64.tar.gz 4.12.1 Pfmon La documentation de cet outil se trouve sur le site : http://www.hpl.hp.com/research/linux/perfmon/pfmon.php4 Exécute par exemple, sur la commande ls : pfmon /bin/ls et on obtient : cycles.sh pfdbg pfmon 1 559 994 CPU_CYCLES Il est possible de capturer 4 évènements à la fois . Il existe aussi une option qui permet de lancer pfmon system-wide pour observer l’ensemble de la machine.
  • Page 106 Sinon la documentation se trouve sur le site : http://icl.cs.utk.edu/projects/papi/documents Pour effectuer un premier test de l’opérabilité de PAPI : cd ../ctests ./zero Test case 0: start, stop. ----------------------------------------------- Default domain is: 1 (PAPI_DOM_USER) Default granularity is: 1 (PAPI_GRN_THR) Using 10000000 iterations of c += a*b ------------------------------------------------------------------------- Test type : PAPI_FP_INS :...
  • Page 107: Vprof/Cprof

    export PAPI_DEBUG= y Si, au contraire, cette trace pollue : unset PAPI_DEBUG Une fois ces vérifications faites, la lecture, dans le directory tests, d’un fichier source aide à comprendre les modifications à faire dans le source de l’application. Il suffit donc de s’en inspirer pour faire les modifications nécessaires dans son programme.
  • Page 108: Vampir

    Il est possible, en particulier si on ne s’intéresse qu’a du profiling système, de fabriquer une version de cprof/vprof indépendant de PAPI. Si tel est le cas, repartir des sources du site et lancer la configuration : configure Avec les options désirées. La version livrée ici nécessite PAPI.
  • Page 109 Répondre « y » aux questions Copier le fichier d’environnement ENV_VAR_VAMPIR dans /opt/envhpc : cp /home/packages_sources/ /opt/envhpc VARIABLES_ENVIRONNEMENT ENV_VAR_VAMPIR Ce fichier définit les variables d’environnement suivantes : export PAL_ROOT=/opt/envhpc/VAMPIR export PAL_LICENSEFILE=$PAL_ROOT/etc/license.dat export VAMPIR_ROOT=$PAL_ROOT/bin export PATH=$PATH:$VAMPIR_ROOT export VAMPIR_LIB_DIR=$PAL_ROOT/lib Comment obtenir la trace d’un programme? Remarque: avant de lancer VAMPIR penser à...
  • Page 110 Utilisation de VAMPIR Pour lancer VAMPIR , il faut exécuter la commande : vampir Une fois que VAMPIR est ouvert, il suffit d’ouvrir le fichier <programme>.bvt . Pour l’utilisation, se référer au manuel utilisateur situé dans le répertoire $PAL_ROOT/doc 4-42 Guide d’installation des logiciels HPC...
  • Page 111: 4.13 Outils D'administration Système

    L’administrateur est également informé quand la situation redevient normale sur un serveur ou un service. Nagios est livré non compilé. Le script d’installation fourni par Bull.réalise les compilations nécessaires et prépare les fichiers de configuration. Ce script est présent sur le CD-ROM Bull, sous le répertoire NAGIOS.
  • Page 112: Utilisation Et Lancement De Webmin Et De Nagios

    Le serveur sur lequel Nagios est installé sera appelé par commodité dans ce document : ‘serveur Nagios’. Si vous décidez d’utiliser Nagios, il vous faut dans une première phase : déterminer les autres serveurs (hôtes distants) que vous souhaitez surveiller avec Nagios, (munissez-vous de leur nom et leur adresse déterminer les services que vous voulez surveiller.
  • Page 113: Exemple D'utilisation: Configurer Le Réseau Avec Webmin

    Si Nagios est lancé, cette interface vous permet aussi de visualiser le statut des serveurs et services surveillés avec Nagios. Remarque : si vous avez installé Nagios, avec le script d’installation de Bull, vous devez pouvoir lancer Nagios, dès l’installation terminée et visualiser la configuration fictive (cf menu : status map et service detail).
  • Page 114 à etc/rc.d/init.d/nagios start / restart / reload / status / stop Remarque: Si vous rencontrez des difficultés en appelant les urls, pensez à lancer ou relancer httpd et votre browser. # service httpd start / restart … # netscape & (ou mozilla&, …) 4-46 Guide d’installation des logiciels HPC...
  • Page 115: Configuration De Nagios (Et Nrpe)

    4.13.3 Configuration de Nagios (et nrpe) 4.13.3.1 Configurer Nagios sur le serveur Nagios Nagios s’appuie sur 10 fichiers de configuration (.cfg) pour fonctionner. Ceux-ci se trouvent tous sous /usr/local/nagios/etc. Dans chacun de ces fichiers, des exemples sont fournis en standard avec Nagios. Nous vous conseillons de vous inspirer de ces exemples pour créer votre propre configuration, qui dépendra notamment de : des serveurs à...
  • Page 116: Opérations À Réaliser Sur Un Serveur (Hôte) Distant

    4.13.3.2 (Installer et ) Configurer NRPE et check_nrpe pour un hôte distant Remarque préliminaire : avec Nagios, vous pouvez surveiller un hôte distant via quelques services disponibles (plugins) de nagios : ping, http, … Par contre, pour d’autres opérations, telle que la surveillance de la charge cpu sur un hôte distant, vous avez besoin d’installer : nrpe et des commandes nrpe sur cet hôte, les services nrpe correspondants sur le serveur nagios.
  • Page 117: Opérations À Réaliser Sur Le Serveur Nagios

    2) Editer le fichier /etc/services enlever le caractère commentaire (cad ‘#’ en début de ligne) de la ligne : nrpe 5666/tcp #NRPE pour la valider, sinon créer la ligne 3) Editer /etc/xinetd.d/nrpe supprimer tous les caractères commentaire des lignes comprises entre : ‘service nrpe’...
  • Page 118: Activation De Nrpe Et Des Services Associés

    Remarque : dans cet exemple, le service c-nrpe-dist1 fait appel à la commande check-host définie sur le(s) serveur(s) distant(s), cf paragraphe précédent et fichier nrpe.cfg. 4.13.3.2.3 Activation de nrpe et des services associés Pour que nrpe et ces différents éléments soient pris en compte : recharger et relancer nagios sur le serveur nagios §...
  • Page 119 Pour rendre les informations des nœuds disponibles à l’affichage graphique, il faut installer ganglia-monitor-core-gmond-2.5.3-1.ia64.rpm sur tous les nœuds : Sur tous les noeuds : cd /home/packages_sources/GANGLIA rpm –ivh ganglia-monitor-core-gmond-2.5.3-1.ia64.rpm Pour l’affichage graphique, installer ganglia-monitor-core-gmetad-2.5.3-3.ia64.rpm sur le nœud serveur : cd /home/packages_sources/GANGLIA rpm –ivh ganglia-monitor-core-gmetad-2.5.3-3.ia64.rpm Pour savoir si les fichiers ont bien été...
  • Page 120 Sur tous les nœuds, modifier le fichier de configuration /etc/gmond.conf puis re-démarrer le démon. vi /etc/gmond.conf ### modifier la ligne name name "mon_cluster" service gmond restart Installation de ganglia-web-frontend Installer ganglia-webfrontend-2.5.3-1.ia64.rpm sur le nœud serveur : rpm –ivh /home/packages_sources/GANGLIA/ganglia-webfrontend-2.5.3- 1.ia64.rpm Ouvrir une page web à...
  • Page 121: Gexec

    cpu_user % CPU utilisé par les processus gexec load_fifteen Charge du système par tranches de 15 min load_five Charge du système par tranches de 5 min load_one Charge du système par tranches de 1 min machine_type = ia64 mem_buffers Quantité de mémoire attribuée au buffer mem_cached mem_free Quantité...
  • Page 122: Utilisation

    scp /etc/auth_pub.pem nœud(i):/etc Copier la clef privée sur tous les nœuds sur lesquels gexec sera utilisé (normalement, le nœud d'administration) : scp /etc/auth_priv.pem nœud(i):/etc 3) Installation de authd : Sur tous les nœuds du cluster, installation à partir de l’archive RPM cd /home/packages_sources/GEXEC rpm –ivh authd-0.2.1-1.ia64.rpm service authd start...
  • Page 123: 4.15 Outils De Répartition De Tâches

    4.15 Outils de répartition de tâches 4.15.1 OpenPBS Pré-requis : • Enregistrer ses coordonnées et obtenir l’autorisation de télécharger Pour obtenir l’autorisation d’utiliser gratuitement le logiciel « open source » OpenPBS, il est nécessaire de s’enregistrer et d’accepter les conditions exposées sur le site : www.openpbs.org.
  • Page 124 Ø Compiler les sources OpenPBS cd OpenPBS_2_3_16 ./configure make Installation : make install Ø Mettre le bit suid au programme pbs_iff chmod +s /usr/local/sbin/pbs_iff Configuration : Ø Lancer les démons pbs_mom pbs_server –t create ### Attention, l’option –t create initialise la base de données, elle n’est à utiliser que la première fois.
  • Page 125 $clienthost admin Ø Déclarer les différentes files d’attente du cluster. Par exemple : qmgr c q dque s q dque queue_type=Execution s q dque enabled=true s q dque started=true Ø Configurer les services pbs_mom, pbs_server et pbs_sched. cp /home/packages_sources/OPENPBS/pbs_mom /etc/init.d chkconfig --add pbs_mom chkconfig --level 35 pbs_mom on cp /home/packages_sources/OPENPBS/pbs_server /etc/init.d...
  • Page 126 mkdir /usr/spool/PBS/spool mkdir /usr/spool/PBS/undelivered Recopier les fichiers suivants sur tous les nœuds de calcul /usr/init.d/pbs_mom /usr/init.d/pbs_server /usr/init.d/pbs_sched /usr/local/bin/chk_tree /usr/local/bin/hostn /usr/local/bin/nqs2pbs /usr/local/bin/pbs_tclsh /usr/local/bin/pbs_wish /usr/local/bin/pbsdsh /usr/local/bin/pbsnodes /usr/local/bin/printjob /usr/local/bin/qalter /usr/local/bin/qdel /usr/local/bin/qdisable /usr/local/bin/qenable /usr/local/bin/qhold /usr/local/bin/qmgr /usr/local/bin/qmove /usr/local/bin/qmsg /usr/local/bin/qorder /usr/local/bin/qrerun /usr/local/bin/qrls /usr/local/bin/qrun 4-58 Guide d’installation des logiciels HPC...
  • Page 127 /usr/local/bin/qselect /usr/local/bin/qsig /usr/local/bin/qstart /usr/local/bin/qstat /usr/local/bin/qstop /usr/local/bin/qsub /usr/local/bin/qterm /usr/local/bin/tracejob /usr/local/include/pbs_error.h /usr/local/include/pbs_ifl.h /usr/local/lib/libattr.a /usr/local/lib/libcmds.a /usr/local/lib/liblog.a /usr/local/lib/libnet.a /usr/local/lib/libpbs.a /usr/local/lib/libsite.a /usr/local/lib/pbs_sched.a /usr/local/sbin/pbs_demux /usr/local/sbin/pbs_iff /usr/local/sbin/pbs_mom /usr/local/sbin/pbs_rcp /usr/spool/PBS/pbs_environment /usr/spool/PBS/server_name /usr/spool/PBS/mom_priv/config Installation logicielle, lancement 4-59...
  • Page 128 Configurer le service pbs_mom sur chacun des nœuds de calcul et le démarrer chkconfig --add pbs_mom chkconfig --level 35 pbs_mom on service pbs_mom start Ø Relancer pbs_mom, pbs_server pbs_sched nœud d’administration service pbs_mom restart service pbs_server restart service pbs_sched restart Premier test : Ø...
  • Page 129: Openpbs De Scali : Scaopbs

    Utilisation : L’utilisation d’ OpenPBS implique l’acceptation des termes de la licence (voir le fichier PBS_License .text sous le répertoire home/packages_sources/OpenPBS/OpenPBS_2_3_16) La documentation d’OpenPBS (v2.3_admin.pdf) est disponible sur le site Web PBS (voir ci-dessus « Génération des binaires »). Elle explique plus en détail comment générer, configurer et utiliser OpenPBS.
  • Page 130 Installer des sources Le fichier « maui-3.0.7.tar.gz » contenant les sources de MAUI se trouve sous le répertoire /home/packages_sources/MAUI (ce fichier a été téléchargé à partir du site : http://supercluster.org/downloads/maui) Décompresser le fichier cd /home/packages_sources/MAUI tar xvzf maui-3.0.7.tar.gz Compilation et installation Créer un répertoire /opt/envhpc/MAUI Configurer les makefile (utiliser le compilateur gcc) Générer et installer les binaires...
  • Page 131 cp /home/packages_sources/MAUI/maui /etc/init.d chkconfig --add maui chkconfig --level 35 maui on # lancer maui (cette commande arrête aussi le service pbs_sched) service maui start /opt/envhpc/MAUI/bin/maui Configuration et utilisation Toute la documentation de MAUI se trouve à l‘adresse http://supercluster.org/documentation. Elle explique comment configurer et utiliser MAUI.
  • Page 133: Chapitre 5. Désinstallation De La Fourniture Intel

    Chapitre 5. Désinstallation de la fourniture Intel L’utilisation des logiciels Intel, compilateurs C/C++ et Fortran et bibliothèque mkl est soumise à licence; l’acceptation des règles de licence doit être faite directement par le client final. Afin de respecter ce processus, les logiciels Intel utilisés lors de la phase d’installation des logiciels HPC seront désinstallés avant livraison au client.
  • Page 134 Guide d’installation des logiciels HPC...
  • Page 135: Chapitre 6. Faq

    Chapitre 6. FAQ Problème de compilation et d’exécution Comment faire quand on a un message d’erreur du type : « error while loading shared libraries » lors de l’exécution d’un programme? Mon programme parallèle ne trouve pas le programme sur les autres machines. Comment optimiser les compilations avec le compilateur fortran Intel ? Problème de compilation et d’exécution avec MPICH J’ai un problème avec des allocations mémoire quand j’utilise MPICH.
  • Page 136 implicitnone : force la déclaration des variables : si une variable est utilisée sans avoir été déclarée, cela déclenche une erreur à la compilation w95 : enlève les warnings pour les instructions non standard f95 mp : respect de la double précision norme IEEE unroll2 : fait de «...
  • Page 137: J'ai Un Problème Avec Des Allocations Mémoire Quand J'utilise

    unroll : fait de « l'unrolling » de boucle : cela favorise la vectorisation et le pipeline d'instructions prof_gen et prof_use : instrumentation § J’ai un problème avec des allocations mémoire quand j’utilise MPICH. Message d’erreur à l’exécution : p3_1858: (18446744073792.328125) xx_shmalloc: returning NULL; requested 65584 bytes p3_1858: (18446744073792.328125) p4_shmalloc returning NULL;...
  • Page 138 Guide d’installation des logiciels HPC...
  • Page 139: Glossaire

    Glossaire BANDE PASSANTE La largeur de bande est l'intervalle de fréquences (« la bande ») transmises sans distorsions notables sur un support de transmission bien défini (atténuation...). Elle est mesurée en Hz. Pour les réseaux, et ensuite par extension pour tous les médias, cela représente la quantité de données transmise par unité...
  • Page 140 High Performance Computing. Informatique de haute performance. Itanium™ Architecture Architecture 64 bits des nouvelles puces d'Intel, destinées à remplacer les x86. Il s'agit d'une rupture totale avec la série x86, le jeu d'instructions n'ayant plus rien à voir, ni les éléments de l'architecture du processeur.
  • Page 141 dérivés, le respect du code source originel, l'absence de discrimination envers des personnes, l'absence de limitation sur le domaine d'application du logiciel, la distribution de la licence et sa non-spécificité à un produit, et enfin le fait qu'elle ne contamine pas le travail des autres. PARALLELISATION Transformer un programme de façon qu'il soit possible de l'exécuter efficacement sur plusieurs processeurs.
  • Page 142 Il définit par exemple la structure interne de l'arborescence, les formats d'enregistrements, le découpage des disques, les métadonnées sur les fichiers... Un SGF est constitué d'un service de gestion (pour l'organisation des fichiers entre eux) et d'un système de fichiers (pour les opérations sures et dans les fichiers). TRACE La Trace d'un programme est la succession des états de son environnement au cours de son exécution.
  • Page 143: Références

    Références Généralités sur les clusters www.beowulf.org www.tldp.org/HOWTO/Parallel-Processing-HOWTO.html www.top500.org www.phy.duke.edu/brahma/beowulf_online_book/ www.Linux-Consulting.com/Cluster/ Les architectures parallèles www.lri.fr/~fci/support95.html www.idris.fr Les interconnects www.scali.com www.dolphin.com www.essi.fr/~riveill/rapport01-these-cecchet.pdf www.ens-lyon.fr/~rewestrel/thses.ps www.epcc.ed.ac.uk/HPCinfo L’ouvrage High Performance Computing de Dowd & Severance aux éditions O’Reilly. Librairies scientifiques www.lifl.fr/west/courses/cshp/bibsp.pdf www.irisa.fr/orap/Publications/Forum6/petitet.ps www.netlib.org Références...
  • Page 144 Guide d’installation des logiciels HPC...
  • Page 145: Vos Remarques Sur Ce Document / Technical Publication Remark Form

    SOCIETE / COMPANY : ADRESSE / ADDRESS : Remettez cet imprimé à un responsable BULL ou envoyez-le directement à : Please give this technical publication remark form to your BULL representative or mail to: BULL CEDOC 357 AVENUE PATTON B.P.20845...
  • Page 146: Technical Publications Ordering Form Bon De Commande De Documents Techniques

    Customer Code / Code Client : For Bull Internal Customers / Pour les Clients Internes Bull : Budgetary Section / Section Budgétaire : For Others / Pour les Autres : Please ask your Bull representative. / Merci de demander à votre contact Bull.
  • Page 148 BULL CEDOC 357 AVENUE PATTON B.P.20845 49008 ANGERS CEDEX 01 FRANCE ORDER REFERENCE 86 F2 31EG 02...
  • Page 149 Utiliser les marques de découpe pour obtenir les étiquettes. Use the cut marks to get the labels. NovaScale Linux HPC Linux Guide d’installation 86 F2 31EG 02 NovaScale Linux HPC Linux Guide d’installation 86 F2 31EG 02 NovaScale Linux HPC Linux Guide d’installation...

Table des Matières