万人のためのハイパフォーマンスコンピューティング

HPC Do It Yourself Club

      HOMEE5-2600v3製品情報お役立ち情報購入案内お問い合わせ会社案内
      ムービーダウンロードドキュメント最新トピックスおもしろLinkHPCノウハウ

2015年の年末特価セールはこちら

ノマド+コピペでできる、バーチャルHPC Linuxクラスター構築

(6)Lavaをインストールする

 HPCクラスターというと、並列計算で高速化、という機能に注目しがちだが、ジョブスケジューラが使えることも、大変便利な機能である。プログラムは1つだが、入力データを変えて、たくさんの計算を流したい、あるいは、何人かでクラスターを使っていて、どのマシンにジョブを流せば、早く終わるかがわからない、などといった場合、ジョブスケジューラがあれば、余計なことを考える必要なしに結果を最短で得ることができる。
 この連載ではLavaというフリーのジョブスケジューラをインストールする。有償のLSFというジョブスケジューラのサブセットになっている。簡単に使えるので、初めて使う人でもほとんどハードルは感じないだろう。機能も十分だと私は思う。オリジナルのtarファイルからのインストールは結構面倒なので、お手軽インストーラを作った。クラスターのホスト(外部に公開するマシン、この連載ではhpc01)から、他のマシンにrootでsshがパスワード無しで使えるように設定されていれば、お手軽インストーラをダウンロードしてコピペすれば、インストールと設定が完了する。
 hpc01とhpc02を立ち上げたままで、hpc01上でrootで作業する。ターミナルを立ち上げて、hpc02にssh接続ができることを確認する。ssh hpc02 hostnameを入力し、hpc02が表示されればOKだ。hpc02がサスペンドしていると表示されないので、サスペンドを解除する。続いて、Firefoxを立ち上げて、ここをクリックする。表示されたページのlava-configurator.v0.03.tbzをクリックする。ダウンロード画面が表示されるので、Save Fileを選択しOKをクリックする。ダウンロードが終わるのを待つ(約2MBのファイルなので、すぐに終わると思う)。この記事の最後にある、青い部分を全部コピーする。ターミナルに移りペーストする。いろいろメッセージが表示され、少し待つことになるが、しばらくすると、終了する。
 それではLavaの動作確認をしよう。su -で一般ユーザーのnewになる。bhostsコマンドを入力すると、Lavaでジョブを投入可能なホスト名が表示される。ホスト名の右にokが表示されていれば、ジョブが投入可能な状態を表す。mkdir logdirでLavaの出力ファイルを入れるディレクトリを作成する。bsubコマンドでテストジョブを投入する。日時を表示し、ホスト名を表示し、10秒待ち、再度日時を表示するという内容だ。一つ投入したら、上向き矢印キーを押し同じコマンド履歴を出し、enterを押して再実行する。これをもう一回繰り返す。bjobsコマンドで投入したジョブの状態を確認する。2つのジョブが実行中で、1つは待ち状態になっていることが分かる。bhostsコマンドを実行すると、hpc01とhpc02上でジョブが実行中で、それぞれ1コアの設定なので、これ以上ジョブを投入できないので、closedと表示されている。bjobsコマンドで残りのジョブの状態をチェックすれば、全部が終わったかどうかが分かる。全部が終わっってからlogdirを見ると、1.out, 2.out, 3.outというファイルができている。これらのファイルを見てみると,ジョブ実行の情報と、ジョブの出力結果が分かる。以下が、実行の様子だ。赤い文字が、キーボードからの入力である。
