これはrioyokotalab Advent Calendar 2020 16日目の記事です.
標準出力で見たい場合は
何の話か
Slurmのscontrolコマンドは,クラスタの追加・設定やジョブの管理など,Slurmを使って複数ノードのジョブスケジューリングをしている場合は頻繁に使います.
その中で,自分がよく使うコマンドをいくつか書いていきます.
scontrol update
sinfoでノードがdownと表示されるようになった場合などによく使うコマンドです.
こんな感じで状態をidleにできます.
scontrol update nodename=node_name state=idleいくつかのノードのstateをまとめて更新することもできます.
scontrol update nodename=node1,node2,node3 state=idle
idleにする場合は上記のコマンドで十分なのですが,逆にdownにしたい場合などはreasonを付与する必要があります.
scontrol update nodename=node_name state=down reason='hoge'
down*のように*が付いている場合は,Slurmのデータベース上でdownなだけではなく,ノードやネットワーク自体にも問題があるため,そちらを直さない限りidle*になったところでジョブは割り当てられません.
scontrol show
このコマンドではノードやパーティション,ジョブの状態をみることができます.
例えば,jobに割り当てられている計算資源や時間制限を見たければ,
scontrol show job=job_idとすることで見ることができます.
また,ノードの持つ計算資源やOSの種類,最終起動時間などを見たければ,
scontrol show node=node_nameとすることで見ることができます.
このようにENTRY=IDを指定することで,どの情報を表示させるかを指定するのですが,ENTRYはjobやnode以外にも多くのものを指定することができます.
詳細はSlurmの公式ページをご覧ください.
scontrol - Slurm
scontrol write batch_script
バッチジョブを実行するためにはジョブスクリプトを書きますが,このコマンドで指定したジョブを実行するために使ったジョブスクリプトを出力できます.
使い方はこんな感じです.
scontrol write batch_script job_id実行すると,デフォルトではslurm-job_id.shといったファイル名で書き出されます.
標準出力で見たい場合は
scontrol write batch_script job_id -というように-を付けることでそうできます.
おわりに
個人的にはscontrolはユーザとしても管理者としても使いやすいものとなっていると思っていて重宝しています.
ドキュメントもちゃんと整備されていてありがたいです.
カテゴリー:サーバ
記事作成日:2020-12-16