Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ressources:gridengine4cbp [2015/09/01 16:30]
equemene
ressources:gridengine4cbp [2021/09/24 16:05] (Version actuelle)
equemene [Introduction]
Ligne 1: Ligne 1:
 ====== Utilisation du Cluster (et GridEngine) au Centre Blaise Pascal ====== ====== Utilisation du Cluster (et GridEngine) au Centre Blaise Pascal ======
  
 +<note important>​Avant de lancer votre calcul, ayez un aperçu de l'​[[http://​styx.cbp.ens-lyon.fr/​ganglia/?​r=hour&​c=Nodes|état des noeuds]] (site accessible seulement sur site)</​note>​
 ===== Ce qu'il faut retenir ! ===== ===== Ce qu'il faut retenir ! =====
  
-  * pour se connecter sur la passerelle de cluster : <​code>​ssh <​login>​@slethe.cbp.ens-lyon.fr</​code>​+  * pour se connecter sur la passerelle de cluster : <​code>​ssh <​login>​@lethe.cbp.ens-lyon.fr</​code>​
   * pour connaître les noeuds disponibles : ''​qhost''​   * pour connaître les noeuds disponibles : ''​qhost''​
   * pour connaître l'​état des tâches : ''​qstat''​   * pour connaître l'​état des tâches : ''​qstat''​
 +  * pour connaître la listes des queues : ''​qconf -sql''​
   * pour lancer une tâche définie par le script GridEngine ''​MyJob.qsub''​ : ''​qsub MyJob.qsub''​   * pour lancer une tâche définie par le script GridEngine ''​MyJob.qsub''​ : ''​qsub MyJob.qsub''​
  
Ligne 25: Ligne 27:
 dispose d'une infrastructure de production]]. dispose d'une infrastructure de production]].
  
-Les équipements mis à disposition ​76 noeuds dans groupes différents pour un total de 384 coeurs et 1248 Go de RAM.+Les équipements mis à disposition ​derrière le soumissionneur GridEngine se composent de 166 noeuds dans groupes différents pour un total de 1416 coeurs et 6016 Go de RAM.
  
-Les noeuds ​v40z et v20z ont été arrêtés puis déposés suite à l'arrivée de Equip@Meso : ils ont été remplacés par quelques x41z supplémentaires durant l'​été 2013.+Sur les 52 noeuds ​R410 arrivés entre le printemps 2014 et l'automne 2015, tous sont disponibles via le gestionnaire GridEngine.
  
 | **Cluster** | **Marque** | **Modèle** | **Noeuds** | **Coeurs /Noeud** |**RAM /​Noeud**|**Réseau GE**|**Réseau IB**|**Total Coeurs**|**Total RAM**| | **Cluster** | **Marque** | **Modèle** | **Noeuds** | **Coeurs /Noeud** |**RAM /​Noeud**|**Réseau GE**|**Réseau IB**|**Total Coeurs**|**Total RAM**|
-| **r410** | Dell  | R410 | 48 | 8 | 24 Go | GE | IB | 384 1.1 To | +| **r410qdr** | Dell  | R410 | 32 | 8 | 24 Go | GE | IB QDR 256 1536 Go | 
-| **x41z** | Sunfire ​ | x41z | 24 | 8 | 16 Go ou 32 Go | GE | IB | 192 | 576 Go | +| **r410ddr** | Dell  | R410 | 4 | 24 Go | GE | IB DDR 32 96 Go |
-| **c6100** | Dell  | C6100 | 4 | 12 48 Go | GE | IB | 48 192 Go |+
  
 Ces clusters partagent exactement la même image de système, [[developpement:​productions:​sidus|Sidus]] (pour Single Instance Distributing Universal System), un système complet Debian intégrant tous les paquets scientifiques ainsi que de nombreux paquets de développement. Ces clusters partagent exactement la même image de système, [[developpement:​productions:​sidus|Sidus]] (pour Single Instance Distributing Universal System), un système complet Debian intégrant tous les paquets scientifiques ainsi que de nombreux paquets de développement.
