Projet

Général

Profil

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 n316 à n336 (correspondant à la partition i2m-resources) ou sur les noeuds n337 à n364 (correspondant à la partition imb-resources).

ATTENTION: Le mode turbo est activé sur les processeurs des noeuds imb-resources (n337 à n364).

Les jobs de la partition preemptible peuvent être préemptés par ceux des partitions imb-resources ou i2m-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 (les partitions imb-resources et i2m-resources ne peuvent 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. Idem pour les noeuds n316 à n336 avec la partition i2m-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.