Table des matières

Voir cette page sous forme de diaporama.

Partitions de CALI-2, Feature

Cet article décrit deux des notions fondamentales de l'ordonnanceur de travaux slurm :

Partitions

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 :

Partitions ouvertes à tout chercheur

Liste

Partition Noeuds Durée max / job # noeuds max / job # CPU Max actives / User # Max Jobs actif (soumis) / User Infiniband Pré-emptible ?
rapide tous sauf GPU 1 H - 32 2 (10) Selon placement Selon placement
normal tous sauf GPU 2 J - 256 - (400) Selon placement Selon placement
cluster tous sauf GPU 45 J 1 120 - (400) Selon placement Selon placement

Pour ceux qui veulent en savoir plus, les limites ci-dessus sont imposées à travers plusieurs mécanismes :

Quelle partition choisir ?

Le principe général est le suivant :

Danger des jobs longs (partition cluster)

Les jobs longs (plusieurs jours) sont à éviter autant que possible :

Partitions "privatives" (à accès restreint)

Principe

Certains noeuds de calcul ont été financés spécifiquement par des laboratoires ou groupes de chercheurs :

Autrement dit :

Utilisation

Afin d'utiliser une partition privative, un membre du laboratoire doit simplement changer le nom de la partition (--partition).

Liste

Partition Noeuds Durée max
cluster-e5v4-umr850 node46-57 (2016) 30 J
gpu-umr850 node58 (2016) 30 J
cluster-e5v4-xlim-electro node59-62 (2016) 30 J
gpu-umr1248-gtx1080 node63-64 (2018) 30 J
gpu-ircer-gtx1080 node65 (2018) 30 J
xlim-cc node66 (2019) 30 J

Les "Features" : contrôler le placement des jobs, éviter la pré-emption

Principe

Chaque noeud est marqué avec des features. Lorsqu'on lance un job, il est possible de demander son placement sur des noeuds possédant certaines features, avec par exemple l'option --constraint

Sur CALI, vous pouvez utiliser les features pour plusieurs usages :

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 privatives, prioritaires. Si un job est lancé dans la partition prioritaire, slurm va, si nécessaire, “libérer” des ressources via le mécanisme de pré-emption (gel des jobs en cours).

Pour éviter ce mécanisme, appelez la feature NoPreemption. Par exemple, ajouter :

#SBATCH --constraint=NoPreemption

Inconvénient le job sera limité aux noeuds les plus anciens de CALI, il ne pourra pas s'exécuter sur les processeurs les plus puissants

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:

#SBATCH --constraint=Xeon-E5-2630-v4

Consultez la page materiel-cali2 pour connaître le nombre de noeuds disponibles pour chaque type de processeur.

Réseau Infiniband

Tous les noeuds n'ont pas de réseau Infiniband.

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 feature Infiniband

#SBATCH --constraint=Infiniband