「xxxx.local isn't declared to be NUMA, but mom is reporting」と表示されてpbsnodesに計算ノードが表示されない

NUMAのせいです。
epelで提供しているのはNUMA対応品で、それを外したパッケージを別途作ることをお勧めします。
一応、「/var/lib/torque/server_priv/nodes」ファイルで

cap01.sybyl.local np=8 num_node_boards=1

と「num_node_boards=1」を加えれば回避されそうなのだが、、特定ノードでの計算の際には下記のようにする必要が生じる

#!/bin/bash
#PBS -q batch
#PBS -l nodes=cap01.sybyl.local-0:ppn=4
#PBS -j oe
 :
 :

queue指定とnodesを数で示す分には問題ないですけど。

インターラクティブモード

qsub -I -q batch -l nodes=1:ppn=16 -X

と「-I」を指定するとインターラクティブモードになります。上記の場合はnodeを1つ、16coreを占有した
ターミナルが利用可能になります。
また「-X」を追加することで、GUIアプリも利用可能になります。

qsubに複数の引数を渡す

qsubに投げるスクリプトに引数を渡したい.
スクリプトはこんな感じ

#!/bin/sh
#PBS -q batch
#PBS -l nodes=1:ppn=1:gpus=1
cd $PBS_O_WORKDIR
relion_run_motioncorr --i ${IN}  ..... --gainref ${GAIN} ...

そうして、コマンドラインで

qsub motioncor2.sh -v IN=Micrographs/sq_1_10001.tif,GAIN=MicrographsCountRef.mrc

と打つとqsubスクリプトに引数が渡り、計算が行われる

pbs_sched のコントロール下で gpus を使ったとき、どのGPUがアサインされたかを知る

下記のジョブを投入すると

#!/bin/sh
#PBS -q batch
#PBS -l nodes=1:ppn=1:gpus=1
cat $PBS_GPUFILE

標準出力で "pbs.sybyl.local-gpu0"と返事を頂く。この最後の番号がGPUIDとして使えるみたい

留意

#PBS -l nodes=1:ppn=1:gpus=4

とすると、$PBS_GPUFILEの中身は

pbs.sybyl.local-gpu0
pbs.sybyl.local-gpu1
pbs.sybyl.local-gpu2
pbs.sybyl.local-gpu3

と4行で表示される。

mauiではなく pbs_sched でコントロールさせる

qmgr -c set server scheduling = True

で pbs_sched 側に流れる

npの値を自動的に定義する

qmgr -c set server auto_node_np = True

これで /var/lib/torque/server_priv/nodes が自動的に書き換わる

ジョブの標準出力をモニターする

qsubでジョブを投入すると、リソースの空いているノードにジョブが投入される。
その計算中の標準出力を見るにはどうしたらいいのか?

投入先のノードは qstat -n -1 <queue id> で見つけられる
そして標準出力は、ノードの /var/lib/torque/spoolに置かれるので、下記のような単純なスクリプトで行ける

#!/bin/bash
#
if [ $# -ne 1 ]; then
   echo "usage qcat <queue ID>" 1>&2
   exit 1
fi
#
host=$(qstat -n -1 $1 | tail -n1 | awk '{print $12}' | tr -s '+', '\n' | sort -u)
for i in $host
do
f=$(rsh $i ls /var/lib/torque/spool/$1.*.OU 2>/dev/null)
if [ $f ]; then
   rsh $i cat $f
   exit
fi
done

*rshで運用している場合の例です
本来なら xmllint を使って確実にすべきかもしれない
MPIで投げている場合、qstat -n -1 <queue id>で投げているノードが全て判明して、その中のrank0で標準出力を出しているのなら、順繰り回して探すスクリプトです

上記をちょいと改変して qtailqhead を作ってみた

計算ノードはユーザログイン禁止にする

rsh系なら各ノードのrshは許可するが、rloginは起動させない

[root@c1 ~]# systemctl list-unit-files
 :
rlogin.socket                                 disabled
rsh.socket                                    enabled
 :

sshは、

[root@c1 ~]# vi /etc/ssh/sshd_config
 :
AllowUsers supervisor root
[root@c1 ~]#

としておく

バージョン違いが混在

管理ノードと計算ノードでバージョンの違いがあっても問題ないのか調べてみた
管理サーバは4.2.10、計算ノードを最新の6.1.1とした
torque-6.1.1の調理方法はrpmbuildで作りました。ソースは開発元から取得して、その中に「torque.spec」ファイルがあります。ソースは~/rpmbuild/SOURCEへ、「torque.spec」ファイルは修正後~rpmbuild/SPECSへ配置します。
「torque.spec」ファイルの変更箇所

specファイルが書き終わったらrebuild

[root@c ~]# rpmbuild -bb rpmbuild/SPECS/torque.spe

完成したrpmファイルを計算ノードに送って、

[root@n2 ~]# yum localinstall ./torque-6.1.1.1-1.adaptive.el7.centos.x86_64.rpm \
   ./torque-client-6.1.1.1-1.adaptive.el7.centos.x86_64.rpm

としてインストール。(事前に前のtorque環境は削除したほうがいいかも)
pbd_momを起動させ、管理サーバから見ていると

[root@pbs ~]# pbsnodes
n1.sybyl.local
     state = free
     np = 1
     properties = bio
     ntype = cluster
     status = rectime=1493821456,varattr=,jobs=,state=free,netload=7894397,gres=,loadave=0.00,ncpus=1,(略
     mom_service_port = 15002
     mom_manager_port = 15003
 
n2.sybyl.local
     state = free
     np = 2
     properties = chem
     ntype = cluster
     status = rectime=1493821483,version=6.1.1.1,macaddr=(略
     mom_service_port = 15002
     mom_manager_port = 15003
 
n3.sybyl.local
     state = free
     np = 3
     properties = chem
     ntype = cluster
     status = rectime=1493821488,varattr=,jobs=,state=free,netload=8008005496,gres=,loadave=0.00,ncpus=1,(略
     mom_manager_port = 15003
 
[root@pbs ~]#

と「n2」のみversionが明記され、フォーマットが若干異なっている。
qsubでジョブを流してみたが、問題なく流れている

gpuを使う

「qsub -l nodes=gpu-machine:ppn=1:gpus=1」と指定

最新の60件
2026-01-22 2026-01-18 2026-01-17 2026-01-16 2026-01-12 2026-01-11 2026-01-10 2026-01-09 2026-01-08 2026-01-06 2026-01-04 2026-01-01 2025-12-31 2025-12-28 2025-12-27 2025-12-12 2025-12-11 2025-12-09 2025-12-08 2025-12-07 2025-12-05 2025-11-30 2025-11-27 2025-11-24 2025-11-23 2025-11-18 2025-11-16 2025-11-05 2025-11-03 2025-11-02 2025-10-30 2025-10-29 2025-10-28 2025-10-26 2025-10-25 2025-10-24 2025-10-22 2025-10-21 2025-10-17 2025-10-13 2025-10-11 2025-10-06 2025-10-05

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-04-15 (月) 19:10:03