User Tools

Site Tools


自作クラスタ計算機:pbs_proの基本設定

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
自作クラスタ計算機:pbs_proの基本設定 [2023/05/01 11:06]
koudai [PBS Proについて]
自作クラスタ計算機: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 /etc/init.d/pbs start $ sudo /etc/init.d/pbs start
 </code> </code>
-  - いったんログアウトして、再ログインします(インストル時設置された /etc/profile.d/pbs.sh が読み込まれます)。<code> +  - 環境変数を読み込む設定をします。すべてのユザーがPBSを使えるように /etc/bash.bashrcを編集します<code> 
-exit +sudo vim /etc/bash.bashrc  
-</code>+</code><file - bash.bashrc> 
 +(略) 
 +. /etc/profile.d/pbs.sh 
 +</file> 
 +  - いったんログアウトして、再ログインします
  
 ===== 計算ノードでの作業 ===== ===== 計算ノードでの作業 =====
Line 135: Line 142:
 $ sudo update-rc.d pbs defaults $ sudo update-rc.d pbs defaults
 </code> </code>
-    * 管理ノードと計算ノードでOSのバージョンが異なる場合はインストールがうまくいかないことがあります。そのときは計算ノードでも「PBS Proのコンパイルに必要なもの」をインストールした後、管理ノードと同様に make を行ってください。その際はNFSの共有ディレクトリにインストールしないようprefixを変更してください。 
   - 設定ファイルで PBS_START_MOM=1 とすることで、このノードが計算ノードであることを指定します。またPBSサーバのホスト名を PBS_SERVER で設定します。<code>   - 設定ファイルで PBS_START_MOM=1 とすることで、このノードが計算ノードであることを指定します。またPBSサーバのホスト名を PBS_SERVER で設定します。<code>
 $ sudo vi /etc/pbs.conf $ sudo vi /etc/pbs.conf
Line 209: Line 215:
 Qmgr: set node keisan12 resources_available.ncpus=24 Qmgr: set node keisan12 resources_available.ncpus=24
 ... ...
 +</code>
 +
 +ノードの設定状況も確認できます
 +<code>
 +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
 </code> </code>
  
Line 259: Line 284:
 ===== MPIの設置 ===== ===== MPIの設置 =====
  
-  * OpenMPI, MPICH2, Intel MPIなどのMPIライブラリを管理ノードの /usr/local または /opt にインストールし、NFSによって各計算ノードに共有してください +  * OpenMPI, MPICH2, Intel MPIなどのMPIライブラリを管理ノードの /usr/local や /opt などにインストールし、NFSによって各計算ノードに共有してください
-  * 学生であれば Intel Parallel Studio XE が無償で使えて便利です +
 ===== ソースコード ===== ===== ソースコード =====
  
Line 373: Line 396:
  
   * ompthreadsはMPIの1プロセスあたりのOpenMPのスレッド数です    * ompthreadsはMPIの1プロセスあたりのOpenMPのスレッド数です 
-  * mpiprocs * ompthreads = ncpus となるようにしてください +  * 基本的には mpiprocs * ompthreads = ncpus となるようにしま
-  * OpenMPのスレッド数は、1つの計算ノードに含れるCPUコア数以下になるようにしてください+
  
 ====== Fairshare ====== ====== Fairshare ======
Line 382: Line 404:
   * https://www.altairjp.co.jp/resource/basic-fairshare-for-altair-pbs-professional   * https://www.altairjp.co.jp/resource/basic-fairshare-for-altair-pbs-professional
  
 +
 +====== ノードごとの負荷の分散 ======
 +
 +ジョブを投入したら、デフォルトでは1番目の計算ノードにジョブを埋めていき、その計算ノードのリソースが全て埋まってから次の計算ノードでジョブが走るようになります。
 +これを、各ノードの負荷を分散させるようにジョブが投入されるように変更します。
 +
 +設定ファイル <nowiki>/var/spool/pbs/sched_priv/sched_config</nowiki> から node_sort_key を探して次のように変更します。
 +
 +  * 使用しているCPUのコア数が一番少ないノードにジョブを割り当てたい場合<file - sched_config>
 +node_sort_key: "ncpus LOW assigned"     ALL
 +</file>
 +
 +  * 使用していないCPUのコア数が一番多いノードにジョブを割り当てたい場合<file - sched_config>
 +node_sort_key: "ncpus HIGH unused"     ALL
 +</file>
 +
 +(各計算ノードのコア数がすべて同じ場合は、どちらも同じ結果になります)
 +
 +PBSを再起動します。
 +
 +<code>
 +sudo /etc/init.d/pbs restart
 +</code>
 +
 +  * PBS Professional 2022.1 Administrator's Guide, Sec. 4.9.49
 ====== アンインストール ====== ====== アンインストール ======
  
自作クラスタ計算機/pbs_proの基本設定.1682906793.txt.gz · Last modified: 2023/05/01 11:06 by koudai