This is an old revision of the document!
−Table of Contents
Ubuntu16.04を使用しました。
準備
/etc/hostsを開いて、localhostとホスト名(コンピュータ名)のIPアドレスを同じにしておきます。 以下ではホスト名をuser-pcとします。
$ sudo vi /etc/hosts
(変更前)
- hosts
127.0.0.1 localhost 127.0.0.1 user-pc # 以下略
(変更後)
- hosts
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の設定
/etc/torque/server_nameにlocalhost(ホスト名でも可。以下同様)と書き込みます。
$ sudo vi /etc/torque/server_name
- server_name
localhost
ジョブサーバーの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
- nodes
localhost np=32
npで一度に実行できるプロセスの最大数を指定します。 最大プロセス数は
$ cpuinfo
でProcessors(CPUs)の後ろにある数字から確認できます。
なお、このnodesというファイルは
$ sudo pbs_server -t create
を再び実行すると削除されます。
以上の設定が終わったら、Torqueを再起動します(ノードを設定したファイルはTorque起動時に読み込まれるため)。
$ sudo service torque-server restart
$ sudo service torque-scheduler restart
$ sudo service torque-mom restart
設定されたノードの情報は
$ 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 -c “p s”
Torqueがちゃんと動作しているかは
$ echo 'sleep 30' | qsub
$ qstat
で確認してください。