grid_engine_設定

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
grid_engine_設定 [2024/01/17 11:16] 133.11.222.89grid_engine_設定 [Unknown date] (現在) – 削除 - 外部編集 (Unknown date) 127.0.0.1
行 1: 行 1:
-# 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 
- 
-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当たりを使うとよさそう。 
- 
-ここで指定するmem_reqは1コア当たりのメモリ量なので、def_slotを使って複数スロットを使う場合は、mem_req x def_slot分のメモリーを予約するので注意。 
- 
-仮に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 
-``` 
- 
-# 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_設定.1705490160.txt.gz
  • 最終更新: 2024/01/17 11:16
  • by 133.11.222.89