2007/02/22

TORQUE

LDAP認証のみに移行すると,いままで使ってたGenericNQSの認証ができないので,OpenPBSから派生したらしいTORQUEを試してみた。

tar xzvf torque-2.1.7.tar.gz
cd torque-2.1.7
./configure --without-tcl --without-tk --without-tclx --without-tkx
make
make install

Tcl/Tkを用いたGUIをビルドしようして,途中でコケる場合があるので,その場合はTcl/Tk関係のオプションを--withoutにする。
サーバ(スケジューラ)の設定
インストールが終わった後,

pbs_server -t create

でサーバのデータベースを作成する。
以下の内容をファイルに保存して,qmgrに読ませる。

set server operators = root@headnode
set server operators += username@headnode
create queue batch
set queue batch queue_type = Execution
set queue batch started = True
set queue batch enabled = True
set server default_queue = batch
set server resources_default.nodes = 1
set server scheduling = True
set server mail_from = root

qmgr -c 'p s' で確認できる。
$TORQUE_HOME/server_priv/nodesを編集して,各計算ノードとCPU数を記述する。

computenode001.cluster.org np=4
computenode002.cluster.org np=4
computenode003.cluster.org np=2

pbs_serverをいったん終了して再起動し,スケジューラも起動する。

qterm -t quick
pbs_server
pbs_sched

計算ノードにおける設定
$TORQUE_HOME/server_nameにサーバのホスト名を記述

headnode

$TORQUE_HOME/mom_priv/configに以下の設定を記述

$pbsserver headnode # note: hostname running pbs_server
$logevent 255 # bitmap of which events to log

pbs_momを起動する。

pbs_mom

サーバ(headnode)でpbsnodesによってノードの状況を確認できる。
ジョブ投入

qsub -l nodes=2:ppn=4

のようにしてジョブを投入する。この場合,各ノード4CPU,2ノード,計8CPU使用する。使用されるノードは環境変数のPBS_NODEFILEにリストアップされる。
計算ノードのspoolにある標準出力と標準エラー出力をジョブ実行後headnodeに戻せない場合はmom_priv/configにusecpを設定する。下記の例はautofsで/netをmountポイントにしている場合。

Subject: PBS JOB 17.headnode

PBS Job Id: 17.headnode
Job Name: job1
An error has occurred processing your job, see below.
Post job file processing error; job 17.headnode on host node04/1+node04/0+node03/1+node03/0

Unable to copy file /var/spool/torque/spool/17.headnode.OU to foo@headnode:/net/headnode/home/foo/job1.o17
>>> error from copy
Host key verification failed.
lost connection
>>> end error output
Output retained on that host in: /var/spool/torque/undelivered/17.headnode.OU

mom_priv/config

$pbsserver headnode # note: hostname running pbs_server
$logevent 255 # bitmap of which events to log
$usecp *:/net /net

pbs_server稼動中にノードを追加

qmgr -c "create node node003"

propertyを追加。

qmgr -c "set node node001 properties = bigmem"
qmgr -c "set node node001 properties += dualcore"

qsub -l nodes=2:dualcore:ppn=2 job_script のようにしてジョブ投入できる。

0 件のコメント: