5.5. 会話型ジョブ¶
会話型ジョブとは、割り当てた資源内で、ジョブを対話的に実行するジョブタイプで、以下の特徴があります。
端末から対話的に実行される
再実行は不可である
5.5.1. ジョブの投入¶
ジョブの投入は、pjsubコマンドの--interact
オプションを使用します。
pjsubコマンドで対話型で実行する方法
[_LNlogin]$ pjsub --interact -g groupname -L "node=1" -L "rscgrp=int" -L "elapse=1:00:00" --sparam "wait-time=600" [INFO] PJM 0000 pjsub Job 405918 submitted. [INFO] PJM 0081 .connected. [INFO] PJM 0082 pjsub Interactive job 405918 started. [_CNlogin]$ module list Currently Loaded Modulefiles: 1) lang/tcsds-1.2.31 [_CNlogin]$ ./a.out (省略) [_CNlogin]$ exit [_LNlogin]$
pjsubコマンドでジョブスクリプトを指定してジョブを投入
[_LNlogin]$ pjsub --interact ./sample.sh # 事前に作成したジョブスクリプトを指定 [INFO] PJM 0000 pjsub Job 405918 submitted. [INFO] PJM 0081 .connected. [INFO] PJM 0082 pjsub Interactive job 405918 started. (省略)... #← ジョブスクリプトの出力内容 [INFO] PJM 0083 pjsub Interactive job 405918 completed.
5.5.2. コマンド形式¶
会話型ジョブは、pjsubコマンドに--interact
を指定して実行します。
[書式]
pjsub --interact -g groupname -L "elapse=1:00:0" [--sparam wait-time=waittime] [options] [script-file]
--sparam wait-time
で指定された時間、資源割り当てを待ちます。オプション |
説明 |
---|---|
elapse=elapsedtime |
ジョブの最大実行可能時間を指定します。
省略時は10秒です。
|
--sparam "wait-time=waittime" |
計算資源割り当て待ち時間を秒単位で指定します。
waittime に指定可能な範囲は、0~36000 および unlimited で、デフォルト値は 0 となります。unlimited が指定された場合、計算資源が割り当てられるまで待ち続けます。計算資源割り当てのタイムアウトを避けるには60秒以上の指定を推奨します。
|
[オプション指定例]
会話型ジョブが、計算資源割り当て待ち時間を超えてキャンセルされた場合、以下のようなメッセージを表示し、pjsubコマンドは終了します。
[_LNlogin]$ pjsub --interact -g groupname --sparam "wait-time=600" # 資源割り当て待ちを最長600秒(10分)待つ
[INFO] PJM 0000 pjsub Job 291 submitted.
[INFO] PJM 0081 .
[INFO] PJM 0080 pjsub Interactive job 291 is canceled due to the resource allocation timeout.
The timeout period "t" can be specified by "--sparam wait-time=t".
5.5.3. コマンドのオプションブロック¶
会話型ジョブのオプションには、pjsubコマンドのオプションを指定することが可能です。 ただし、一部のオプションは、会話型ジョブ実行時には無効となります。なお、無効なオプションを指定した場合、エラーにはならず無視されます。
以下に会話型ジョブで無効となるオプションを示します。
オプション |
指定内容 |
---|---|
--at |
ジョブ実行開始時間 |
-e、--err |
標準エラー出力ファイル |
-j |
標準エラー出力を標準出力ファイルへ出力 |
--bulk、--step |
各種ジョブモデルの指定 |
-m e |
実行終了メール通知 |
-m r |
実行再開メール通知 |
--restart |
ジョブの自動再実行の有効化 |
-o、--out |
標準出力ファイル |
-p |
ジョブの優先度 |
-w |
pjsubコマンドの復帰待ち合わせタイミング |
5.5.4. スクリプトファイルブロック¶
script-file
の指定が可能です。script-file
が指定された場合、指定されたスクリプトファイルが実行されます。指定されたスクリプトファイルの実行が終われば会話型ジョブは終了します。スクリプトファイル(
./sample.sh
)を指定した場合の実行例[_LNlogin]$ pjsub --interact --sparam "wait-time=3600" ./sample.sh [INFO] PJM 0000 pjsub Job 488 submitted. .connected. [INFO] PJM 0082 pjsub Interactive job 488 started. MPI communication start. size= 8 MPI communication end result is 0+1+...size-1.check result( 28 ) [INFO] PJM 0083 pjsub Interactive job 488 completed.
注釈
script-file
の指定がない場合、ジョブはプロンプトを表示し、入力待ちの状態となります。以降、pjdelコマンド、標準入力のクローズ等により実行がキャンセルされるまで、ジョブは実行状態となります。スクリプトファイルの指定がない場合の実行例
[_LNlogin]$ pjsub --interact -g groupname -L "node=8" -L "rscgrp=int" -L "elapse=00:10:0" --sparam "wait-time=3600" [INFO] PJM 0000 pjsub Job 490 submitted. .connected. [INFO] PJM 0082 pjsub Interactive job 490 started. [_CNlogin]$ export PARALLEL=8 [_CNlogin]$ export OMP_NUM_THREADS=$PARALLEL [_CNlogin]$ mpiexec ./sample_mpi MPI communication start. size= 8 MPI communication end result is 0+1+...size-1.check result( 28 ) [_CNlogin]$ exit exit [INFO] PJM 0083 pjsub Interactive job 490 completed. [_LNlogin]$
参考
会話型ジョブ実行では、擬似端末を使用してジョブの一連の動作を対話的に行いますが、
script-file
が指定された場合は、擬似端末は使用されません。