「Slurm」の版間の差分
(→インストール: 同期) |
(→セットアップ: 同期) |
||
14行目: | 14行目: | ||
slurm パッケージには他にも多数の任意依存パッケージが存在しますが、利用するにはパッケージをインストールした後に slurm を再コンパイルする必要があります。 |
slurm パッケージには他にも多数の任意依存パッケージが存在しますが、利用するにはパッケージをインストールした後に slurm を再コンパイルする必要があります。 |
||
− | == |
+ | == 設定 == |
slurm-llnl の設定ファイルは {{ic|/etc/slurm-llnl}} にあります。slurm サービスを起動する前に、設定ファイル {{ic|/etc/slurm-llnl/slurm.conf}} を作成して適切に設定してください。クライアントとサーバーは同一の設定ファイルが使えます。https://slurm.schedmd.com/configurator.html からファイルを生成するか {{ic|/etc/slurm-llnl/slurm.conf.example}} を {{ic|/etc/slurm-llnl/slurm.conf}} にコピーして自由に修正してください。 |
slurm-llnl の設定ファイルは {{ic|/etc/slurm-llnl}} にあります。slurm サービスを起動する前に、設定ファイル {{ic|/etc/slurm-llnl/slurm.conf}} を作成して適切に設定してください。クライアントとサーバーは同一の設定ファイルが使えます。https://slurm.schedmd.com/configurator.html からファイルを生成するか {{ic|/etc/slurm-llnl/slurm.conf.example}} を {{ic|/etc/slurm-llnl/slurm.conf}} にコピーして自由に修正してください。 |
||
22行目: | 22行目: | ||
=== クライアント (計算ノード) の設定 === |
=== クライアント (計算ノード) の設定 === |
||
− | クライアント側で |
+ | クライアント側で安全に {{ic|slurmd.service}} を[[起動/有効化]]できるようになりました。 |
+ | {{Note|プロセス追跡に Linux [[cgroups]] を使用することを選択した場合は、各クライアントで {{ic|cgroup.conf}} 設定ファイルを作成する必要があります。設定の詳細については、[https://slurm.schedmd.com/cgroup.conf.html cgroup.conf] マニュアルページを参照してください。}} |
||
− | slurmd が立ち上がっていることを確認するには、次を実行: |
||
− | |||
− | # systemctl status slurmd |
||
=== サーバー (ヘッドノード) の設定 === |
=== サーバー (ヘッドノード) の設定 === |
||
− | {{ic|slurmctld.service}} を起動 |
+ | {{ic|slurmctld.service}} を[[起動/有効化]]してください。 |
− | また、{{ic|slurmdbd.service}} を起動 |
+ | また、{{ic|slurmdbd.service}} を[[起動/有効化]]することで、mysql データベースを使って重要なプロセスの情報ログを簡単に管理することができます。 |
{{Note|systemd の力を利用して、{{ic|/etc/default/slurm-llnl}} の設定を変更することでプログラムに引数を追加することができます。このファイルは様々なサービスの environment ファイルとして処理され、設定された引数がプログラムに渡されます。}} |
{{Note|systemd の力を利用して、{{ic|/etc/default/slurm-llnl}} の設定を変更することでプログラムに引数を追加することができます。このファイルは様々なサービスの environment ファイルとして処理され、設定された引数がプログラムに渡されます。}} |
2024年2月17日 (土) 17:05時点における版
Slurm (Slurm Workload Manager や slurm-llnl とも呼ばれます) はあらゆる規模の Linux クラスタで動作するように作られたオープンソースのワークロードマネージャです。世界中のスーパーコンピュータやコンピュータクラスタで使われています。Slurm の機能は主に3つです。まず、一定時間、リソース (コンピュータノード) への排他的・非排他的なアクセスをユーザーに配分して、ユーザーが作業を行えるようにします。次に、割り当てられたノードで作業 (通常は並列のジョブ) を開始・実行したり監視するためのフレームワークを用意しています。最後に、保留されている作業のキューを管理することでリソースの取り合いを調整します。
インストール
AUR から slurm-llnl パッケージをインストールしてください。依存パッケージとして、認証サービスの munge ([1])もインストールされます。munge は slurmd の systemd サービスによって実行され、ホスト間の接続を暗号化します。そのため、クラスタの全てのノードには /etc/munge/munge.key
に同じ鍵を保存してください。次に、munge.service
を起動して有効化します。
slurm パッケージには他にも多数の任意依存パッケージが存在しますが、利用するにはパッケージをインストールした後に slurm を再コンパイルする必要があります。
設定
slurm-llnl の設定ファイルは /etc/slurm-llnl
にあります。slurm サービスを起動する前に、設定ファイル /etc/slurm-llnl/slurm.conf
を作成して適切に設定してください。クライアントとサーバーは同一の設定ファイルが使えます。https://slurm.schedmd.com/configurator.html からファイルを生成するか /etc/slurm-llnl/slurm.conf.example
を /etc/slurm-llnl/slurm.conf
にコピーして自由に修正してください。
デフォルトでは、インストール時に UID と GID が 64030 の slurm ユーザーが作成されます。このユーザーを使うことで複数の環境でのセットアップが楽になります。UID と GID は Debian で使われている ID と同じなので、Debian と一緒に使うこともできます。ただしバイナリはディストリビューションによって違うので注意してください。
クライアント (計算ノード) の設定
クライアント側で安全に slurmd.service
を起動/有効化できるようになりました。
サーバー (ヘッドノード) の設定
slurmctld.service
を起動/有効化してください。
また、slurmdbd.service
を起動/有効化することで、mysql データベースを使って重要なプロセスの情報ログを簡単に管理することができます。
参照
- slurm tutorials - ユーザーとシステム管理者のための Slurm Workload Manager のイントロダクション。Slurm プログラマ向けの資料。
- Quick Start Administrator Guide - 詳細なセットアップガイド。
- SLURM to manage jobs - 便利な SLURM コマンド。
- Running Jobs - ハーバード大学での slurm の利用事例。