サーバの設定
- 多くのサイトでは、ファイルを書き換えて行う方法を紹介しているが、その場合、torque-server (pbs_server) を再起動する必要がある。
- ここでは qmgr によって設定 (動的に変更) する方法を紹介する
手順
- 新たにサーバプロファイルを作成 (このコマンドを実行すると torque_server が起動する)
$ sudo pbs_server -t create
- ノードの設定
- 4スレッドを持つ hoge というノードを追加する場合
$ sudo qmgr > create node hoge > set node hoge np=4 > set node hoge properties="cpu"
- CPU 2スレッド、GPU 1 ノードのノード fuga を追加する場合 (Torque 2.5.6, 3.0.2 以降のバージョンで指定可能)
$ sudo qmgr > create node fuga > set node fuga np=2 > set node fuga gpus=1 > set node fuga properties="gpu"
np
: CPU 数gpus
: GPU のノード数properties
:resources_default.neednodes
で指定する際に指定する任意の名前 (他のノードとひとまとめに指定できる;neednodes
の機能を有効にするにはスケジューラに Maui を導入する必要あり)- 上記コマンドをノードの数だけ設定していく
- 設定は /var/spool/torque/server_priv/nodes に保存されていく (他のサイトで編集しているファイルと同じ)
- サーバやキューの設定
- qmgr に続けて入力するか、一度 exit で抜けてファイルを読み込ませる
- 設定項目については、qmgr の設定項目 や キューの設定例 を参照
- qmgr の基本的な使い方
exit
: qmgr を終了print server
(あるいはp s
): 設定内容の表示 (ノード情報は表示されない)create node
: ノードオブジェクトの作成create queue
: キューオブジェクトの作成set node 設定
: ノードオブジェクトの設定set queue 設定
: キューオブジェクトの設定set server 設定
: サーバの設定- 設定は = で値と繋ぐ
例:set server scheduling=true
- 設定内容をファイルに保存する場合
$ echo 'p s' | sudo qmgr > queue.conf
- 保存したファイルから、ファイルの先頭にある Max open servers 行を削除すれば、読み込ませて設定することも可能
- ファイルを読み込ませる場合
$ sudo qmgr < ファイル
qmgr の設定項目
サーバ設定
set server …
で始まる項目
項目 | 意味 | 値 (太字がデフォルト) |
---|---|---|
scheduling | スケジューリングの有効化 | true or false |
default_queue | デフォルトのキューを設定 | |
log_events | ログの出力内容 | |
query_other_jobs | root以外のユーザが他人のジョブを閲覧する許可 | true or false |
scheduler_iteration | ? | |
node_check_rate | ノードが死亡していると判断するまでの時間(秒) | 整数値 (600) |
tcp_timeout | pbs_serverとpbs_mon間のTCPソケットのタイムアウト時間(秒) | 整数値 (8) |
node_pack | 1つのノードを埋めてから次のノードを利用するか | true or false |
allow_node_submit | ノードからのジョブ投入の許可 | true or false |
keep_completed | 完了後キューの中に留めておく時間(秒) | 整数値 (0) |
キュー設定
set queue キュー名 …
で始まる項目
項目 | 意味 | 値 (太字がデフォルト) |
---|---|---|
queue_type | キュータイプ | execution(e) or route® |
resources_default.ncpus | デフォルトで指定されるCPU数 | |
resources_default.nodes | デフォルトで指定されるノード数 | |
resources_default.neednodes | 使用するノードを指定 (nodes ファイルで指定した名前) ※スケジューラに Maui を使う必要あり | |
enabled | ジョブの受け入れ(このキューでのジョブ投入を許可するか) | true or false |
started | ジョブを実行するか(falseならhold状態で投入される) | true or false |
- 参考サイト: 特定のノードの指定 neednodes
キューの設定例
- queue.conf
# # Create queues and set their attributes. # # # Create and define queue F # create queue F set queue F queue_type = Execution set queue F resources_default.ncpus = 1 set queue F resources_default.nodes = 1 set queue F enabled = True set queue F started = True # # Create and define queue Q2 # create queue Q2 set queue Q2 queue_type = Execution set queue Q2 max_running = 1 set queue Q2 resources_max.ncpus = 4 set queue Q2 resources_max.nodes = 1 set queue Q2 resources_default.ncpus = 1 set queue Q2 resources_default.nodes = 1 set queue Q2 resources_available.ncpus = 4 set queue Q2 resources_available.nodes = 1 set queue Q2 enabled = True set queue Q2 started = True # # Create and define queue Q4 # create queue Q4 set queue Q4 queue_type = Execution set queue Q4 max_running = 1 set queue Q4 resources_max.ncpus = 4 set queue Q4 resources_max.nodes = 1 set queue Q4 resources_default.ncpus = 1 set queue Q4 resources_default.nodes = 1 set queue Q4 resources_available.ncpus = 4 set queue Q4 resources_available.nodes = 1 set queue Q4 enabled = True set queue Q4 started = True # # Create and define queue Q1 # create queue Q1 set queue Q1 queue_type = Execution set queue Q1 max_running = 1 set queue Q1 resources_max.ncpus = 4 set queue Q1 resources_max.nodes = 1 set queue Q1 resources_default.ncpus = 1 set queue Q1 resources_default.nodes = 1 set queue Q1 resources_available.ncpus = 4 set queue Q1 resources_available.nodes = 1 set queue Q1 enabled = True set queue Q1 started = True # # Create and define queue Q3 # create queue Q3 set queue Q3 queue_type = Execution set queue Q3 max_running = 1 set queue Q3 resources_max.ncpus = 4 set queue Q3 resources_max.nodes = 1 set queue Q3 resources_default.ncpus = 1 set queue Q3 resources_default.nodes = 1 set queue Q3 resources_available.ncpus = 4 set queue Q3 resources_available.nodes = 1 set queue Q3 enabled = True set queue Q3 started = True # # Set server attributes. # set server scheduling = True set server default_queue = F set server log_events = 511 set server query_other_jobs = True set server scheduler_iteration = 600 set server node_check_rate = 150 set server tcp_timeout = 6 set server node_pack = False set server allow_node_submit = True
- F: 制限がないキュー
- Q1〜Q4: 1 ジョブしか流せないキュー
参考サイト
- Queue attributes qmgr キューの設定
- ソフトウェア/TORQUE - epii's Wiki qmgr サーバ設定