SQUIDの共有利用では、ノードに直接ログインしてインタラクティブに利用することはできませんが、インタラクティブバッチという機能を利用することで、バッチ利用でありながら、
インタラクティブのような利用が可能となります。テスト実行やデバッグ用途にご利用くださいませ。
インタラクティブバッチの利用方法
コマンドと実行例
下記のコマンドを実行することで、最大10分間のインタラクティブ利用をすることが可能です。
-qオプションで指定するジョブクラスは、インタラクティブ利用するノードの種類によって異なります。
コマンド例
汎用CPUノード群
$ qlogin -q INTC -l elapstim_req=00:10:00 --group=(グループ名)
GPUノード群
$ qlogin -q INTG -l elapstim_req=00:10:00,gpunum_job=8 --group=(グループ名)
ベクトルノード群
$ qlogin -q INTV -l elapstim_req=00:10:00 --group=(グループ名)
実行例
Request 12345.oct submitted to queue: INTC.
Waiting for 12345.oct to start.
qloginコマンドを指定することで、「インタラクティブ利用をする」という要求をスケジューラに行うことになります。スケジューラの仕組みについては、こちらをご参照ください。
投入時オプションについて
qloginコマンドの後に続けて、ジョブスクリプトに記載するように、投入時オプションを指定します。
下記以外のオプションも使用可能ですが、一部対応していないものあります。こちらをご参照ください。
-qオプション
-
インタラクティブバッチを利用する場合は、-qオプションに続けて以下のインタラクティブ用ジョブクラスを指定してください。
ノードの種類 | インタラクティブ用ジョブクラス |
---|---|
汎用CPUノード | INTC |
GPUノード | INTG |
ベクトルノード | INTV |
各ジョブクラス毎に、利用可能な資源に制限があります。詳細はこちらをご覧ください。
-lオプション
-
-lオプションに続けて、使用する資源制限値を指定してください。基本的にはelapstim_reqだけで問題ありません。
--groupオプション
- --groupオプションに続けて、グループ名を指定してください。
HPCI利用者の場合は、--groupオプションに続けて、課題IDを指定してください。
実行状態について
-
qloginコマンドを実行すると、通常のバッチ利用のようにリクエストIDが付与され、QUE状態(待ち状態)となります。ジョブクラス「INTC」に空きがある場合、20~30秒程度で「100 user001 oct-[ホスト名] :」といったプロンプトが表示され、インタラクティブ利用が可能となります。
インタラクティブ利用者が多く、ジョブクラス「INT」に空きがない場合、なかなか実行状態とならず、「Waiting for12345.cmc to start.」といったメッセージが表示されたまま、状態が遷移されません。これはインタラクティブバッチがQUE状態であることを示しています
なお、通常のバッチ利用のように、qstatやsstatでリクエストの状態を確認することが可能です。
1 2 3 4 5 |
$ sstat RequestID ReqName UserName Queue Pri STT PlannedStartTime -------------------------------------------------------------------------------------- 12345.oct QLOGIN user001 INTC 0.0000/ 0.0000 QUE - |
1 2 3 4 5 |
$ qstat RequestID ReqName UserName Queue Pri STT S Memory CPU Elapse R H M Jobs -------------------------------------------------------------------------------------- 12345.oct QLOGIN user001 INTC 0 QUE - 0.00B 0.00 0 N N N 1 |
ただし、qloginコマンドを実行すると待ち状態となり、プロンプトが入力を受け付けなくなりますので、
別の接続を立ち上げるか、qloginコマンドに&(アンパサンド)を付けてバックグラウンド実行する必要があります。
プログラムの実行について
-
前述のとおり、インタラクティブ利用が可能な状態になると、「100 user001 [ホスト名]:」といったプロンプトが表示されます。
この後は、一般的なlinuxのように操作していただくことが可能です。
例えば、a.outというプログラムを実行する場合は下記のようになります。
100 user001 [ホスト名]: ./a.out
インタラクティブバッチの終了について
-
下記のコマンドを実行することで、インタラクティブ利用を終了します。
コマンド例
$ logout
その他
対応していない投入時オプション
-
・チェックポイント関連の指定
・標準出力/標準エラー出力ファイル指定
・ホールド可否、リラン可否の指定
・ステージング関連の指定
など
ノード時間の消費について
-
共有利用の場合、利用に応じてノード時間を消費します。