Project

General

Profile

Jobs préemptables

Un job préemptable est un job qui est susceptible d'être arrêté pour permettre l'exécution d'un job soumis dans une partition de priorité plus élevée.

Lorsqu'un job est préempté, il est interrompu (les processus sont tués) par le scheduler puis remis en file d'attente pour être relancé plus tard.

Pour soumettre un job préemptable, il faut utiliser la partition preemptible

#SBATCH -p preemptible

La partition preemptible permet d'accéder à tous les noeuds compute (de n001 à n364) et les jobs seront susceptibles d'être arrêtés et remis en queue s'ils tournent sur les noeuds n337 à n364 (correspondant à la partition imb-resources).

ATTENTION: Le mode turbo est activé sur les processeurs des noeuds n337 à n364.

Les jobs de la partition preemptible peuvent être préemptés par ceux de la partition imb-resources mais pas les autres partitions. Cela signifie que lorsqu'un job preemptible tourne sur des nœuds de la partition normale (n001 à n336), il ne sera pas normalement interrompu (la partition imb-resources ne peut pas tourner sur ces nœuds là). Si par contre ce job tourne sur un nœud n337 à n364, il pourra donc éventuellement être interrompu par un job de la partition imb-resources.

Conseils: Pour bien utiliser cette partition, les jobs doivent supporter d'être arrêtés et relancés à tout moment :

  • être capable de redémarrer proprement même si le job a en partie démarré précédemment
  • faire si possible du checkpointing régulier (sauvegarde atomique de l'état complet du job pour pouvoir reprendre au même endroit) afin ne pas perdre les calculs déjà effectués après de longs moment de run
  • pour faire des sauvegardes atomiques, vu que les jobs peuvent-être interrompus à tout moment - y compris pendant la sauvegarde, une solution simple est d'écrire dans un répertoire (ou fichier) temporaire avant de renommer ce répertoire (ou ce fichier) avec le nom définitif (atomique), contenant une sauvegarde ( checkpoint ) valide.