Ubuntu16.04を使用しました。 ====== 準備 ====== /etc/hostsを開いて、ホスト名(コンピュータ名)のIPアドレスをlocalhostのものと同じにしておきます。 以下ではホスト名をuser-pcとします。 $ sudo vi /etc/hosts (変更前) 127.0.0.1 localhost 127.0.1.1 user-pc # 以下略 (変更後) 127.0.0.1 localhost 127.0.0.1 user-pc # 以下略 変更を反映させるにはコンピュータの再起動が必要です。 $ sudo reboot ====== Torqueのインストール ====== 端末を開いて、aptによりtorqueをインストールします。 $ sudo apt install torque-server torque-mom torque-clientはtorque-serverに含まれているので、ヘッドノードと計算ノードが同じ場合はインストール不要です。 ====== Torqueの設定 ====== インストールするとTorqueが動き出すので、いったん終了させておきます。 $ ps -e |grep pbs 1407 ? 00:00:00 pbs_sched 1611 ? 00:00:00 pbs_mom 1618 ? 00:00:00 pbs_server $ sudo kill 1407 1611 1618 /etc/torque/server_nameにホスト名を書き込みます。 $ sudo vi /etc/torque/server_name user-pc ジョブサーバーのpbs_serverを起動します。 $ sudo pbs_server -t create PBS_Server foo6134: Create mode and server database exists, do you wish to continue y/(n)?y pbs_serverが起動したら/var/spool/torque/server_priv/にnodesというファイルを作り、使用できる最大プロセス数を指定します。 $ sudo vi /var/spool/torque/server_priv/nodes user-pc np=32 npで一度に実行できるプロセスの最大数を指定します。 最大プロセス数は $ cpuinfo でProcessors(CPUs)の後ろにある数字から確認できます。 なお、このnodesというファイルは $ sudo pbs_server -t create を再び実行すると削除されます。 ディレクトリのパーミッションを変更します。 $ sudo chmod 777 /var/spool/torque/spool /var/spool/torque/undelivered $ chmod o+t /var/spool/torque/spool /var/spool/torque/undelivered 以上の設定が終わったら、コンピュータを再起動します(ノードを設定したファイルはTorque起動時に読み込まれるため)。 $ sudo reboot 設定されたノードの情報は $ pbsnodes で確認できます。 ====== キューの設定 ====== 次に、キューの設定をシます。 投げたジョブはいったんキューに格納され、スケジューラによってキューにあるジョブが順番に実行されていきます。 キューではジョブの実行時間などが編集できるので、ジョブの性質ごとにキューを作っておくと便利です。 以下ではbatchという名前のキューを作ります。 キューの設定は管理者権限でqmgrを起動して行います。 以下では必要最低限の設定をしています。 $ sudo qmgr Max open servers: xxx Qmgr: set server scheduling=true  スケジューリングを有効にします。これが有効になってないとTorqueを使う意味がない。 Qmgr: create queue batch queue_type=execution  batchという名前のキューを作ります。 Qmgr: set queue batch started=true  batchでのジョブの実行を許可します。 Qmgr: set queue batch enabled=true  batchにジョブを受け入れられるようにします。 Qmgr: set queue batch resources_default.nodes=1  batchに割り当てられるノードの数。ぼっちTorqueなのでノード数は必然的に1 Qmgr: set queue batch resources_default.walltime=240:00:00  ジョブの最大実行時間。この場合は240時間  Qmgr: set server default_queue=batch  ジョブ投入時に特に指定がなければbatchに入る Qmgr: exit  キューの管理を終了する あるいはqmgrを起動しなくても $sudo qmgr -c "set server scheduling=true" で設定可能です。 設定の削除は次のようにします。 Qmgr: unset server scheduling=true batchという名前のキューの削除は次のようにします。 Qmgr: delete queue batch 設定の確認は次のようにします。 Qmgr: p s Torqueがちゃんと動作しているかは $ echo 'sleep 30' | qsub $ qstat で確認してください。