[root@hpc01 ~]# ##################################################
[root@hpc01 ~]# # Lavaのインストールと設定終了
[root@hpc01 ~]# ##################################################
[root@hpc01 ~]# 
[root@hpc01 ~]# su - new
[new@hpc01 ~]$ bhosts
HOST_NAME STATUS JL/U MAX NJOBS RUN SSUSP USUSP RSV 
hpc01 ok - 1 0 0 0 0 0
hpc02 ok - 1 0 0 0 0 0
[new@hpc01 ~]$ mkdir logdir
[new@hpc01 ~]$ bsub -o logdir "date;hostname;sleep 10;date"
Job <1> is submitted to default queue .
[new@hpc01 ~]$ bsub -o logdir "date;hostname;sleep 10;date"
Job <2> is submitted to default queue .
[new@hpc01 ~]$ bsub -o logdir "date;hostname;sleep 10;date"
Job <3> is submitted to default queue .
[new@hpc01 ~]$ bjobs
JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME
1 new RUN normal hpc01 hpc01 *p 10;date Mar 4 00:25
2 new RUN normal hpc01 hpc02 *p 10;date Mar 4 00:25
3 new PEND normal hpc01 *p 10;date Mar 4 00:25
[new@hpc01 ~]$ bhosts
HOST_NAME STATUS JL/U MAX NJOBS RUN SSUSP USUSP RSV 
hpc01 closed - 1 1 1 0 0 0
hpc02 closed - 1 1 1 0 0 0
[new@hpc01 ~]$ bjobs
JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME
2 new RUN normal hpc01 hpc02 *p 10;date Mar 4 00:25
3 new RUN normal hpc01 hpc01 *p 10;date Mar 4 00:25
[new@hpc01 ~]$ bjobs
No unfinished job found
[new@hpc01 ~]$ ls logdir
1.out 2.out 3.out
[new@hpc01 ~]$ cat logdir/1.out 
Sender: LSF System 
Subject: Job 1: Done

Job was submitted from host by user .
Job was executed on host(s) , in queue , as user .
was used as the home directory.
was used as the working directory.
Started at Mon Mar 4 00:25:43 2013
Results reported at Mon Mar 4 00:26:00 2013

Your job looked like:

------------------------------------------------------------
# LSBATCH: User input
date;hostname;sleep 10;date
------------------------------------------------------------

Successfully completed.

Resource usage summary:

CPU time : 0.01 sec.

The output (if any) follows:

Mon Mar 4 00:25:46 JST 2013
hpc01
Mon Mar 4 00:25:56 JST 2013
[new@hpc01 ~]$ cat logdir/2.out 
Sender: LSF System 
Subject: Job 2: Done

Job was submitted from host by user .
Job was executed on host(s) , in queue , as user .
was used as the home directory.
was used as the working directory.
Started at Sun Feb 24 00:56:56 2013
Results reported at Sun Feb 24 00:57:19 2013

Your job looked like:

------------------------------------------------------------
# LSBATCH: User input
date;hostname;sleep 10;date
------------------------------------------------------------

Successfully completed.

Resource usage summary:

CPU time : 0.02 sec.

The output (if any) follows:

Sun Feb 24 00:56:59 JST 2013
hpc02
Sun Feb 24 00:57:09 JST 2013
[new@hpc01 ~]$ cat logdir/3.out 
Sender: LSF System 
Subject: Job 3: Done

Job was submitted from host by user .
Job was executed on host(s) , in queue , as user .
was used as the home directory.
was used as the working directory.
Started at Mon Mar 4 00:26:03 2013
Results reported at Mon Mar 4 00:26:22 2013

Your job looked like:

------------------------------------------------------------
# LSBATCH: User input
date;hostname;sleep 10;date
------------------------------------------------------------

Successfully completed.

Resource usage summary:

CPU time : 0.01 sec.

The output (if any) follows:

Mon Mar 4 00:26:06 JST 2013
hpc01
Mon Mar 4 00:26:16 JST 2013
[new@hpc01 ~]$ 




##################################################
# Lavaのインストールと設定開始
##################################################
cd /root/Downloads
tar xjf lava-configurator.v0.03.tbz
cd lava-configurator
./setup-lava
cd
##################################################
# Lavaのインストールと設定終了
##################################################

次回に続く。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Copyright (C) HPCシステムズ株式会社. All Rights Reserved.