会話型処理

会話型実行はPBSおよびLSFのインタラクティブバッチ機能を使用して行います.簡易に実行するためのツールとして tssrun および xrun コマンドを用意しています.
tssrun および xrun コマンドの後ろに,実行したいプログラムおよび引数を指定することで使用可能です.

コマンド 説明 実行例 備考
tssrun 計算ノードでプログラムを実行する tssrun ./a.out
xrun 計算ノードでGUIプログラムを実行する xrun ./a.out Exceed onDemand 等のXサーバソフトウェアでのみ利用可能.
  • コマンドを入力すると,いくつかのメッセージが表示された後,プログラムの実行が開始されて結果が表示されます.
  • 会話型実行用の計算ノードが混雑している場合,メッセージ表示後すぐに実行が開始されないことがあります.
  • グループコース用のキューで会話型実行を行うことも可能です.詳しくは グループコースキューでの会話型実行 をご覧ください.

実行例1: システムAのMPIプログラムの場合

b59999@camphor1:~> tssrun ./a.out
qsub: waiting for job 1249.sdb to start
qsub: job 1249.sdb ready

%%% Aprun Wrapper
%  launched with the following command
%
%   /opt/cray/alps/default/bin/aprun -n 4 -d 1 -N 1 -j 1 -cc 0 ./a.out
%
%%% end of Aprun Wrapper message

    myrank = 0: Hello, World!
    myrank = 1: Hello, World!
    myrank = 2: Hello, World!
    myrank = 3: Hello, World!

Application 380396 resources: utime ~0s, stime ~0s, Rss ~4624, inblocks ~0, outblocks ~0

qsub: job 1249.sdb completed

実行例2: システムBのMPIプログラムの場合

$ tssrun -A p=4 mpiexec.hydra ./a.out
qsub: waiting for job 1249.sdb to start
qsub: job 1249.sdb ready

%%% Aprun Wrapper
%  launched with the following command
%
%   /opt/cray/alps/default/bin/aprun -n 4 -d 1 -N 1 -j 1 -cc 0 ./a.out
%
%%% end of Aprun Wrapper message

    myrank = 0: Hello, World!
    myrank = 1: Hello, World!
    myrank = 2: Hello, World!
    myrank = 3: Hello, World!

Application 380396 resources: utime ~0s, stime ~0s, Rss ~4624, inblocks ~0, outblocks ~0

qsub: job 1249.sdb completed

実行例3: グループコースのキューで会話型実行をする場合

$ tssrun -q gr19999b -ug gr19999 ./a.out
qsub: waiting for job 1249.sdb to start
qsub: job 1249.sdb ready

%%% Aprun Wrapper
%  launched with the following command
%
%   /opt/cray/alps/default/bin/aprun -n 1 -d 1 -N 1 -j 1 -cc 0 ./a.out
%
%%% end of Aprun Wrapper message

    myrank = 0: Hello, World!

Application 380396 resources: utime ~0s, stime ~0s, Rss ~4624, inblocks ~0, outblocks ~0

qsub: job 1249.sdb completed

実行例4: GUIプログラムを実行する場合

$ xrun matlab
Job <80279> is submitted to queue <tb>.
<<Waiting for dispatch ...>>
<<Starting on gb-0003>>
(Xアプリケーションが起動する)

プロセス並列やスレッド並列を行う場合,並列数をオプションで指定することができます.また,使用メモリ量やプログラムの経過時間制限,CPU時間制限についても指定することができます.制限の詳細については, 会話型実行における制限 をご覧ください.

オプション 説明 指定例
-A p=X :t=X:c=X:m=X ジョブ割当リソース量の指定 -A p=4:t=8:c=8:m=2G
-W HOUR:MINUTE 経過時間上限値の指定(単位は時:分) -W 1:0
  • リソース量の指定について

ジョブに割り当てる計算リソース量を指定するためには,-A オプションを使用します.-A オプションの引数として p,t,c,m の4つの変数を指定することができ,それらをコロン(:)でつないで記載します.それぞれの引数の意味は以下のようになります.

-A の引数 説明
p=X ジョブ実行時の割当プロセス数
t=X ジョブ実行時のプロセスあたりの割当スレッド数
c=X ジョブ実行時のプロセスあたりの割当CPUコア数
m=X M /X G /X T ジョブ実行時のプロセスあたりの割当メモリ量上限値(単位:M,G,T)

-A オプションが設定されていない場合は,p,t,c の値は1が,m の値はノード搭載メモリ量を搭載コア数で割った値がデフォルトで使用されます.-A オプションの4つの引数のうち,未指定のものがあればデフォルト値が使用されます.また,t で指定した値が環境変数OMP_NUM_THREADSに自動で設定されます.

エントリコース以外のサービスコースを申し込まれている方は,そのコースで確保されているバッチ処理用ノードを利用して,プログラムを会話型で実行することも可能です.その場合,次項「会話型実行における制限についての制約」は影響なく,利用可能リソース量や経過時間制限などは指定したキューの制限が適用されます.

オプション 説明 指定例
-q QUEUENAME バッチ処理用キューの指定 -q gr19999b
-ug GROUPNAME グループの指定(グループコースの場合) -ug gr19999

パーソナルコースキューやグループコースキューを利用しない会話型実行においては,以下のような制限が適用されます.

  • ノードの共有

会話型実行用のノードはシステムごと(システムA,B,Cそれぞれta, tb, tcと呼ばれるキューに紐づけ)に用意されており,すべてのユーザがそれぞれのノードを共有して利用する形態となります.プログラム実行時はCPUコアを占有して排他的に実行するため,混雑時は実行が開始されるまでに時間がかかる場合があります.

  • ジョブの同時実行件数

ひとりのユーザは同時に1個のジョブのみ実行(RUN) できます. 2個目以降のジョブは待ち(PEND)になります.

  • 利用できるCPUコア数

1ユーザが同時に利用できるCPUコア数には上限があります.

システム A B C
CPUコア数上限 68 36 72
  • 利用できるメモリ量

プログラムが利用できるメモリ量には制限がかかっています. -Aオプション を指定することで利用メモリ量を上限まで増やすことができます.

システム A B C
メモリ量標準 1355M 3413MB 42666MB
メモリ量上限 90G 120GB 3000GB
  • プログラムの経過時間制限

会話型でプログラムを実行する場合,経過時間が標準の制限を超えると,プログラムは強制終了されます. -Wオプション を指定することで,時間を上限まで増やすことができます.

システム A B C
経過時間標準(hour:minute) 1:00 1:00 1:00
経過時間上限(hour:minute) 24:00 24:00 24:00

tssrunおよびxrunコマンドによる会話型実行では,ジョブ情報を確認することが可能です.

  • システムA/B/C
コマンド  オプション 説明 実行例
qstat -xf 会話型実行のジョブ情報を表示する qstat -xf 1405.sdb

コマンドとオプションに続けて,ジョブIDを指定する必要があります.ジョブIDは,tssrunまたはxrunコマンド実行時に表示されるxxx.sdbの部分です.

会話型実行の終了後,24時間以上経過したものについては表示できません.

会話型実行が異常終了した場合,ジョブ情報中に終了理由が表示されます. 以下,システムBの例を示します.

  • メモリ制限による終了 (ノード全体のメモリの圧迫によるもの)

    [NID 00181] 2016-10-07 16:04:40 Apid 391976: OOM killer terminated this process.
  • 経過時間制限による終了

    PBS: job killed: walltime 3602 exceeded limit 3600


Copyright © Academic Center for Computing and Media Studies, Kyoto University, All Rights Reserved.