はじめに
SlurmはHPC環境で広く使われているジョブ管理システム(ジョブスケジューラー)である。
しかし、複数のノードを用意するのは敷居が高い。Raspberry Pi などを用いて物理的にクラスタを作成することもできるかもしれないがもっと気軽にシュッと試してみたい。Dockerで簡単にできないか。
Slurm Docker Cluster
探してみるとやっぱりあった。
docker compose を使って簡単にSlurmを試してみることができる。
プロクシ環境下で実行するためには、Dockerfileの設定を書き換える必要があるかも(#58)
イメージのビルド
docker compose build
起動
docker compose up
Bashに入る
docker exec -it slurmctld bash
コンテナ
コンテナ | 説明 |
---|---|
mysql | ジョブとクラスターのデータを保存します。 |
slurmdbd | Slurmデータベースを管理します。 |
slurmctld | ジョブやリソース管理を担当するSlurmコントローラーです。 |
c1, c2 | 計算ノード(slurmdが実行されています)。 |
永続ボリューム
ボリューム | マウント先 |
---|---|
etc_munge | /etc/munge |
etc_slurm | /etc/slurm |
slurm_jobdir | /data |
var_lib_mysql | /var/lib/mysql |
var_log_slurm | /var/log/slurm |
個人的にやったこと
NextflowがSlurmで実行できることを確認した。
この記事は以上です。