slurm:コンピューティングノードがsinfoにありませんか?

slurm:コンピューティングノードがsinfoにありませんか?

slurm 22.05.6を設定し、ゆっくりクラスタを構築しています。これまで私はサーバーvogonとノードを設定しましたceres。これはうまくいくようです。これで作業を開始できますsrun。サーバーはDebian 11にあり、ノードはUbuntu 22.04を実行し、そのCPUはAMDです。

root@ceres:~# lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         48 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  24
  On-line CPU(s) list:   0-23
Vendor ID:               AuthenticAMD
  Model name:            AMD Ryzen 9 5900X 12-Core Processor
    CPU family:          25
    Model:               33
    Thread(s) per core:  2
    Core(s) per socket:  12
    Socket(s):           1
    Stepping:            2
    Frequency boost:     enabled
    CPU max MHz:         4950.1948
    CPU min MHz:         2200.0000
    BogoMIPS:            7399.57
...

hathorこれでIntel CPUを使用して別のノードを設定しました。

root@hathor:~/slurm-22.05.6/etc# lscpu
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   46 bits physical, 48 bits virtual
CPU(s):                          24
On-line CPU(s) list:             0-23
Thread(s) per core:              1
Core(s) per socket:              16
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           151
Model name:                      12th Gen Intel(R) Core(TM) i9-12900KS
Stepping:                        2
CPU MHz:                         3400.000
CPU max MHz:                     5500.0000
CPU min MHz:                     800.0000
BogoMIPS:                        6835.20
...

ご覧のとおり、CPU 数はコア数と一致しません。したがって、man slurm.confこれはうまくいくはずですSlurmdParameters=config_overrides。また、唯一の重要なパラメータはCPU数でなければなりませんか? slurmd を起動すると、状態は次のようになります。

root@hathor:~/slurm-22.05.6/etc# systemctl status slurmd
● slurmd.service - Slurm node daemon
     Loaded: loaded (/lib/systemd/system/slurmd.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-11-24 13:49:01 GMT; 32min ago
   Main PID: 124749 (slurmd)
      Tasks: 1
     Memory: 1.3M
     CGroup: /system.slice/slurmd.service
             └─124749 /usr/local/sbin/slurmd -D -s

Nov 24 13:49:01 hathor systemd[1]: Started Slurm node daemon.
Nov 24 13:49:01 hathor slurmd[124749]: slurmd: error: Thread count (24) not multiple of core count (16)
Nov 24 13:49:01 hathor slurmd[124749]: slurmd: Node configuration differs from hardware: CPUs=24:24(hw) Boards=1:1(hw) SocketsPerBoard=24:1(hw) CoresPerSocke>
Nov 24 13:49:01 hathor slurmd[124749]: slurmd: error: Thread count (24) not multiple of core count (16)
Nov 24 13:49:01 hathor slurmd[124749]: slurmd: slurmd version 22.05.6 started
Nov 24 13:49:01 hathor slurmd[124749]: slurmd: CPUs=24 Boards=1 Sockets=24 Cores=1 Threads=1 Memory=128530 TmpDisk=943 Uptime=8938 CPUSpecList=(null) Feature>

そしてsinfoリストをリストするだけですceres

root@hathor:~/slurm-22.05.6/etc# sinfo
PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
compute*     up   infinite      1   idle ceres

実際にCPUとコアが一致しない場合は、BIOSでスレッドを無効にすることもできますが、そうしないことをお勧めします。解決策はありますか?または、設定で別の問題を見つける必要がありますか?

編集する

私のものslurm.conf

root@hathor:/var/log# cat /usr/local/etc/slurm.conf
ClusterName=comind
SlurmctldHost=vogon
MpiDefault=none
ProctrackType=proctrack/cgroup
ReturnToService=1
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmctldPort=6817
SlurmdPidFile=/var/run/slurmd.pid
SlurmdPort=6818
SlurmdSpoolDir=/var/spool/slurmd
SlurmUser=slurm
StateSaveLocation=/var/spool/slurmctld
SwitchType=switch/none
TaskPlugin=task/affinity
#
# TIMERS
InactiveLimit=0
KillWait=30
MinJobAge=300
SlurmctldTimeout=120
SlurmdTimeout=300
Waittime=0
#
# SCHEDULING
SchedulerType=sched/backfill
SelectType=select/cons_tres
#
# LOGGING AND ACCOUNTING
AccountingStorageHost=localhost
AccountingStoragePass="/var/run/munge/munge.socket.2"
AccountingStoragePort=3307
AccountingStorageType=accounting_storage/slurmdbd
AccountingStorageUser=slurm
AccountingStoreFlags=job_comment,job_script,job_env
JobCompHost=localhost
JobCompLoc=slurm_job_db
JobCompPass=Atauseq01
JobCompPort=3306
JobCompType=jobcomp/mysql
JobCompUser=slurm
JobAcctGatherFrequency=30
JobAcctGatherType=jobacct_gather/none
SlurmctldDebug=info
SlurmctldLogFile=/var/log/slurmctld.log
SlurmdDebug=info
SlurmdLogFile=/var/log/slurmd.log
#
# COMPUTE NODES
NodeName=ceres CPUs=24 RealMemory=100000 Sockets=1 CoresPerSocket=12 ThreadsPerCore=2 State=UNKNOWN
NodeName=hathor CPUs=24 RealMemory=120000 State=UNKNOWN 
PartitionName=compute Nodes=ALL Default=YES MaxTime=INFINITE State=UP

ベストアンサー1

私の解決策を示すための非常に短い答えです。他の人はこれをより詳細な答えとして書くことができますか?最善の答えとして受け入れます。

したがって、これは非常に簡単であることがわかった。ノードのリストPartitionNameを置き換えて行を変更するだけですALL。直感的には、「すべてのノード」を意味しなければならないということは言葉にはなりませんが、ALL私にとっては効果的でした。

PartitionName=compute Nodes=ceres,hathor Default=YES MaxTime=INFINITE State=UP

おすすめ記事