リソースマネージャ...

15
リソースマネージャ SLURMを使ってみた y.imagawa 1

Upload: others

Post on 25-Jan-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

  • リソースマネージャ 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つずつ順番に実行

    投入されたジョブを順番に実行 (リソースのある限り詰め込む)