AWS ParallelCluster の起動と確認
ParallelCluster の起動
- Cloud9 のターミナルにコマンドを入力していきます。
- 以下のコマンドで ParallelCluster を作成・起動します。 (ここでは例として
pcluster01
の名前でクラスタを構成しています)
- 正常に ParallelCluster の構成が完了すると、下記のような
CREATE_COMPLETE
のメッセージとマスターノードのアドレス情報などが出力されます。
pcluster create pcluster01
Beginning cluster creation for cluster: pcluster01
Creating stack named: parallelcluster-pcluster01
Status: parallelcluster-mycluster - CREATE_COMPLETE
ClusterUser: centos
MasterPrivateIP: 10.0.0.132
以下のようなメッセージが出た場合は、別の Private Subnet を作成し、config ファイルに指定する必要があります。手順がわからない場合は、ハンズオンオーガナイザーにご確認ください。
Your requested instance type (c5.xlarge) is not supported in your requested Availability Zone (us-east-1e). Please retry your request by not specifying an Availability Zone or choosing us-east-1a, us-east-1b, us-east-1c, us-east-1d, us-east-1f.
ParallelCluster の状態確認
pcluster では以下のようなコマンドを使用し、実行中のクラスタの状態を確認する事が可能です。
pcluster status pcluster01
マネジメントコンソールから EC2 インスタンスのページにいき、立ち上がっているインスタンスを確認します。
- 他に何も起動していなければ Cloud9 用インスタンスと、ParallelCluster の Master server の 2 つのインスタンスが立ち上がっています。

ParallelCluster へのログイン
- 次のコマンドで ParallelCluster のヘッドノードにログインします。
~/environment/guest01-key.pem
は先程 Cloud9 にアップロードした秘密鍵です。別の名前を使用している場合は置き換えてください。
- SSH では、鍵ファイルの権限チェックがあるため、事前に
chmod
コマンドで権限を600
(Owner のみ読み書き可能)に変更しています。
chmod 600 ~/environment/guest01-key.pem
pcluster ssh pcluster01 -i ~/environment/guest01-key.pem
- クラスタへの初回アクセス時には、ホスト確認メッセージが表示されるため、
yes
と入力してください。
The authenticity of host '3.84.225.142 (3.84.225.142)' can't be established.
ECDSA key fingerprint is SHA256:pSnDp+HY3hH9ulqlWWx5G+H559s/fAmnSPWwI+zlcGA.
ECDSA key fingerprint is MD5:d8:2c:cf:91:9d:90:86:1f:5e:ee:32:05:7d:91:f3:1f.
Are you sure you want to continue connecting (yes/no)? yes
ParallelCluster の動作確認
SGE 編または、Slurm 編のいずれかを、ハンズオンオーナーの指示に従って実施してください。
- Master server にログインして動作確認を行います。
- 以下のコマンドは Master server 上で実行します。
スケジューラの確認
sinfo
コマンド (Slurm) / qhost
コマンド (SGE) により、起動中の Compute node の一覧を取得できます。
スケジューラの確認 (Slurm)
- 出力例
- クラスタにログインした直後には、1 台も起動していないため、compute の NODES には 0 と表示されます。
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST
compute* up infinite 10 idle~ compute-dy-c5xlarge-[1-10]
スケジューラの確認 (SGE)
出力例
クラスタにログインした直後には、1 台も起動していないため、Compute node は表示されません。
HOSTNAME ARCH NCPU NSOC NCOR NTHR LOAD MEMTOT MEMUSE SWAPTO SWAPUS
----------------------------------------------------------------------------------------------
global - - - - - - - - - -
テスト用ジョブスクリプトの作成
以下のコマンドを実行して、sleep
してホスト名と日時を表示するだけの簡単なジョブファイル(job1.sh
)を作成します。
テスト用ジョブスクリプトの作成 (Slurm)
cat > job1.sh << EOF
#!/bin/bash
#SBATCH -n 1
sleep 60 ; hostname ; date
EOF
テスト用ジョブスクリプトの作成 (SGE)
echo "sleep 60 ; hostname ; date" > job1.sh
ファイルが作成されていることを確認します。
ジョブ投入
ジョブを投入するには、sbatch
コマンド (Slurm) / qsub
コマンド (SGE) を使用します。
ジョブ投入 (SGE)
Unable to run job: warning: centos's job is not allowed to run in any queue
Your job 1 ("job1.sh") has been submitted
Exiting.
Compute node が無い時は、warning が出力されますが問題ありません (このジョブ投入をトリガーに Compute node が構成されます)。
ジョブ確認
squeue
コマンド (Slurm) / qstat
コマンド (SGE) により、ジョブキュー状態を表示します。
ジョブ確認 (Slurm)
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
2 compute job1.sh centos CF 0:12 1 compute-dy-c5xlarge-1
ジョブ確認 (SGE)
job-ID prior name user state submit/start at queue slots ja-task-ID
-----------------------------------------------------------------------------------------------------------------
1 0.00000 job1.sh centos qw 06/27/2020 16:29:39 1
ジョブ実行が完了すると、squeue
/ qstat
コマンドの出力からジョブの表示が無くなります。
Compute ノードが無い状態では、ジョブ投入後 ComputeFleet の起動に時間を要するため、ジョブが完了するまでに数分の時間を要します。
(時折り squeue
/ qstat
コマンドを実行して状態の変化を確認してみましょう)
ジョブ実行結果
ジョブの実行結果を確認します。
ジョブの実行結果確認 (Slurm)
squeue
で、ジョブの状態が R
(実行中)に変化したのち、リストから削除されます。
出力ファイルslurm-2.out
を表示し、問題なく実行できているか確認しましょう(.out
の前の数字はジョブ ID によって変化します)。
ip-10-0-23-24
Mon Aug 17 14:23:11 UTC 2020
ジョブの実行結果確認 (SGE)
qstat
で、ジョブの状態が r
(実行中)に変化したのち、リストから削除されます。
出力ファイルjob1.sh.o1
を表示し、問題なく実行できているか確認しましょう(o
の後ろの数字はジョブ ID によって変化します)。