リソースマネージャ...
Transcript of リソースマネージャ...
-
リソースマネージャ SLURMを使ってみた
y.imagawa
1
-
リソースマネージャとは
• 計算機の資源をうまく(適切に、効率よく)利用できるように、計算を制御する
• 大規模な計算機(PCクラスタ等)で使われることが多い
• ジョブ管理システム、ジョブスケジューラとほぼ同義語?
2
http://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A7%E3%83%96%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0
http://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A7%E3%83%96%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0
-
こんな嬉しさがあります
• 誰がどのサーバを使うか、気にする必要が無い
• サーバを効率よく利用できる。(設定次第)
• サーバに空きがない場合、待ち状態になり、サーバが空いたら逐次実行される。
• 計算の開始時間を指定できたりします。
3
複数のユーザで、複数のサーバを利用する場合
-
4
ライセンス数
0時 6時 12時 18時 0時
max
例えば:ライセンス利用の有効活用
②ピーク過ぎの20時から計算を開始するように設定 夜中に計算を実施←リソースマネージャの出番
①日中は利用者が多く、ライセンスに余裕が無い →計算結果確認、計算の設定を実施
① ②②
-
SLURMとは
• Linuxクラスタ用のリソースマネージャ
• 大規模な計算環境(PCクラスタ)で利用することを想定して作成された
• 最近、FOCUSのジョブスケジューラがLSF→SLURMになった。
https://computing.llnl.gov/linux/slurm/
5
-
6
DEXCS2013-OpenFOAMに インストールしてみる
前提 ・1台のPCにSLURMをインストール
-
7
①$ sudo apt-get update !$ sudo apt-get install slurm-llnl ・・・・・ 16.6 MB のアーカイブを取得する必要があります。 この操作後に追加で 36.6 MB のディスク容量が消費されます。 続行しますか [Y/n]? Y
要ネットワーク接続
②
-
設定ファイル配置
8
$ cd /etc/slurm-llnl $ sudo gzip -d /usr/share/doc/slurm-llnl/examples/slurm.conf.sample.gz $ sudo mv slurm.conf.sample slurm.conf
/usr/share/doc/slurm-llnl/examplesにある 設定ファイルのサンプル(slurm.conf.example.gz)を展開し /etc/slurm-llnl/slurm.conf として置く
http://slurm.co
-
設定ファイルの編集
9
$ cd /etc/slurm-llnl $ sudo vi slirm.conf#ControlMachine=laptop ControlMachine=localhost !#AuthType=auth/munge AuthType=auth/none #CryptoType=crypto/munge CryptoType=crypto/openssl #JobCredentialPrivateKey= JobCredentialPrivateKey=/usr/local/etc/slurm.key #JobCredentialPublicCertificate= JobCredentialPublicCertificate=/usr/local/etc/slurm.cert !# COMPUTE NODES #NodeName=server Procs=1 State=UNKNOWN NodeName=localhost Procs=2 State=UNKNOWN #PartitionName=debug Nodes=server Default=YES MaxTime=INFINITE State=UP PartitionName=all Nodes=localhost Default=YES MaxTime=INFINITE State=UP
slurm.conf (抜粋)
-
OpenSSLの クリデンシャルキー作成
10
$ sudo openssl genrsa -out /usr/local/etc/slurm.key 1024 Generating RSA private key, 1024 bit long modulus .............................++++++ ..................................++++++ e is 65537 (0x10001) $ sudo openssl rsa -in /usr/local/etc/slurm.key ¥ -pubout -out /usr/local/etc/slurm.cert writing RSA key
-
起動
11
$ sudo /etc/init.d/slurm-llnl start * Starting slurm central management daemon slurmctld [ OK ] * Starting slurm compute node daemon slurmd [ OK ]
-
サブミット用スクリプト例
12
#!/bin/sh !#SBATCH -n 2 #SBATCH -J OpenFOAM !. /opt/OpenFOAM/OpenFOAM-2.2.x/etc/bashrc !blockMesh cp 0/alpha1.org 0/alpha1 setFields pyFoamDecompose.py . ${SLURM_NPROCS} mpirun interFoam -parallel reconstructPar
interFoam : damBreaksubmit.sh
-
ジョブ関連コマンド
13
ジョブをサブミット $ sbatch submit.sh !
ジョブを確認する $ squeue !
ジョブを停止する(ジョブID:53の場合) $ scancel 53
-
参考
14
https://computing.llnl.gov/linux/slurm/SLURM HP
IBM developer works
http://www.ibm.com/developerworks/jp/linux/library/l-slurm-utility/
-
slurmの挙動を変える
15
/etc/slurm-llnl/slirm.conf
SelectType=select/cons_res
SelectType=select/linear JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 23 all OpenFOAM imagawa PD 0:00 1 (Resources) 24 all OpenFOAM imagawa PD 0:00 1 (Priority) 22 all OpenFOAM imagawa R 0:27 1 localhost
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 27 all OpenFOAM imagawa PD 0:00 1 (Resources) 25 all OpenFOAM imagawa R 0:15 1 localhost 26 all OpenFOAM imagawa R 0:11 1 localhost
SelectType Identifies the type of resource selection algorithm to be used.
( man slurm.conf )
投入されたジョブを1つずつ順番に実行
投入されたジョブを順番に実行 (リソースのある限り詰め込む)