User Tools

Site Tools


Sidebar

torque:ぼっちtorque

Ubuntu16.04を使用しました。

準備

/etc/hostsを開いて、ホスト名(コンピュータ名)のIPアドレスをlocalhostのものと同じにしておきます。 以下ではホスト名をuser-pcとします。

$ sudo vi /etc/hosts

(変更前)

hosts
127.0.0.1	localhost
127.0.1.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の設定

インストールすると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
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
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

で確認してください。

torque/ぼっちtorque.txt · Last modified: 2021/06/27 22:04 (external edit)