Измерение времени с помощью SLURM

#slurm

#slurm

Вопрос:

Я создал много программ, из которых я хочу измерить, сколько времени требуется для завершения. Поэтому я хочу запустить одну задачу на одном узле. У нас есть 10 узлов, и каждый узел имеет 2 сокета. Независимо от того, какие параметры я передаю sbatch и srun, SLURM, похоже, планирует 1 задачу на сокет вместо 1 задачи на узел. Какие параметры я должен использовать?

Я начинаю свой пакетный скрипт с sbatch run-experiments

run-experiments содержит:

 #SBATCH -N10 --ntasks-per-node=1
...
for 1..1000 do
    srun -N1 -n1 --exclusive task amp;
done
  

Редактировать: похоже, проблема возникает только в одном разделе, а не в другом. Существует ли параметр конфигурации, который может вызвать это?

Ответ №1:

Это не совсем точно отвечает на ваш вопрос, но я думаю, что вам не хватает «ожидания» после «готово» в вашем скрипте. Без ожидания ваш sbatch вернется сразу после отправки последнего задания, не давая времени для завершения некоторых задач.

Для вашей проблемы вам необходимо проверить параметр «Общий» в определении раздела.

Ответ №2:

У вас, вероятно, есть

 SelectType=select/cons_res
SelectTypeParameters=CR_CORE
  

в вашем slurm.conf,

Эти 2 строки определяют выбор ресурсов для предстоящих заданий. Он протестирован на slurm версии slurm 17.11.7 и использовал следующий slurm.conf

 #
# Example slurm.conf file. Please run configurator.html
# (in doc/html) to build a configuration file customized
# for your environment.
#
#
# slurm.conf file generated by configurator.html.
#
# See the slurm.conf man page for more information.
#
ClusterName=kaleidoscope
ControlMachine=headnode
#
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
#
# TIMERS
SlurmctldTimeout=300
SlurmdTimeout=300
InactiveLimit=0
MinJobAge=300
KillWait=30
Waittime=0
#
# SCHEDULING
SchedulerType=sched/backfill
FastSchedule=1
#
# LOGGING
SlurmctldDebug=3
SlurmctldLogFile=/var/log/slurmctld.log
SlurmdDebug=3
SlurmdLogFile=/var/log/slurmd.log
JobCompType=jobcomp/none
#
# COMPUTE NODES
#
PropagateResourceLimitsExcept=MEMLOCK
AccountingStorageType=accounting_storage/filetxt
Epilog=/etc/slurm/slurm.epilog.clean
NodeName=node[1-2] Sockets=2 CoresPerSocket=1 ThreadsPerCore=1 State=UNKNOWN
PartitionName=normal Nodes=node[1-2] Default=YES MaxTime=24:00:00 State=UP
ReturnToService=1

#SelectType=select/cons_res
#SelectTypeParameters=CR_CORE