Я пытаюсь установить SLURM с NFS на небольшом кластере HPC Ubuntu 18.04, обычным способом, например, настроить контроллер (slurmctld) и клиентов (slurmd), а также общий каталог и т. д. Мне интересно, есть ли способ настроить его так, чтобы контроллер был на части головного узла, а другие диски в головном узле использовались процедурой разделения ресурсов, как и другие узлы? Есть ли способ сделать это с помощью файла конфигурации 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 содержит имя хоста управляющей машины.