Table of Contents
ハードウェアの準備
以下のものを用意します。
- ヘッドノード・サーバー × 1台 ・・・ プログラムのコンパイルや、各ジョブの管理をする
- 計算ノードサーバー × 必要な台数 ・・・ ヘッドノードからプログラムを受け取り、実際の計算を行う
ヘッドノードはジョブを実行しないので、安価なパソコンで十分です(ただし、LANのポートが計算ノードにつなぐ用とインターネットにつなぐ用の2ヶ所が必要です)。
計算ノードは通常複数台ありますので、ネットワーク・ハブを使って各計算ノードとヘッドノードを接続します。
ヘッドノードと計算ノードは兼用することも可能です。
ソフトのインストール
ヘッドノードおよび計算ノードにOSをインストールします。 これらのノードのOSは揃えておきましょう。 以下ではUbuntu16.04を使うとします。
OSが入ったら、GCCやIntel compilerなどのコンパイラをヘッドノードにインストールします。
Torqueのインストール
以下では、ヘッドノード1台と計算ノード2台を例に説明します。 各ノードのホスト名は
- keisan_head
- keisan01
- keisan02
とします。
ちなみにホスト名は
$ hostname
で確認することができます。 /etc/hostsを開いて、keisan_headのIPアドレスがlocalhostのものと同じにします。
$ sudo vi /etc/hosts
- hosts
127.0.0.1 localhost 127.0.0.1 keisan_head # (以下略)
もしホスト名やIPアドレスを更新したなら、コンピュータを再起動します。
ヘッドノード
ヘッドノード用のTorqueを入れます。
$ sudo apt install torque-server
計算ノード
計算ノード用のTorqueを入れます。
$ sudo apt install torque-mom torque-client
Torqueの設定
ヘッドノードおよび計算ノードの両方で、/etc/torque/server_nameにヘッドノードの名前を書き込みます。
$ sudo vi /etc/torque/server_name
- server_name
keisan_head
計算ノード側で設定することはこれ以上ありません。
次に、ヘッドノードの/var/spool/torque/server_priv/にnodesというファイルを作り、計算ノードのホスト名を指定します。
$ sudo vi /var/spool/torque/server_priv/nodes
- nodes
keisan01 np=32 keisan02 np=32
npで一度に実行できるジョブの最大数を指定します。 計算ノードで
$ cpuinfo
とすれば、各計算ノードで実行できるジョブの最大数(Processors(CPUs)の後ろにある数字)を確認できます。
また、ヘッドノードの同じディレクトリにarraysというディレクトリがもしなければ作成します。
$ sudo mkdir /var/spool/torque/server_priv/arrays
次に、実行権限を編集します。
\$ chmod 777 /var/spool/torque/spool /var/spool/torque/undelivered
\$ chmod o+t /var/spool/torque/spool /var/spool/torque/undelivered
以上が終われば、ジョブサーバーのpbs_serverを起動します。
$ sudo pbs_server -t create
PBS_Server foo6134: Create mode and server database exists,
do you wish to continue y/(n)?y