目次

サーバの設定

手順

  1. 新たにサーバプロファイルを作成 (このコマンドを実行すると torque_server が起動する)
    $ sudo pbs_server -t create
  2. ノードの設定
    • 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 に保存されていく (他のサイトで編集しているファイルと同じ)
  3. サーバやキューの設定
    • 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_jobsroot以外のユーザが他人のジョブを閲覧する許可true or false
scheduler_iteration?
node_check_rateノードが死亡していると判断するまでの時間(秒)整数値 (600)
tcp_timeoutpbs_serverとpbs_mon間のTCPソケットのタイムアウト時間(秒)整数値 (8)
node_pack1つのノードを埋めてから次のノードを利用するか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

キューの設定例

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

参考サイト