Ligne 39: Ligne 40:
  
 L'​accès aux clusters se fait via la passerelle ''​lethe.cbp.ens-lyon.fr'',​ par le protocole SSH :<​code>​ L'​accès aux clusters se fait via la passerelle ''​lethe.cbp.ens-lyon.fr'',​ par le protocole SSH :<​code>​
-ssh -X <​login>​@lethe.cbp.ens-lyon.fr</​code>​ ou via x2go sur la même adresse.+ssh -X <​login>​@lethe.cbp.ens-lyon.fr</​code>​ ou via [[http://​wiki.x2go.org/​doku.php|x2go]] ​sur la même adresse. Il est donc préalablement nécessaire d'​installer sur sa machine un client SSH ou x2go pour accéder à la passerelle.
  
-Cette passerelle n'est accessible que de l'​intérieur de l'ENS : il est nécessaire de passer par la passerelle de l'ENS ''​ssh.ens-lyon.fr''​ ou par le Virtual Private Network par OpenVPN pour y accéder.+En outre, cette passerelle n'est accessible que de l'​intérieur de l'ENS : il est nécessaire de passer par la passerelle de l'ENS ''​ssh.ens-lyon.fr''​ ou par le Virtual Private Network par OpenVPN pour y accéder.
  
 Notons que l'​outil x2go permet de paramétrer directement la passerelle ''​ssh.ens-lyon.fr''​ et d'​obtenir directement le bureau graphique. Notons que l'​outil x2go permet de paramétrer directement la passerelle ''​ssh.ens-lyon.fr''​ et d'​obtenir directement le bureau graphique.
Ligne 47: Ligne 48:
 ===== Dossiers personnels ===== ===== Dossiers personnels =====
  
-Sur la passerelle ''​lethe'',​ chaque utilisateur dispose de espaces utilisateurs :+Sur la passerelle ''​lethe'',​ chaque utilisateur dispose de espaces utilisateurs :
   * un local dans ''/​home/<​login>''​   * un local dans ''/​home/<​login>''​
   * un général dans ''/​cbp/<​login>''​   * un général dans ''/​cbp/<​login>''​
   * un rapide dans ''/​scratch''​   * un rapide dans ''/​scratch''​
 +  * un projet dans ''/​projects''​
  
-Le second correspond à l'​espace utilisateur de ressources informatiques du CBP lorsqu'​il se connecte : +Le second, ''/​cbp/<​login>/'' ​correspond à l'​espace utilisateur de ressources informatiques du CBP lorsqu'​il se connecte : 
-  * aux 21 stations de travail de la salle libre service+  * aux 28 stations de travail de la salle libre service
   * à la station graphique 3D de la petite salle de réunion   * à la station graphique 3D de la petite salle de réunion
   * aux machines à la demande SIDUS (Single Instance Distributing Universal System)   * aux machines à la demande SIDUS (Single Instance Distributing Universal System)
Ligne 61: Ligne 63:
     * sous différentes distributions Debian : Lenny, Squeeze, Wheezy, Jessie et Sid     * sous différentes distributions Debian : Lenny, Squeeze, Wheezy, Jessie et Sid
  
 +===== Paramétrage de l'​accès aux grappes de calcul =====
 +
 +  * Création d'une clé publique par ''​ssh-keygen -t rsa''​ dans mot de passe 
 +  * Pression 2 fois sur la touche ''<​Entrée>''​ pour entrer un mot de passe vide
 +  * La commande précédente présente une sortie comparable à la suivante :<​code>​
 +Generating public/​private rsa key pair.
 +Enter file in which to save the key (/​home/<​MonLogin>/​.ssh/​id_rsa): ​
 +Enter passphrase (empty for no passphrase): ​
 +Enter same passphrase again: ​
 +Your identification has been saved in /​home/<​MonLogin>/​.ssh/​id_rsa.
 +Your public key has been saved in /​home/<​MonLogin>/​.ssh/​id_rsa.pub.
 +The key fingerprint is:
 +9b:​96:​69:​95:​29:​0e:​0e:​ff:​a8:​77:​ce:​ca:​c5:​3b:​92:​55 <​MonLogin>​@lethe
 +The key's randomart image is:
 ++---[RSA 2048]----+
 +|                 |
 +| . .             |
 +|. . .            |
 +|.    .E    o     |
 +|. . o.. S +      |
 +| . =.o o B       |
 +|   o* . O        |
 +|  o+.. o         |
 +|  ....           |
 ++-----------------+
 +</​code>​
 +  * Copie de la clé publique comme clé d'​autorisation de connexion sans mot de passe :<​code>​ cd $HOME/.ssh
 +cp id_rsa.pub authorized_keys</​code>​
 +  * Test de connexion locale : <​code>​ssh lethe</​code>​
 ===== Accès aux ressources ===== ===== Accès aux ressources =====
  
Ligne 72: Ligne 103:
 La commande ''​qhost''​ permet de connaître l'​état des noeuds gérés par le gestionnaire de tâches. Chaque ressource représente un coeur. Il existe donc plus entrées par noeud. La commande ''​qhost''​ permet de connaître l'​état des noeuds gérés par le gestionnaire de tâches. Chaque ressource représente un coeur. Il existe donc plus entrées par noeud.
  
-=== qhost pour toute l'​infrastructure ===+=== ''​qhost'' ​pour toute l'​infrastructure ===
  
 La commande ​ fournit en sortie :<​code>​ La commande ​ fournit en sortie :<​code>​
Ligne 90: Ligne 121:
 </​code>​ </​code>​
  
-=== qhost pour un noeud unique ===+=== ''​qhost <​noeud>'' ​pour un noeud unique ===
  
 Par exemple, la commande ''​qhost x41z7.cluster.zone''​ pour examiner les ressources offertes par le noeud **x41z7** sort :<​code>​ Par exemple, la commande ''​qhost x41z7.cluster.zone''​ pour examiner les ressources offertes par le noeud **x41z7** sort :<​code>​
Ligne 109: Ligne 140:
 </​code>​ </​code>​
  
-===  qconf pour lister les noeuds d'une grappe particulière ===+===  ​''​qconf -shhrp @<​grappe>'' ​pour lister les noeuds d'une grappe particulière ===
  
 Pour lister les noeuds de la grappe **x41z**, on applique la commande ''​qconf -shgrp @x41z''​ :<​code>​ Pour lister les noeuds de la grappe **x41z**, on applique la commande ''​qconf -shgrp @x41z''​ :<​code>​
Ligne 121: Ligne 152:
 </​code>​ </​code>​
  
-===  qconf pour lister les queues de calcul ===+===  ​''​qconf -sql'' ​pour lister les queues de calcul ===
  
 Pour lister toutes les queues, on applique la commande ''​qconf -sql''​ :<​code>​ Pour lister toutes les queues, on applique la commande ''​qconf -sql''​ :<​code>​
Ligne 127: Ligne 158:
 r410 r410
 x41z x41z
 +</​code>​
 +
 +===  ''​qconf -sq <​Queue>''​ pour détailler une queue ===
 +
 +Pour lister toutes les queues, on applique la commande ''​qconf -sq x41z''​ :<​code>​
 +qname                 x41z
 +hostlist ​             @x41z
 +seq_no ​               0
 +load_thresholds ​      ​np_load_avg=1.75
 +suspend_thresholds ​   NONE
 +nsuspend ​             1
 +suspend_interval ​     00:05:00
 +priority ​             0
 +min_cpu_interval ​     00:05:00
 +processors ​           UNDEFINED
 +qtype                 BATCH INTERACTIVE
 +ckpt_list ​            NONE
 +pe_list ​              ​sequential x41zhybrid
 +rerun                 FALSE
 +slots                 8
 +tmpdir ​               /tmp
 +shell                 /​bin/​bash
 +prolog ​               NONE
 +epilog ​               NONE
 +shell_start_mode ​     posix_compliant
 +starter_method ​       NONE
 +suspend_method ​       NONE
 +resume_method ​        NONE
 +terminate_method ​     NONE
 +notify ​               00:00:60
 +owner_list ​           NONE
 +user_lists ​           NONE
 +xuser_lists ​          NONE
 +subordinate_list ​     NONE
 +complex_values ​       NONE
 +projects ​             NONE
 +xprojects ​            NONE
 +calendar ​             NONE
 +initial_state ​        ​default
 +s_rt                  INFINITY
 +h_rt                  INFINITY
 +s_cpu                 ​INFINITY
 +h_cpu                 ​INFINITY
 +s_fsize ​              ​INFINITY
 +h_fsize ​              ​INFINITY
 +s_data ​               INFINITY
 +h_data ​               INFINITY
 +s_stack ​              ​INFINITY
 +h_stack ​              ​INFINITY
 +s_core ​               INFINITY
 +h_core ​               INFINITY
 +s_rss                 ​INFINITY
 +h_rss                 ​INFINITY
 +s_vmem ​               INFINITY
 +h_vmem ​               INFINITY
 </​code>​ </​code>​
  
Ligne 137: Ligne 223:
 </​code>​ </​code>​
  
-===  ''​qconf -sp''​ pour détailler un environnement parallèle ===+===  ''​qconf -sp <​Environnement Parallèle>​''​ pour détailler un environnement parallèle ===
  
 Pour lister toutes les queues, on applique la commande ''​qconf -sp x41zhybrid''​ :<​code>​ Pour lister toutes les queues, on applique la commande ''​qconf -sp x41zhybrid''​ :<​code>​
Ligne 212: Ligne 298:
 # Nom de la queue (ici, la queue des x41z) # Nom de la queue (ici, la queue des x41z)
 #$ -q x41z #$ -q x41z
-# Nom de la queue d'​environnement parallèle ​et de requête de ressources ​: x41zhybrid avec 32 ressources+# Nom de l'​environnement parallèle ​avec le nombre ​de slots : x41zhybrid avec 32 ressources
 #$ -pe x41zhybrid 32 #$ -pe x41zhybrid 32
 # Messages a expedier : il est expedie lorsqu'​il demarre, termine ou avorte # Messages a expedier : il est expedie lorsqu'​il demarre, termine ou avorte
 #$ -m bea #$ -m bea
 # Adresse electronique d'​expedition # Adresse electronique d'​expedition
-#$ -M emmanuel.quemener@ens-lyon.fr+#$ -M <​prenom>​.<nom>@ens-lyon.fr
 #$ -cwd #$ -cwd
 #$ -V #$ -V
Ligne 228: Ligne 314:
 La commande d'​examen des tâches en cours ''​qstat''​ permet ensuite de savoir que le job a bien été pris en compte. La commande d'​examen des tâches en cours ''​qstat''​ permet ensuite de savoir que le job a bien été pris en compte.
  
 +=== Récupérer les informations sur ses jobs exécutés ===
 +
 +Dans le fichier de batch (celui qui définit les commandes à exécuter avec la queue, l'​environnement,​ etc...) apparait le paramètre préfixé de ''​-N''​. Ce paramètre est très utile parce que, comme le précise les exemples ci-dessus, les sorties POSIX ''​stdout''​ et ''​stderr''​ sont sauvegardées dans ces fichiers.
 +
 +Ainsi, en exécutant l'​exemple ci-dessus, si son numéro de job était le 528491, les fichiers de sortie seraient les suivants :
 +  * ''​MyJob.o528491''​ pour la sortie standard ''​stdout'',​ l'​ensemble des messages du terminal
 +  * ''​MyJob.e528491''​ pour l'​erreur standard ''​stderr'',​ l'​ensemble des messages en erreur du terminal
  
 +En fouillant dans ces fichiers, il est possible de voir l'​évolution de l'​exécution de son job et ses erreurs au besoin. ​
ressources/gridengine4cbp.1441117843.txt.gz · Dernière modification: 2015/09/01 16:30 par equemene