「部分的な」ヘッドノードを備えた SLURM

「部分的な」ヘッドノードを備えた SLURM

典型的な方法で、たとえばコントローラー (slurmctld) とクライアント (slurmd) と共有ディレクトリなどを構成するなど、小規模な Ubuntu 18.04 HPC クラスターに NFS を使用した SLURM をインストールしようとしています。私が知りたいのは、ヘッド ノードの一部にコントローラーがあり、ヘッド ノードの他のドライブが他のノードと同様にリソース パーティション ルーチンによって使用されるように設定する方法があるかどうかです。SLURM 構成ファイルを使用してこれを実現する方法はありますか?

基本的に、コントローラーが軽い作業しか行わない場合に、リソースを最大化する方法を尋ねています。

ありがとう、乾杯!

答え1

ヘッドノードをコンピューティング ノードとして使用しようとしています。これは、小規模なクラスターや、キュー システムとして SLURM を備えたワークステーションでも、ジョブをキューに入れる簡単な方法として使用したり、このワークステーションにアクセスできるユーザー グループ間でコンピューティング能力を共有したりするために使用することはまったく普通のことです。

これを行うには、slurmdを実行している同じマシンで を有効にするだけですslurmctld。コンピューティング仕様で、それぞれのノードとパーティション エントリを追加することを忘れないでください/etc/slurm/slurm.conf。例として、次のようになります。

ClusterName=Cloyster
ControlMachine=charizard.cluster.example.com
SlurmUser=slurm
SlurmctldPort=6817
SlurmdPort=6818
AuthType=auth/munge
StateSaveLocation=/var/spool/slurm/ctld
SlurmdSpoolDir=/var/spool/slurm/d
SwitchType=switch/none
MpiDefault=none
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmdPidFile=/var/run/slurmd.pid
ProctrackType=proctrack/pgid
SlurmctldTimeout=300
SlurmdTimeout=300
InactiveLimit=0
MinJobAge=300
KillWait=30
Waittime=0
SchedulerType=sched/backfill
SelectType=select/cons_tres
SelectTypeParameters=CR_Core
SlurmctldDebug=info
SlurmctldLogFile=/var/log/slurmctld.log
SlurmdDebug=info
SlurmdLogFile=/var/log/slurmd.log
JobCompType=jobcomp/none
TaskPlugin=task/affinity
PropagateResourceLimitsExcept=MEMLOCK
AccountingStorageType=accounting_storage/filetxt
Epilog=/etc/slurm/slurm.epilog.clean
SlurmctldParameters=enable_configless

ReturnToService=2
NodeName=charizard Sockets=2 CoresPerSocket=64 ThreadsPerCore=2 State=UNKNOWN
PartitionName=execution Nodes=charizard Default=YES MaxTime=720:00:00 State=UP Oversubscribe=EXCLUSIVE

NodeName に制御マシンのホスト名が含まれていることを確認します。

関連情報