ジョブスケジューラのインストールと設定を行います。クラスターがバラバラの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のインストールと設定は成功です。