Ceci est une ancienne révision du document !
Cet article décrit deux des notions fondamentales de l'ordonnanceur de travaux slurm :
Une partition est un groupe de nœuds de calcul du cluster
Les partitions sont utilisées :
Rappel : pour connaître les nœuds de calcul disponibles, consultez la page de description matérielle
Vous trouverez sur CALI :
Partition | Noeuds | Durée max / job | # noeuds max / job | # CPU Max actives / User | Priorité | Infiniband | Pré-emptible ? |
---|---|---|---|---|---|---|---|
rapide | tous sauf GPU | 1 H | N/A | 100 | 32 | Selon placement | Selon placement |
normal | tous sauf GPU | 2 J | N/A | 50 | 96 | Selon placement | Selon placement |
cluster | tous sauf GPU | 45 J | 1 | 1 | 96 | Selon placement | Selon placement |
gpu | Ceux avec GPU | 2 J | N/A | 10 | - | Non | Selon placement |
Le principe général est le suivant :
rapide
normal
→ mais ils doivent durer moins de 2 jourscluster-e5v4
→ ils doivent durer moins de 2 jours et ils peuvent être pré-emptés (voir ci-après)cluster-nopreempt
. Mais les ressources disponibles sont limitéescluster
. Mais un job ne pourra pas s'étendre sur plus d'un nœud (code séquentiel ou threadé ou MPI en mode shared memory)Les jobs longs (plusieurs jours) sont à éviter autant que possible :
La partition cluster-e5v4
contient des nœuds de calcul acquis par deux laboratoires. Vos jobs peuvent être pré-emptés (par arrêt/relance) pour libérer des ressources pour les laboratoires qui les ont financés.
Afin de vous inciter à l'utiliser, la QoS appliquée dessus possède un facteur d'usage nul, ce qui signifie que le temps CPU consommé sur cette partition ne sera pas comptabilisé lors du calcul de la priorité de vos jobs.
Certains noeuds de calcul ont été financés spécifiquement par des laboratoires :
Pour répondre à ce besoin, les noeuds sont regroupés dans des partitions de très haute priorité, utilisables uniquement par le laboratoire propriétaire.
Afin d'utiliser une partition privative, un membre du laboratoire doit simplement changer le nom de la partition (--partition
).
Il est à noter qu'une QoS différente sera automatiquement sélectionnée :
Partition | Noeuds | Durée max | Priorité |
---|---|---|---|
cluster-e5v4-umr850 | node46-57 (2016) | 30 J | 100 |
gpu-umr850 | node58 (2016) | 30 J | 100 |
cluster-e5v4-xlim-electro | node59-62 (2016) | 30 J | 100 |
gpu-umr1248-gtx1080 | node63-64 (2018) | 30 J | 100 |
gpu-ircer-gtx1080 | node65 (2018) | 30 J | 100 |
xlim-cc | node66 (2019) | 30 J | 100 |
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 :
QoS | # CPU max | # Noeuds max | # CPU max / util. | # job max actif / utilisateur | # job max en file / utilisateur | Facteur d'usage |
---|---|---|---|---|---|---|
rapide | 32 | 2 | 10 | 1.0 | ||
normal | 96 | 1.0 | ||||
cluster | 96 | 1.0 | ||||
cluster-nopreempt | 88 | 14 | 1.0 | |||
cluster-e5v4 | 0.0 | |||||
gold-geist-lcsn | 0.0 | |||||
gold-geist-genolim | 0.0 | |||||
gold-geist-umr850 | 0.0 | |||||
gold-ipam-spcts | 0.0 |
sacctmgr list qos
sacctmgr list user $(whoami) WithAssoc Format=User%18,Account%20,QoS%100
sacctmgr list user WithAssoc Format=User%18,Account%20,QoS%60 | grep QOS_CHERCHEE