Outils pour utilisateurs

Outils du site


slurm:affinite

Ceci est une ancienne révision du document !


Voir cette page sous forme de diaporama.

Affinités des processus sous Slurm

Cet article explique brièvement la configuration adoptée concernant l'affinité des processus sous slurm, c'est à dire leur liaison avec les CPU des nœuds de calcul.

Affinité

L' affinité d'un processus permet de le lier à un ou plusieurs cœurs sur une machine multi-cœur (architecture SMP)

Le processus sera ainsi cantonné à un ensemble donné de cœurs pour son exécution. Il ne pourra pas être exécuté par Linux sur les autres cœurs du serveur.

Intérêt sur CALI

Le problème

  • Sur notre cluster, les nœuds de calcul fonctionnent par défaut en mode partagé : plusieurs jobs peuvent s'exécuter en même temps sur le même nœud
  • Dans un job slurm, vous demandez une réservation, par exemple pour 4 CPU
  • Mais vous avez la liberté de lancer plus de 4 processus simultanés, ou un processus avec plus de 4 threads : Slurm ne contrôle pas cela
  • Il y a donc un risque de surcharge du nœud qui va impacter les autres usagers

La solution

  • Slurm dispose de plusieurs mécanismes permettant de circonscrire les ressources utilisables
  • Nous utilisons le plus simple des deux via le paramètre TaskPlugin=task/affinity
  • Slurm positionnera automatiquement l'affinité des processus pour limiter le nombre de CPU utilisables à la valeur demandée dans –cpus-per-task

Références

slurm/affinite.1434383104.txt.gz · Dernière modification: 2015/06/15 17:45 de montap01