Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
slurm:partitions [2022/12/21 13:58] montap01 [Partitions] |
slurm:partitions [2024/10/02 17:22] (Version actuelle) montap01 |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
~~SLIDESHOW theme=yatil level=4~~ | ~~SLIDESHOW theme=yatil level=4~~ | ||
- | ====== Partitions de CALI-2 ====== | + | ====== Partitions de CALI-2, Feature |
Cet article décrit deux des notions fondamentales de l' | Cet article décrit deux des notions fondamentales de l' | ||
* les // | * les // | ||
Ligne 22: | Ligne 22: | ||
==== Partitions ouvertes à tout chercheur ==== | ==== Partitions ouvertes à tout chercheur ==== | ||
=== Liste ==== | === Liste ==== | ||
- | ^Partition ^Noeuds ^ Durée max / job ^Nb noeuds max / job ^ Priorité | + | ^Partition ^Noeuds ^Durée max / job ^# noeuds max / job ^# CPU Max actives / User ^# Max Jobs actif (soumis) / User ^ Infiniband ^ Pré-emptible ? ^ |
- | ^rapide | + | ^rapide |
- | ^normal | + | ^normal |
- | ^cluster | + | ^cluster |
- | ^cluster-nopreempt | + | |
- | ^gpu |GPU 2014 | 2 J | + | |
- | ^cluster-e5v4 | + | |
- | + | ||
- | ==== Autres limites ==== | + | |
- | * D' | + | |
- | * Vous devez donc consulter ci-après la liste des QoS pour en prendre connaissance et bien comprendre la différence entre les partitions | + | |
+ | Pour ceux qui veulent en savoir plus, les //limites// ci-dessus sont imposées à travers plusieurs mécanismes : | ||
+ | * les limites des partitions proprement dites | ||
+ | * le choix d'une //QoS// utilisateur qui est faite __automatiquement__ lors de la soumission d'un travail | ||
==== Quelle partition choisir ? ==== | ==== Quelle partition choisir ? ==== | ||
Le principe général est le suivant : | Le principe général est le suivant : | ||
* pour la mise au point de code, jobs très courts : '' | * pour la mise au point de code, jobs très courts : '' | ||
- | * pour les jobs " | + | * pour les jobs " |
- | * '' | + | * point notable : **durée limitée à 2 jours** |
- | * '' | + | * pour les jobs " |
- | * pour les jobs " | + | * point notable |
- | * pour les jobs " | + | |
- | === Danger des jobs longs === | + | === Danger des jobs longs (partition cluster) |
Les jobs longs (plusieurs jours) sont à éviter autant que possible : | Les jobs longs (plusieurs jours) sont à éviter autant que possible : | ||
* Les nœuds de calculs ne sont pas " | * Les nœuds de calculs ne sont pas " | ||
* L' | * L' | ||
- | === Bonus / Malus sur cluster-e5v4 | + | ==== Partitions " |
- | La partition '' | + | |
- | + | ||
- | Afin de vous inciter à l' | + | |
- | + | ||
- | ==== Partitions | + | |
=== Principe === | === Principe === | ||
- | Certains noeuds de calcul ont été financés spécifiquement par des laboratoires : | + | Certains noeuds de calcul ont été financés spécifiquement par des laboratoires |
* ces parties " | * ces parties " | ||
- | * mais le laboratoire propriétaire sera hautement | + | * mais le laboratoire propriétaire sera prioritaire lorsqu' |
- | Pour répondre à ce besoin, | + | Autrement dit : |
+ | * les noeuds sont regroupés dans des partitions de haute priorité, utilisables uniquement par le laboratoire propriétaire. | ||
+ | * si des jobs d' | ||
=== Utilisation === | === Utilisation === | ||
Afin d' | Afin d' | ||
- | |||
- | Il est à noter qu'une QoS différente sera automatiquement sélectionnée : | ||
- | * pour ne pas pénaliser la priorité de l' | ||
- | * comme mesure de //contrôle d' | ||
- | * avec un facteur d' | ||
=== Liste === | === Liste === | ||
- | ^Partition | + | ^Partition |
- | ^cluster-e5v4-umr850 | + | ^cluster-e5v4-umr850 |
- | ^gpu-umr850 | + | ^gpu-umr850 |
- | ^cluster-e5v4-xlim-electro | + | ^cluster-e5v4-xlim-electro |
- | ^gpu-umr1248-gtx1080 | + | ^gpu-umr1248-gtx1080 |
- | ^gpu-ircer-gtx1080 | + | ^gpu-ircer-gtx1080 |
- | ^xlim-cc | + | ^xlim-cc |
+ | |||
+ | |||
+ | ===== Les " | ||
+ | ==== Principe ==== | ||
+ | Chaque //noeud// est marqué avec des // | ||
+ | |||
+ | Sur CALI, vous pouvez utiliser les // | ||
+ | * demander un type de processeur | ||
+ | * demander des noeuds **qui ne sont pas soumis à la pré-emption** | ||
+ | * demander des noeuds **qui ont le réseau Infiniband** | ||
+ | |||
+ | ==== Eviter la pré-emption ==== | ||
+ | Nous avons déjà vu que certains noeuds sont à la fois dans des partitions ouvertes à tout le monde, et dans des partitions // | ||
+ | |||
+ | Pour éviter ce mécanisme, appelez la //feature// '' | ||
+ | <file bash> | ||
+ | #SBATCH --constraint=NoPreemption | ||
+ | </ | ||
+ | |||
+ | __Inconvénient__ le job sera limité aux noeuds les plus anciens de CALI, il ne pourra pas s' | ||
+ | |||
+ | ==== Choisir un type de processeur ==== | ||
+ | Les partitions communes sont hétérogènes. Vous pouvez spécifier sur quel processeur vous voulez exécuter le job. | ||
+ | Liste des //feature// déclarés (correspondant au nom du processeur) : | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | Pour que le job se lance sur des processeurs E5-2630-v4, il faut par exemple ajouter: | ||
+ | <file bash> | ||
+ | #SBATCH --constraint=Xeon-E5-2630-v4 | ||
+ | </ | ||
- | ===== QoS ===== | + | Consultez la page [[:materiel-cali2]] |
- | La QoS, ou //Quality of Service //, est dans slurm une notion orthogonale aux partitions. En pratique, les QoS sont utilisés sur CALI-2 pour : | + | |
- | * imposer des limites, qu’on ne peut pas donner au niveau des partitions : nombre de job en cours par utilisateur, | + | |
- | * ou pour contrôler l' | + | |
- | ==== Choix de la QoS ==== | + | ==== Réseau Infiniband |
- | * Dans notre configuration, | + | Tous les noeuds |
- | * Par simplicité, | + | |
- | * La QoS est **automatiquement sélectionnée** par rapport à la partition choisie, **vous | + | |
- | * La liste ci-après vous permet de connaître les limites imposées par les QoS associées aux partitions | + | |
- | ==== Liste ==== | + | |
- | ^ QoS ^ # CPU max ^ # Noeuds max ^ # CPU max / util. ^ # job max actif / utilisateur ^ # job max en file / utilisateur ^ Facteur d' | + | |
- | ^ rapide | | + | |
- | ^ normal | | + | |
- | ^ cluster| | + | |
- | ^ cluster-nopreempt | 88| 14| | | + | |
- | ^ cluster-e5v4 | + | |
- | ^ gold-geist-lcsn | + | |
- | ^ gold-geist-genolim| | + | |
- | ^ gold-geist-umr850 | | | | | + | |
- | ^ gold-ipam-spcts | + | |
- | ==== S' | + | En pratique, seuls 4 noeuds, dont 3 dédiés GPU, ne sont pas équipés. Si vous voulez être certains que votre job disposera du réseau Infiniband (utile pour les calculs distribués MPI), utilisez la // |
- | * Lister les QoS : '' | + | <file bash> |
- | * Connaître les //QoS// avec lesquelles vous pouvez soumettre des travaux<code> | + | #SBATCH --constraint=Infiniband |
- | sacctmgr list user $(whoami) WithAssoc Format=User%18, | + | </file> |
- | </ | + | |
- | * Lister les usagers autorisés pour une QoS < | + | |
- | sacctmgr list user WithAssoc Format=User%18, | + | |
- | </code> | + | |
- | ===== Références ===== | ||
- | * http:// |