grid_engine_設定

queの追加

#queの一覧
qconf -sql

#並列環境を追加
qconf -ap def_slot_back #slot 999に

qconf -aq back.q
#hostlist              @allhosts に
#pe_listにdef_slot_backを追加し、make smp mpiを削除
#slotsを1,...->0,...に変更
#できればqsub時にdef_slot_backを指定しないとジョブが流れないようにしたかったけど、上の設定では何もpe_listを指定しない場合はback.qに流れてしまう。

back.qにデフォルトで流れないように下記を試したけど上手くいかないので元に戻した。

qconf -mc
#下記を追加
force_pe            fp         INT       <=    YES         NO         0        0

qconf -mq back.q
#complex_valuesをNONEからforce_pe=0に変更

qconf -mp def_slot_back
#下記に変更
allocation_rule    $pe_slots,force_pe=1に変更

def_slotの追加

qconf -ap def_slot
// slot 999に変更

#qconf -aq debug.q
qconf -aattr queue pe_list def_slot all.q
#qconf -aattr queue pe_list def_slot debug.q

各ノードのメモリー量の設定

まず、グリッドエンジンでのcomplex attributeにmem_reqを追加するために、下記のように行う。

qconf -mc

で次の行を追加する。

mem_req             mem_req    MEMORY      <=    YES         YES        1G      0

それから各ノードで

qconf -rattr exechost complex_values mem_req=128G m128

とやってメモリー量を設定する。

qsubを投げるときに、

qsub -l mem_req=30G -q all.q@m128

などとやると、最大でも4ジョブまでしかm128には入らない。ただし、メモリーを30GB以上使ったとしてもジョブをkillすることはしない。もし必要であれば、h_vmem当たりを使うとよさそう。

ここで指定するmemreqは1コア当たりのメモリ量なので、defslotを使って複数スロットを使う場合は、memreq x defslot分のメモリーを予約するので注意。

仮にmem_reqを指定しない場合は、qconf -mcで設定した1Gが消費される。

mem_reqのcomplex attributes設定の確認は

qconf -sc

ノードごとのメモリー設定量は下記で表示される。

qconf -se m8.s

GPUキューの作成

qconf -aq gpu.q
#hostlist              @allhosts に
#pe_listにdef_slot_backを追加し、make smp mpiを削除
#slotsを1->0,[mem512gb.t=16],[tsukumoex.t=16]
qconf -mc #で下記を追加

#name               shortcut   type        relop   requestable consumable default  urgency
#----------------------------------------------------------------------------------------------
gpu                 gpu        INT         <=      YES         JOB        0        0
qconf -aattr exechost complex_values gpu=2 mem512gb
qconf -aattr exechost complex_values gpu=2 tsukumoex

cd /suikou/download9-tmc
git clone https://github.com/kyamagu/sge-gpuprolog.git
chmod 755 sge-gpuprolog/*.sh
qconf -mq gpu.q

prolog                sge@/suikou/download9-tmc/sge-gpuprolog/prolog.sh
epilog                sge@/suikou/download9-tmc/sge-gpuprolog/epilog.sh

使用するときは、

qsub -q gpu.q -l gpu=1 -pe def_slot 1 qsubsh echo a

$CUDAVISIBLEDEVICESに0,1などと入っている

load averageが高い原因の調査

ps aux -L | egrep -w "R.|D." | grep -v grep |grep -v "ps aux"

ジョブの再実行

qmod -r job_id

jobがEqwになったエラーステータスを解除するだけなら

qmod -cj job_id

ジョブの途中でqsubのパラメータを変更したいとき

例
qalter -r yes job_id

qalter -q back.q -pe def_slot_back 4 -l mem_req=0G job_id

ホストがstates Eの時の原因表示

qhost -q #でホストのステータスがEのものがある場合

#下記で原因が表示される
qstat -f -explain E

次のコマンドでエラーを消せる(が、原因を解決していないとジョブを投げると再びエラーに・・・)

qmod -c '*'

原因はよくわからないけど、sge_execdをkillして、/etc/init.d/sgeexecd.p6444 startでリスタートかけると上手くジョブが流れるようになった。

251でホストがstates Eのときの対応

ディスク不足などでエラーとなった場合

$ qstat -f
queuename                      qtype resv/used/tot. load_avg arch          states
---------------------------------------------------------------------------------
all.q@m50v251n1                BIP   0/0/16         0.01     lx-amd64      E
---------------------------------------------------------------------------------
all.q@m50v251n2                BIP   0/0/16         0.04     lx-amd64      E
---------------------------------------------------------------------------------
all.q@m50v251n3.s              BIP   0/0/16         0.01     lx-amd64      E
sudo su -
source /opt/sge/default/common/settings.sh
qmod -c all.q@m50v251n1

とやるとエラーが消えて復旧。

schedd_job_info の有効化 (2022/7/28)

qconf -msconf

で、

schedd_job_info true

にする。

m50vXXXに16コア分ジョブが入らない件の調査

qhost -Fして、hc:mem_req=0.000などとなっていないか見る。

それでも、qsubの時に-l mem_req=0Gをつけると一応流れるようにはなる。つけないとデフォルトのmem_req=1Gが設定されるため流れない。

管理者ユーザの追加

qconf -am yoshitake

管理者のメールアドレスの変更

qconf -mconf global

キューを一時的にOFF/ON

#OFF
qmod -d back.q

#ON
qmod -e back.q

rootでジョブを投げられるようにする

rootでジョブを投げると

Unable to run job: job rejected: your user id 0 is lower than minimum user id 100 of cluster configuration

となるので、

qconf -mconf
#min_uid, min_gidを0にする
  • grid_engine_設定.1705491726.txt.gz
  • 最終更新: 2024/01/17 11:42
  • by 133.11.222.89