Traitement de gros volume de fichiers

Bien que les Job Steps et les Job Arrays permettent tous les deux de lancer des traitements en nombre et en parallèle, leur mise en place et leur fonctionnement sont très différents :

  • Les Job Arrays sont très simples à mettre en place (une seule option SBATCH "array" à ajouter) et gèrent la quantité de Jobs à exécuter simultanément alors que des Job Steps nécessitent d'effectuer le travail manuellement (itération sur les sources, création des steps en arrière plan...).

  • Un Job Array est une collection de Jobs. Par conséquent, les Jobs sont exécutés individuellement en fonction des ressources disponibles ; dès qu'un des Jobs de l'Array se termine, Slurm exécute immédiatement le suivant, ce qui réduit le temps total d'exécution et optimise l'utilisation des ressources. Les Job Steps, en revanche, nécessitent que la totalité des ressources demandées soient toutes disponibles pour exécuter le Job.

Pour exécuter un traitement similaire sur un grand nombre de sources, utilisez des Job Arrays.

Si, par contre, le traitement à effectuer nécessite d'exécuter en parallèle des traitements très différents (pas seulement une question de source/fichier) et/ou il n'est pas possible de sélectionner une source à partir d'un index, utilisez des Jobs Steps.

Il est par ailleurs tout à fait possible d'utiliser les deux en même temps !