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
leria:centre_de_calcul:cluster [25/03/2019 16:13]
Chantrein Jean-Mathieu [FAQ]
leria:centre_de_calcul:cluster [10/03/2021 18:49] (Version actuelle)
Leguy Jules [Environnements conda (Python)]
Ligne 43: Ligne 43:
 ==== Architecture matérielle ==== ==== Architecture matérielle ====
  
-|  Hostname ​           |  Modèle ​    ​| ​ Nombre de modèle identique ​ |  GPU         ​|  Nombre de GPU/​modèle ​ |  CPU                                                                                                            |  Nombre de CPU/​modèle ​ |  Nombre de cœurs/​CPU ​ |  Nombre de threads/​CPU ​ | Nombre de threads/​modèle ​ |  RAM      |  Espace de stockage local  |  Interconnection ​ | +|  Hostname ​      ​|  Modèle ​    ​| ​ Nombre de modèle identique ​ |  GPU               ​|  Nombre de GPU/​modèle ​ |  CPU                                                                                                                                                 ​|  Nombre de CPU/​modèle ​ |  Nombre de cœurs/​CPU ​ |  Nombre de threads/​CPU ​ |  Nombre de threads/​modèle ​ |  RAM      |  Espace de stockage local  |  Interconnection ​ | 
-|  star[254-253] ​      ​|  Dell R720  |  2                           ​| ​ Tesla K20m  |  2                     ​| ​ [[https://​ark.intel.com/​fr/​products/​75275/​Intel-Xeon-Processor-E5-2670-v2-25M-Cache-2-50-GHz-|intel-E5-2670]] ​ |  2                     ​| ​ 10                   ​| ​ 20                     ​| ​ 40                       ​|  64 Go    |  1To                       ​| ​ 2*10Gb/​s ​        | +|  star[254-253] ​ |  Dell R720  |  2                           ​| ​ Tesla K20m        |  2                     ​| ​ [[https://​ark.intel.com/​fr/​products/​75275/​Intel-Xeon-Processor-E5-2670-v2-25M-Cache-2-50-GHz-|intel-E5-2670]] ​                                      ​|  2                     ​| ​ 10                   ​| ​ 20                     ​| ​ 40                        |  64 Go    |  1To                       |  2*10Gb/​s ​        | 
-|  star[245-244] ​      ​|  Dell R630  |  2                           ​| ​ X           ​|  0                     ​| ​ [[https://​ark.intel.com/​fr/​products/​91316/​Intel-Xeon-Processor-E5-2695-v4-45M-Cache-2-10-GHz-|intel-E5-2695]] ​ |  2                     ​| ​ 18                   ​| ​ 36                     ​| ​ 72                       ​|  128 Go   ​|  ​TODO                      ​                  ​+|  star[246-252] ​ |  Dell R620  |  7                           ​| ​ X                 ​| ​ 0                     ​| ​ [[https://​ark.intel.com/​fr/​products/​75275/​Intel-Xeon-Processor-E5-2670-v2-25M-Cache-2-50-GHz-|intel-E5-2670]] ​                                      ​| ​ 2                     ​| ​ 10                   ​| ​ 20                     ​| ​ 40                        |  64 Go    |  1 To                      ​|  2*10Gb/​s ​        | 
-|  star243 ​            ​|  Dell R930  |  1                           ​| ​ X           ​|  0                     ​| ​ [[https://​ark.intel.com/​fr/​products/​93806/​Intel-Xeon-Processor-E7-4850-v4-40M-Cache-2-10-GHz-|intel-E7-4850]] ​ |  4                     ​| ​ 16                   ​| ​ 32                     ​| ​ 128                      |  1500 Go  |  1To                       ​| ​ 2*10Gb/​s ​        | +|  star[245-244] ​ |  Dell R630  |  2                           ​| ​ X                 ​|  0                     ​| ​ [[https://​ark.intel.com/​fr/​products/​91316/​Intel-Xeon-Processor-E5-2695-v4-45M-Cache-2-10-GHz-|intel-E5-2695]] ​                                      ​|  2                     ​| ​ 18                   ​| ​ 36                     ​| ​ 72                        |  128 Go   ​|  ​X                          ​2*10Gb/​s ​        
-|  star242 ​            ​|  Dell R730  |  1                           ​| ​ Tesla P100  |  1                     ​| ​ [[https://​ark.intel.com/​fr/​products/​92986/​Intel-Xeon-Processor-E5-2620-v4-20M-Cache-2-10-GHz-|intel-E5-2620]] ​ |  2                     ​| ​ 8                    |  16                     ​| ​ 32                       ​|  128 Go   ​| ​ 1 To                      |                   ​+|  star243 ​       |  Dell R930  |  1                           ​| ​ X                 ​|  0                     ​| ​ [[https://​ark.intel.com/​fr/​products/​93806/​Intel-Xeon-Processor-E7-4850-v4-40M-Cache-2-10-GHz-|intel-E7-4850]] ​                                      ​|  4                     ​| ​ 16                   ​| ​ 32                     ​| ​ 128                       ​|  1500 Go  |  1To                       ​| ​ 2*10Gb/​s ​        | 
-|  ​TODO star[199-195] ​ |  Dell R415  |  5                           ​| ​ X           ​|  0                     ​| ​ [[https://​www.cpubenchmark.net/​cpu.php?​cpu=AMD+Opteron+6134&​id=1566|amd-opteron-6134]] ​                        ​|  1                     ​| ​ 8                    |  16                     ​| ​ 16                       ​|  32 Go    |  1 To                      |                   ​+|  star242 ​       |  Dell R730  |  1                           ​| ​ Tesla P100        |  1                     ​| ​ [[https://​ark.intel.com/​fr/​products/​92986/​Intel-Xeon-Processor-E5-2620-v4-20M-Cache-2-10-GHz-|intel-E5-2620]] ​                                      ​|  2                     ​| ​ 8                    |  16                     ​| ​ 32                        |  128 Go   ​| ​ 1 To                      |  ​2*10Gb/​s ​        
-|  ​TODO star[194-190] ​ |  Dell R415  |  5                           ​| ​ X           ​|  0                     ​| ​ [[https://​www.cpubenchmark.net/​cpu.php?​cpu=AMD+Opteron+4184&​id=278|amd-opteron-4184]] ​                         |  1                     ​| ​ 6                    |  12                     ​| ​ 12                       ​|  32 Go    |  1 To                      |  2*1Gb/​s ​         |+|  star[199-195] ​ |  Dell R415  |  5                           ​| ​ X                 ​|  0                     ​| ​ [[https://​www.cpubenchmark.net/​cpu.php?​cpu=AMD+Opteron+6134&​id=1566|amd-opteron-6134]] ​                                                             |  1                     ​| ​ 8                    |  16                     ​| ​ 16                        |  32 Go    |  1 To                      |  ​2*1Gb/​s ​         ​
 +|  star[194-190] ​ |  Dell R415  |  5                           ​| ​ X                 ​|  0                     ​| ​ [[https://​www.cpubenchmark.net/​cpu.php?​cpu=AMD+Opteron+4184&​id=278|amd-opteron-4184]] ​                                                              ​|  1                     ​| ​ 6                    |  12                     ​| ​ 12                        |  32 Go    |  1 To                      |  2*1Gb/​s ​         ​
 +|  star100 ​       |  Dell T640  |  1                           ​| ​ RTX 2080 Ti       ​| ​ 4                     ​| ​ [[https://​ark.intel.com/​content/​www/​fr/​fr/​ark/​products/​123540/​intel-xeon-bronze-3106-processor-11m-cache-1-70-ghz.html|intel-xeon-bronze-3106]] ​    ​| ​ 1                     ​| ​ 8                    |  16                     ​| ​ 16                        |  96 Go    |  X                         ​| ​ 2*10 Gb/s        | 
 +|  star101 ​       |  Dell R640  |  1 (Molltech) ​               |  X                 ​| ​ 0                     ​| ​ [[https://​ark.intel.com/​content/​www/​fr/​fr/​ark/​products/​123550/​intel-xeon-silver-4114-processor-13-75m-cache-2-20-ghz.html|intel-xeon-silver-4114]] ​ |  1                     ​| ​ 20                   ​| ​ 40                     ​| ​ 40                        |  96 Go    |  1 To                      |  2*10 Gb/s        | 
 +|  star102 ​       |  Dell R740  |  1                           ​| ​ Tesla V100 32 Go  |  3                     ​| ​ [[https://​ark.intel.com/​content/​www/​us/​en/​ark/​products/​193390/​intel-xeon-silver-4208-processor-11m-cache-2-10-ghz.html|intel-xeon-server-4208]] ​    ​| ​ 2                     ​| ​ 8                    |  16                     ​| ​ 32                        |  96 Go    |  X                         ​| ​ 2*10 Gb/s        ​|
 ==== Architecture logicielle ==== ==== Architecture logicielle ====
  
Ligne 99: Ligne 103:
 <​note>​Pour des raisons pratiques, nous nous loguons avec les mêmes identifiants que pour notre ENT. En cas de panne du serveur ldap de l'​Université d'​Angers,​ nos services devraient être tout de même disponibles pour tout usager qui s'est déjà logué au moins une fois sur ces mêmes services.</​note>​ <​note>​Pour des raisons pratiques, nous nous loguons avec les mêmes identifiants que pour notre ENT. En cas de panne du serveur ldap de l'​Université d'​Angers,​ nos services devraient être tout de même disponibles pour tout usager qui s'est déjà logué au moins une fois sur ces mêmes services.</​note>​
  
 +<note important>​Pour une meilleure sécurité et pour éviter d'​être banni après plusieurs mauvais mot de passe, je vous conseille d'​utiliser une authentification par clé ssh:
  
 +https://​www.linode.com/​docs/​security/​authentication/​use-public-key-authentication-with-ssh/</​note>​
 ==== Slurm: premiers tests et documentation ==== ==== Slurm: premiers tests et documentation ====
  
Ligne 254: Ligne 260:
 Il est tout a fait possible de surcharger ces valeurs par défaut avec les options --mem-per-cpu et --time. Toutefois, ​ Il est tout a fait possible de surcharger ces valeurs par défaut avec les options --mem-per-cpu et --time. Toutefois, ​
  
-<note important>​ATTENTION:​ vous ne devriez pas surévaluer les ressources de vos jobs. En effet, slurm fonctionne avec une notion de partage juste (fair share): si vous réservez des ressources, peu importe que vous les utilisiez ou non. Lors de vos prochaines soumissions,​ slurm considérera que vous aviez effectivement consommé ces ressources. Potentiellement,​ vous pourriez être considéré comme un utilisateur gourmand et être moins prioritaire que un utilisateur ayant correctement définit ses ressources pour la même quantité de travail effectué.+<note important>​ATTENTION: ​ 
 +  * vous ne devriez pas surévaluer les ressources de vos jobs. En effet, slurm fonctionne avec une notion de partage juste (fair share): si vous réservez des ressources, peu importe que vous les utilisiez ou non. Lors de vos prochaines soumissions,​ slurm considérera que vous aviez effectivement consommé ces ressources. Potentiellement,​ vous pourriez être considéré comme un utilisateur gourmand et être moins prioritaire que un utilisateur ayant correctement définit ses ressources pour la même quantité de travail effectué
 +  * Si vous avez un grand nombre de job à faire, **vous devez utiliser la soumission par array job**. 
 +    * Si ces jobs ont de grandes durées d'​exécutions (plus de 1 journée), **vous devez limiter le nombre d’exécution en parallèle afin de ne pas saturer le cluster**. Nous laissons la possibilité aux utilisateurs de fixer cette limite, mais en cas de problème de partage de ressources avec les autres utilisateurs,​ **nous supprimerons les jobs ne respectant pas ces conditions**.
 </​note>​ </​note>​
  
Ligne 276: Ligne 285:
 Voir aussi [[leria:​centre_de_calcul:​cluster#​architecture_globale|architecture globale]]. Voir aussi [[leria:​centre_de_calcul:​cluster#​architecture_globale|architecture globale]].
  
-Le cluster de calcul utilise un pool de serveurs de stockages distribués [[https://​www.beegfs.io/​content/​|beegfs]] . Ce stockage beegfs est indépendant des serveurs de calcul. Cette zone de stockage est accessible naturellement dans l’arborescence de n'​importe quel nœud de calcul sous /​home/​$USER. Étant donné que ce stockage est distant, toute lecture/​écriture dans votre home est dépendante du réseau. Notre stockage Beegfs et le réseau sous-jacent sont très performant, mais pour certains traitement lourd, vous gagneriez peut-être à vous servir des disques locaux des serveurs de calcul. Pour ce faire, vous pouvez utiliser le répertoire /​local_working_directory des serveurs de calculs. Ce répertoire fonctionne de la même manière que /tmp à la différence que les données sont persistante en cas de redémarrage du serveur.+  * Le cluster de calcul utilise un pool de serveurs de stockages distribués [[https://​www.beegfs.io/​content/​|beegfs]] . Ce stockage beegfs est indépendant des serveurs de calcul. Cette zone de stockage est accessible naturellement dans l’arborescence de n'​importe quel nœud de calcul sous /​home/​$USER. Étant donné que ce stockage est distant, toute lecture/​écriture dans votre home est dépendante du réseau. Notre stockage Beegfs et le réseau sous-jacent sont très performant, mais pour certains traitement lourd, vous gagneriez peut-être à vous servir des disques locaux des serveurs de calcul. Pour ce faire, vous pouvez utiliser le répertoire /​local_working_directory des serveurs de calculs. Ce répertoire fonctionne de la même manière que /tmp à la différence que les données sont persistante en cas de redémarrage du serveur.
  
 +  * Si vous souhaitez créer des groupes, merci d'​envoyer un email à technique.info [at] listes.univ-angers.fr avec le nom du groupe et les utilisateurs associés.
 +
 +  * Pour rappel, **par défaut**, les droits de votre home sont définis à 755, donc **tout le monde peut lire et exécuter vos données**.
 ===== Utilisation avancée ===== ===== Utilisation avancée =====
  
 ==== Array jobs ==== ==== Array jobs ====
  
-Vous devriez commencer par lire la [[https://​slurm.schedmd.com/​job_array.html|documentation officielle]].+Vous devriez commencer par lire la [[https://​slurm.schedmd.com/​job_array.html|documentation officielle]]. Cette [[http://​scicomp.aalto.fi/​triton/​tut/​array.html|page]] présente des cas d'​utilisations intéressants.
  
 Si vous avez un grand nombre de fichier ou de parametres à traiter avec un seul exécutable,​ vous devez utiliser un [[https://​slurm.schedmd.com/​job_array.html|array job]]. Si vous avez un grand nombre de fichier ou de parametres à traiter avec un seul exécutable,​ vous devez utiliser un [[https://​slurm.schedmd.com/​job_array.html|array job]].
Ligne 518: Ligne 530:
  
 Par défaut, il est impossible de se connecter en ssh directement sur les nœuds de calcul. Cependant, si c'est justifié, nous pouvons facilement faire des exceptions si celles ci sont temporaires. Dans ce cas, merci de faire une demande explicite à technique [at] info.univ-angers.fr Par défaut, il est impossible de se connecter en ssh directement sur les nœuds de calcul. Cependant, si c'est justifié, nous pouvons facilement faire des exceptions si celles ci sont temporaires. Dans ce cas, merci de faire une demande explicite à technique [at] info.univ-angers.fr
 +
 +Les utilisateurs ayant un accès en ssh doivent être abonnés à la liste calcul-hpc-leria-no-slurm-mode@listes.univ-angers.fr.
 +Pour s'​inscrire à cette liste de diffusion, il suffit d'​envoyer un mail à sympa@listes.univ-angers.fr avec pour objet: subscribe calcul-hpc-leria-no-slurm-mode Nom Prénom
 +
 +__Règle par défaut:__ on ne lance pas un calcul sur un serveur sur lequel tourne déjà un calcul d'un autre utilisateur,​ **même si celui-ci n'​utilise pas toute les ressources**.
 +Exception pour les processus boinc. Ces processus se mettent en pause lorsque vous exécutez vos calculs.
 +
 +La commande htop vous permet de savoir qui calcule avec quelles ressources et depuis combien de temps.
 +
 +Si vous avez un doute, contactez l'​utilisateur qui calcule directement par email ou via la liste calcul-hpc-leria-no-slurm-mode@listes.univ-angers.fr
  
 ==== Cuda ==== ==== Cuda ====
Ligne 528: Ligne 550:
  
 Ces nœuds sont pour l'​instant hors des listes de soumissions de slurm (bien que la partition gpu existe déjà). Pour pouvoir vous en servir, merci d'en faire la demande explicite à technique [at] info.univ-angers.fr Ces nœuds sont pour l'​instant hors des listes de soumissions de slurm (bien que la partition gpu existe déjà). Pour pouvoir vous en servir, merci d'en faire la demande explicite à technique [at] info.univ-angers.fr
- 
-Listes des utilisateurs autorisés à se servir des nœuds gpu actuellement (en ssh): 
-  * benoit.damota 
-  * jean-michel.richer 
-  * o.goudet 
  
 ==== Nœud RAM ==== ==== Nœud RAM ====
Ligne 538: Ligne 555:
  
 Ce nœud est accesible par soumissions via slurm (partition ram). Pour pouvoir vous en servir, merci d'en faire la demande explicite à technique [at] info.univ-angers.fr Ce nœud est accesible par soumissions via slurm (partition ram). Pour pouvoir vous en servir, merci d'en faire la demande explicite à technique [at] info.univ-angers.fr
- 
-Listes des utilisateurs autorisés à se servir des nœuds ram actuellement (en ssh): 
-  * benoit.damota (pour boinc) 
-  * gilles.hunault (pour test) 
- 
-Listes des utilisateurs autorisés à se servir des nœuds ram actuellement (via slurm): 
-  * frederic.lardeux 
-  * gilles.hunault 
  
 ==== Cplex ==== ==== Cplex ====
Ligne 552: Ligne 561:
  
 Le chemin pour la bibliothèque Cplex est le chemin par défaut /​opt/​ibm/​ILOG/​CPLEX_Studio129 (version 12.9) Le chemin pour la bibliothèque Cplex est le chemin par défaut /​opt/​ibm/​ILOG/​CPLEX_Studio129 (version 12.9)
 +
 +
 +==== Environnements conda (Python) ====
 +
 +La commande **conda activate <​env_name>​**,​ permettant d'​activer un environnement conda n'est pas utilisable avec slurm. À la place, il faut utiliser au début du script de lancement :
 +
 + source ./​anaconda3/​bin/​activate <​env_name>​
 +
 +Il sera peut être également nécessaire de mettre à jour les variables d'​environnement et d'​initialiser conda sur le noeud de calcul :
 +
 + source .bashrc
 + conda init bash
 +
 +L'​environnement restera alors actif d'une exécution à une autre. Pour le désactiver,​ il faudra utiliser :
 +
 + source ./​anaconda3/​bin/​deactivate
 ===== FAQ ===== ===== FAQ =====
  
-  * Savoir quels sont les ressources d'une partition, exemple avec la partion ​std:+  * Comment savoir quelles ​sont les ressources d'une partition, exemple avec la partition ​std:
  
   user@stargate~#​ scontrol show Partition std   user@stargate~#​ scontrol show Partition std
 + 
 +  * Que signifie "Some of your processes may have been killed by the cgroup out-of-memory handler"​ ?
 +
 +Vous avez dépassé la limite de mémoire que vous avez fixé ou celle par défaut (paramètre --mem-per-cpu)
  
   * Comment obtenir un prompt shell interactif dans un nœud de calcul de votre partition par défaut ?   * Comment obtenir un prompt shell interactif dans un nœud de calcul de votre partition par défaut ?
Ligne 642: Ligne 671:
   * keras   * keras
   * scikit-learn   * scikit-learn
-  * tenserflow +  * tensorflow 
-  * tenserflow-gpu # Sur nœuds gpu+  * tensorflow-gpu # Sur nœuds gpu
  
 ==== Nœuds GPU via apt-get ==== ==== Nœuds GPU via apt-get ====
leria/centre_de_calcul/cluster.1553526829.txt.gz · Dernière modification: 25/03/2019 16:13 par Chantrein Jean-Mathieu
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0