Exécuter une tâche à nœud unique dans AWS PCS - AWS PCS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exécuter une tâche à nœud unique dans AWS PCS

Pour exécuter une tâche à l'aide de Slurm, vous devez préparer un script de soumission spécifiant les exigences de la tâche et le soumettre à une file d'attente avec la sbatch commande. Généralement, cela se fait à partir d'un répertoire partagé, de sorte que les nœuds de connexion et de calcul disposent d'un espace commun pour accéder aux fichiers.

Connectez-vous au nœud de connexion de votre cluster et exécutez les commandes suivantes à l'invite du shell.

  • Devenez l'utilisateur par défaut. Accédez au répertoire partagé.

    sudo su - ec2-user cd /shared
  • Utilisez les commandes suivantes pour créer un exemple de script de tâche :

    cat << EOF > job.sh #!/bin/bash #SBATCH -J single #SBATCH -o single.%j.out #SBATCH -e single.%j.err echo "This is job \${SLURM_JOB_NAME} [\${SLURM_JOB_ID}] running on \${SLURMD_NODENAME}, submitted from \${SLURM_SUBMIT_HOST}" && sleep 60 && echo "Job complete" EOF
  • Soumettez le script de tâche au planificateur Slurm :

    sbatch -p demo job.sh
  • Lorsque la tâche est soumise, elle renvoie un identifiant de tâche sous forme de numéro. Utilisez cet identifiant pour vérifier le statut du travail. Remplacez job-id dans la commande suivante avec le numéro renvoyé parsbatch.

    squeue --job job-id
    squeue --job 1

    La squeue commande renvoie un résultat similaire à ce qui suit :

    JOBID PARTITION NAME USER     ST TIME NODES NODELIST(REASON)
    1     demo      test ec2-user CF 0:47 1     compute-1
  • Continuez à vérifier l'état de la tâche jusqu'à ce qu'elle atteigne le statut R (en cours). Le travail est terminé quand il squeue ne renvoie rien.

  • Inspectez le contenu du /shared répertoire.

    ls -alth /shared

    Le résultat de la commande est similaire à ce qui suit :

    -rw-rw-r- 1 ec2-user ec2-user 107 Mar 19 18:33 single.1.out
    -rw-rw-r- 1 ec2-user ec2-user 0 Mar 19 18:32 single.1.err
    -rw-rw-r- 1 ec2-user ec2-user 381 Mar 19 18:29 job.sh

    Les fichiers single.1.err ont été nommés single.1.out et écrits par l'un des nœuds de calcul de votre cluster. La tâche ayant été exécutée dans un répertoire partagé (/shared), elles sont également disponibles sur votre nœud de connexion. C'est pourquoi vous avez configuré un système de fichiers FSx for Lustre pour ce cluster.

  • Inspectez le contenu du single.1.out fichier.

    cat /shared/single.1.out

    La sortie est similaire à ce qui suit :

    This is job test [1] running on compute-1, submitted from ip-10-3-13-181
    Job complete