HPCクラスター構築(その7)
ジョブスケジューラのインストールと設定を行います。クラスターがバラバラのPC/サーバに比べて非常に便利な点に、ジョブスケジューラが使えることがあります。プログラムのパラメータや入力ファイルを少しづつ変えて、たくさん流してその結果を比較したい場合など、プログラムを多数実行したい場合は多々あります。以下では、それらのプログラムの実行をジョブと呼ぶことにします。ジョブスケジューラを使うと、多数のジョブを1つ1つ、クラスター内のコンピュータの空いているコアに実行させ、最短時間で全てのジョブの実行を完了させることができます。
その便利さと使い方は、インストールと設定が終了してから、具体的に示すとして、さっそくインストールと設定を行いましょう。
ここで使うジョブスケジューラはLavaになります。2000年ごろに登場しHPCクラスター用ジョブスケジューラの先駆けとなったLSFのサブセットになっています。ジョブ投入用のスクリプトを書かなくても、大抵の場合コマンドラインから直接ジョブの投入ができて、気軽に便利に使うことができます。
現在は開発が終了してメインテナンスもされていないのですが、Ubuntu 20.04のHPCクラスター用にインストーラを作成して、無料でダウンロード可能にしましたので、それを使ってインストールしていきます。
こちらからlava_configurator-ub20-v1.tgzをhpc01にダウンロードします。ダウンロードの仕方は、こちらをご覧ください。
ダウンロードしたファイルを解凍し、lava-configuratorにcdします。
Lavaではクラスター内のコンピュータ(ノード)は’、ジョブのスケジューリングをコントロールするマスター(1ノード)と、ジョブが投入されるスレーブとに分類されます。マスターの仕事は軽いので、大抵の場合スレーブを兼任します。ダウンロードしてきたlava-configuratorでもそうなっています。ここではhpc01はマスターとスレーブ、hpc02はスレーブのみに設定します。lava.hostsをvimで開きます。
最初の行にマスター件スレーブであるhpc01を、次の行にスレーブであるhpc02を書き込みます。
lavaのインストールと設定ができるためには、インストールする各ノードへのパスワードなしでのrootでのsshログイン可能なことと、nfsでの/homeの共有がされていることが必要です。これらの設定方法については、この連載の2と4をご覧ください。
その後
sudo su -
cd /home/hpc/Downloads/lava-configurator
./setup-lava
を実行します。
古いターミナルを閉じて新しいターミナルを開きます。bhostsコマンドを入力し、下の画面が表示されれば、lavaのインストールと設定は成功です。