====== サーバの設定 ====== * 多くのサイトでは、ファイルを書き換えて行う方法を紹介しているが、その場合、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(r)| |resources_default.ncpus|デフォルトで指定されるCPU数| | |resources_default.nodes|デフォルトで指定されるノード数| | |resources_default.neednodes|使用するノードを指定 (nodes ファイルで指定した名前) ※スケジューラに Maui を使う必要あり| | |enabled|ジョブの受け入れ(このキューでのジョブ投入を許可するか)|true or **false**| |started|ジョブを実行するか(falseならhold状態で投入される)|true or **false**| * 参考サイト: 特定のノードの指定 [[http://hydro.iis.u-tokyo.ac.jp/~kei/?plugin=attach&refer=IT%20memo%2Flinuxmemo4&openfile=103-Torque%E5%8F%96%E6%89%B1%E8%AA%AC%E6%98%8E.pdf | untitled - http://hydro.iis.u-tokyo.ac.jp/~kei/?plugin=attach&refer=IT%20memo%2Flinuxmemo4&openfile=103-Torque%E5%8F%96%E6%89%B1%E8%AA%AC%E6%98%8E.pdf]] * 参考サイト: 特定のノードの指定 [[http://docs.adaptivecomputing.com/torque/archive/3-0-2/4.1queueconfig.php | neednodes]] ===== キューの設定例 ===== # # 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 ジョブしか流せないキュー ===== 参考サイト ===== * [[http://docs.adaptivecomputing.com/torque/4-0-2/Content/topics/4-serverPolicies/queueAttributes.htm | Queue attributes]] qmgr キューの設定 * [[http://docs.adaptivecomputing.com/torque/3-0-5/a.bserverparameters.php | ]] qmgr サーバ設定 * [[http://wiki.epii.jp/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2/TORQUE | ソフトウェア/TORQUE - epii's Wiki]] qmgr サーバ設定 {{tag>Linux サーバ 分子シミュレーション}}