自作クラスタ計算機:pbs_proの基本設定
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
自作クラスタ計算機:pbs_proの基本設定 [2023/05/01 12:57] – [ノードごとの負荷の分散] koudai | 自作クラスタ計算機:pbs_proの基本設定 [2023/12/26 23:49] (current) – [計算ノードの登録] koudai | ||
---|---|---|---|
Line 12: | Line 12: | ||
* Ubuntu 20.04 LTS | * Ubuntu 20.04 LTS | ||
+ | * 管理ノードと計算ノードで、OSはバージョンも含めて同一のものを使用してください | ||
+ | |||
+ | |||
====== 構成 ====== | ====== 構成 ====== | ||
Line 123: | Line 126: | ||
$ sudo / | $ sudo / | ||
</ | </ | ||
- | - いったんログアウトして、再ログインします(インストール時に設置された | + | - 環境変数を読み込む設定をします。すべてのユーザーがPBSを使えるように /etc/bash.bashrcを編集します< |
- | $ exit | + | $ sudo vim / |
- | </ | + | </ |
+ | (略) | ||
+ | . / | ||
+ | </ | ||
+ | - いったんログアウトして、再ログインします | ||
===== 計算ノードでの作業 ===== | ===== 計算ノードでの作業 ===== | ||
Line 135: | Line 142: | ||
$ sudo update-rc.d pbs defaults | $ sudo update-rc.d pbs defaults | ||
</ | </ | ||
- | * 管理ノードと計算ノードでOSのバージョンが異なる場合はインストールがうまくいかないことがあります。そのときは計算ノードでも「PBS Proのコンパイルに必要なもの」をインストールした後、管理ノードと同様に make を行ってください。その際はNFSの共有ディレクトリにインストールしないようprefixを変更してください。 | ||
- 設定ファイルで PBS_START_MOM=1 とすることで、このノードが計算ノードであることを指定します。またPBSサーバのホスト名を PBS_SERVER で設定します。< | - 設定ファイルで PBS_START_MOM=1 とすることで、このノードが計算ノードであることを指定します。またPBSサーバのホスト名を PBS_SERVER で設定します。< | ||
$ sudo vi / | $ sudo vi / | ||
Line 209: | Line 215: | ||
Qmgr: set node keisan12 resources_available.ncpus=24 | Qmgr: set node keisan12 resources_available.ncpus=24 | ||
... | ... | ||
+ | </ | ||
+ | |||
+ | ノードの設定状況も確認できます | ||
+ | < | ||
+ | Qmgr: print node keisan11 | ||
+ | # | ||
+ | # Create nodes and set their properties. | ||
+ | # | ||
+ | # | ||
+ | # Create and define node yagami11 | ||
+ | # | ||
+ | create node yagami11 | ||
+ | set node keisan11 state = free | ||
+ | set node keisan11 resources_available.arch = linux | ||
+ | set node keisan11 resources_available.host = keisan11 | ||
+ | set node keisan11 resources_available.mem = 131666992kb | ||
+ | set node keisan11 resources_available.ncpus = 24 | ||
+ | set node keisan11 resources_available.vnode = keisan11 | ||
+ | set node keisan11 resv_enable = True | ||
</ | </ | ||
Line 259: | Line 284: | ||
===== MPIの設置 ===== | ===== MPIの設置 ===== | ||
- | * OpenMPI, MPICH2, Intel MPIなどのMPIライブラリを管理ノードの / | + | * OpenMPI, MPICH2, Intel MPIなどのMPIライブラリを管理ノードの / |
- | * 学生であれば Intel Parallel Studio XE が無償で使えて便利です | + | |
===== ソースコード ===== | ===== ソースコード ===== | ||
Line 373: | Line 396: | ||
* ompthreadsはMPIの1プロセスあたりのOpenMPのスレッド数です | * ompthreadsはMPIの1プロセスあたりのOpenMPのスレッド数です | ||
- | * mpiprocs * ompthreads = ncpus となるようにしてください | + | * 基本的には |
- | * OpenMPのスレッド数は、1つの計算ノードに含まれるCPUコア数以下になるようにしてください | + | |
====== Fairshare ====== | ====== Fairshare ====== | ||
Line 385: | Line 407: | ||
====== ノードごとの負荷の分散 ====== | ====== ノードごとの負荷の分散 ====== | ||
- | ジョブを投入したら、デフォルトでは1番目のノードにジョブを埋めていき、そのノードのリソースが全て埋まってから次のノードでジョブが走るようになります。 | + | ジョブを投入したら、デフォルトでは1番目の計算ノードにジョブを埋めていき、その計算ノードのリソースが全て埋まってから次の計算ノードでジョブが走るようになります。 |
- | 各ノードの負荷を分散させるため、使用されているCPU数が一番少ないノードにジョブが投入されるようにします。 | + | これを、各ノードの負荷を分散させるようにジョブが投入されるように変更します。 |
設定ファイル < | 設定ファイル < | ||
- | * 使用しているCPUのコア数が一番少ないノードに割り当てたい場合< | + | * 使用しているCPUのコア数が一番少ないノードにジョブを割り当てたい場合< |
node_sort_key: | node_sort_key: | ||
</ | </ | ||
- | * 使用していないCPUのコア数が一番多いノードに割り当てたい場合< | + | * 使用していないCPUのコア数が一番多いノードにジョブを割り当てたい場合< |
node_sort_key: | node_sort_key: | ||
</ | </ | ||
+ | |||
+ | (各計算ノードのコア数がすべて同じ場合は、どちらも同じ結果になります) | ||
PBSを再起動します。 | PBSを再起動します。 |
自作クラスタ計算機/pbs_proの基本設定.1682913446.txt.gz · Last modified: 2023/05/01 12:57 by koudai