で単一ノードジョブを実行する AWS PCS - AWS PCS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

で単一ノードジョブを実行する AWS PCS

Slurm を使用してジョブを実行するには、ジョブ要件を指定する送信スクリプトを準備し、 sbatch コマンドを使用してキューに送信します。通常、これは共有ディレクトリから行われるため、ログインノードとコンピューティングノードにはファイルにアクセスするための共通のスペースがあります。

クラスターのログインノードに接続し、シェルプロンプトで次のコマンドを実行します。

  • デフォルトユーザーになる。共有ディレクトリに変更します。

    sudo su - ec2-user cd /shared
  • 次のコマンドを使用して、サンプルジョブスクリプトを作成します。

    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
  • ジョブスクリプトを Slurm スケジューラに送信します。

    sbatch -p demo job.sh
  • ジョブが送信されると、ジョブ ID が数値として返されます。その ID を使用してジョブのステータスを確認します。置換 job-id 次のコマンドの を、 から返された番号で指定しますsbatch

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

    squeue コマンドは次のような出力を返します。

    JOBID PARTITION NAME USER     ST TIME NODES NODELIST(REASON)
    1     demo      test ec2-user CF 0:47 1     compute-1
  • R実行中) ステータスに達するまで、ジョブのステータスを引き続き確認します。ジョブは、 squeueが何も返さないときに行われます。

  • /shared ディレクトリの内容を確認します。

    ls -alth /shared

    コマンド出力は、次のようになります。

    -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

    single.1.out および という名前のファイルは、クラスターのコンピューティングノードの 1 つによってsingle.1.err書き込まれました。ジョブは共有ディレクトリ (/shared) で実行されたため、ログインノードでも利用できます。このため、このクラスターFSxに for Lustre ファイルシステムを設定しました。

  • single.1.out ファイルの内容を確認します。

    cat /shared/single.1.out

    出力は次の例のようになります。

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