====== ハードウェアの準備 ======
以下のものを用意します。
* ヘッドノード・サーバー × 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
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
keisan_head
計算ノード側で設定することはこれ以上ありません。
次に、ヘッドノードの/var/spool/torque/server_priv/にnodesというファイルを作り、計算ノードのホスト名を指定します。
>$ sudo vi /var/spool/torque/server_priv/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