Slurm

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

Slurm (Slurm Workload Manager や slurm-llnl とも呼ばれます) はあらゆる規模の Linux クラスタで動作するように作られたオープンソースのワークロードマネージャです。世界中のスーパーコンピュータやコンピュータクラスタで使われています。Slurm の機能は主に3つです。まず、一定時間、リソース (コンピュータノード) への排他的・非排他的なアクセスをユーザーに配分して、ユーザーが作業を行えるようにします。次に、割り当てられたノードで作業 (通常は並列のジョブ) を開始・実行したり監視するためのフレームワークを用意しています。最後に、保留されている作業のキューを管理することでリソースの取り合いを調整します。

インストール

ノート: Slurm は強力なジョブスケジューラですが、単純にコンパイルのスループットを持ち上げるためだけのクラスタなら、distcc の方が簡単・簡潔です。

AUR から slurm-llnlAUR パッケージをインストールしてください。依存パッケージとして、認証サービスの mungeAUR もインストールされます。munge は slurmd の systemd サービスによって実行され、ホスト間の接続を暗号化します。そのため、クラスタの全てのノードには /etc/munge/munge.key に同じ鍵を保存してください。

slurm パッケージには他にも多数の任意依存パッケージが存在しますが、利用するにはパッケージをインストールした後に slurm を再コンパイルする必要があります。

セットアップ

slurm-llnl の設定ファイルは /etc/slurm-llnl にあります。slurm サービスを起動する前に、設定ファイル /etc/slurm-llnl/slurm.conf を作成して適切に設定してください。クライアントとサーバーは同一の設定ファイルが使えます。https://computing.llnl.gov/linux/slurm/configurator.html からファイルを生成するか /etc/slurm-llnl/slurm.conf.example/etc/slurm-llnl/slurm.conf にコピーして自由に修正してください。

デフォルトでは、インストール時に UID と GID が 64030 の slurm ユーザーが作成されます。このユーザーを使うことで複数の環境でのセットアップが楽になります。UID と GID は Debian で使われている ID と同じなので、Debian と一緒に使うこともできます。ただしバイナリはディストリビューションによって違うので注意してください。

クライアント (計算ノード) の設定

クライアント側では slurmd.service を起動します (ブート時に起動させるにはサービスを有効化してください)。

slurmd が立ち上がっていることを確認するには、次を実行:

# systemctl status slurmd

サーバー (ヘッドノード) の設定

slurmctld.service を起動・有効化してください。

また、slurmdbd.service を起動・有効化することで、mysql データベースを使って重要なプロセスの情報ログを簡単に管理することができます。

ノート: systemd の力を利用して、/etc/default/slurm-llnl の設定を変更することでプログラムに引数を追加することができます。このファイルは様々なサービスの environment ファイルとして処理され、設定された引数がプログラムに渡されます。

参照