000525 by Ichihara 5/24,25 にかけて ap01-ap48 の48ノード(実行ノード)および ccjsun, ccjnfs0 (lsf clientのみ)に LSF 3.2.4の binary及び デモライセンスをい れ、queue を以下のように設定しました。米国では LSFはすでに V4がでてい ますが日本ではLSF 4.0は6月半ばのリリース予定だそうです。 LSFの binaryは それぞれ /usr/local/bin に symbolic link を張っていま すので、なにも変更せずに起動できるはずです。後で林さんから PISA/PHOOL等 のLSFを使用した場合の実行例の説明があるとは思いますが、超簡単なLSFの jobの投入例は、jobを実行する scritpを 例えば run.simとして run.simの 中味を以下のようなものとすると、 #!/bin/tcsh cd /ccj/u/ichihara/pbs /ccj/u/ichihara/super/sim.linux exit apxxで bsub -q sim_short -o sim.o.%J -e sim.e.%J run.sim とかとすると、JOBが submitされ、実行後の結果の標準出力、エラー出力は sim.o.ジョブ番号、sim.e.ジョブ番号 でファイルにおちます。(script の最後に exitを書く必要があります) また インストのときに 各ノードの /workの disk free の情報も負荷情報と してとりこむように作業をしてもらったので、 それは lsload -l で最後のコラ ムに表示され、かつ jobの submit時に bsub -R "work > 0.5" と指定すると、 local work disk の空き領域が 0.5 GB以上あるホストでしか JOBは実行され ない、等の 実行時のリソース指定機能もあります。 良く使うと思われるコマンド (詳細は man でご覧ください) ======================================================== lsid Local LSF名と現在の master ホストの表示 lsload LSF nodeの負荷状況の表示 lsload -l LSF nodeの負荷状況の表示(最後 に /workのfree (GB)表示) lsrun 低負荷のホストでコマンドを実行 lstcsh tcshの lsf版。 bsub jobの投入 bkill Jobの取り消し bswitch 実行前、実行中の Jobの QUEUEの変更 bjobs 実行中の Jobの状態表示 bqueues queueの設定の表示 bhosts hostの状態表示 xlsf LSF関連の GUI i/fの起動。 ============================================================================== 2000.05.24 CCJ LSF setting ============================================================================== queueの設定、条件 queue名 MAX CPU Nice 実行可能ホスト 合計実行ジョブ数 ーーーーーーーーーーーーーーーーーーーーーーーーーーーー------------- sim_short 2 hours 1 ap01-ap48 96 sim_long 24 hours 10 96 sim_bg 7 days 19 96 すべて途中でノードダウン時は別のノードでジョブが最初から再実行する。 ホストごとの最大実行ジョブ数 ap01は 1, そのほかは すべて 3 ホストごとの新規JOB実行条件 s15 (15秒間の load av) が 1.5以下 CPU係数 P2_450MHz, P3_600 MHz, P3_700Mz群に対して クロックの逆数 Queueの priority sim_short = sim_long > sim_bg 実行可能JOBスロットがでたとき、実行をさせる queue の priority 一人あたりの最大の実行可能 JOB数 : 96 (大量に submintしてもこの数以上は同時に実行されない) scheduling policy : fareshare (直前の 1-weekの統計) fcfs (fast come fast serve) 先に投入された順に実行される fareshare 一定時間(設定可能)に使用したリソースを考慮して公平 にリソースが利用できるように、schedulingを決める) Qeueueごと、ホストレベル、階層型等色々なレベルで設定可 その他 略 市原 卓 --------------------------------------------------------------------------- LSFに関しての補足です。 簡単な 「LSFいじめテスト」 の実行結果は以下の通りです。 (1) JOBの実行中のノードが落ちたときは Jobは別のノードで自動的に再実行され るように 現在 CCJの LSF Queue の default の設定していますが、 (RERUNNABLE = YES) ap03.ccj> bjobs JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME 1129 ichihara RUN sim_short ap03 ap33 run.sim May 25 19:18 1130 ichihara RUN sim_short ap03 ap39 run.sim May 25 20:27 のように ap33上で JOBが実行されている状態で ap33 の電源を切ると 1分後には ap03.ccj> bjobs JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME 1129 ichihara UNKWN sim_short ap03 ap33 run.sim May 25 19:18 1130 ichihara RUN sim_short ap03 ap39 run.sim May 25 20:27 と JOBの statsuが UNKWN になりその後に ap03.ccj> bjobs JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME 1130 ichihara RUN sim_short ap03 ap39 run.sim May 25 20:27 1129 ichihara RUN sim_short ap03 ap35 run.sim May 25 19:18 と落ちたノードで実行していた Job 1129が自動的に別のノードで再実行されます。 (2) LSFの スケジュラ-等が動作している masterノードは ap01で、それは p03.ccj> lsid LSF 3.2.4, Oct 25 1999 Copyright 1992-1999 Platform Computing Corporation My cluster name is CCJ My master name is ap01 でみることができますが、 このとき ap01の電源をおとすと、その直後に lsloadの コマンドを発行すると ap48.ccj> lsload May 25 20:44:59 2000 3880 7 3.2.4 callLimTcp_: failed in connecting to limChans_[TCP]=<1> <172.20.1.1:4644> lsload: A connect sys call failed: No route to host とかエラーがでますが、その30秒後には ap48.ccj> lsload HOST_NAME status r15s r1m r15m ut pg ls it tmp swp mem ap48 ok 0.0 0.0 0.0 1% 0.9 1 2 463M 1012M 482M ap37 ok 0.0 0.0 0.0 0% 0.7 0 190 463M 1012M 465M : ap04 ok 0.0 0.0 0.0 0% 0.4 0 190 1352M 1027M 472M ap01 unavail ap48.ccj> lsid LSF 3.2.4, Oct 25 1999 Copyright 1992-1999 Platform Computing Corporation My cluster name is CCJ My master name is ap02 <-------- ap48.ccj> bjobs JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME 1130 ichihara RUN sim_short ap03 ap39 run.sim May 25 20:27 1129 ichihara RUN sim_short ap03 ap35 run.sim May 25 19:18 とかと自動的に LSF LIM master ノードが ap02にきりかわり、fault torelence 機能がちゃんと動作しているようです。 (3) 今は設定していませんが、例えば ユーザを N個のグループにわけ(グルー プに属さない Other も可能)それぞれのグループごとに リソース配分比を任意 に設定して、そのようなリソース配分になるように JOBのスケジリングを自動調 整する機能があるので、将来的に複数の PWG が同時に利用するときにこの機能は 重宝のように思えます。 そのときのリソースは、一定の監視時間(任意に設定 可能)内に利用された、 CPU時間、実時間、ジョブ数等の加重和として式で与え ることができます。 現在は各人がなるべく公平にリソース配分を受けれる ポリ シーでスケジュラ-の設定をしています。(Policy = fareshare) (4) これまでに気づいたLSFの不具合(調査依頼済) 1. SUNで xlsf 配下の xlsmonが Segment fault してしまう。 2. Linuxで lstcsh が Binary file not executableで実行できない。 市原 --------------------------------------------------------------------------- ML archives: http://www.rarf.riken.go.jp/rarf/rhic/ml/nmlist/phenix-ccj-wg/