Slurm: не может распределять ресурсы, даже когда они доступны - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь выполнить программный код сокета в кластере, используя SLURM для выделения узлов.Я использовал скрипт slurm, как показано ниже:

#!/bin/bash
#SBATCH --job-name="abcd"
#SBATCH --ntasks=2
#SBATCH --nodes=2-2
#SBATCH --cpus-per-task=128
#SBATCH --partition=knl
./a.out

При запуске этого скрипта sbatch я получаю сообщение об ошибке «sbatch: error: не удалось отправить пакетное задание: запрашиваемая конфигурация узла недоступна».

Тем не менее, я вижу некоторые узлы, удовлетворяющие вышеуказанному конфигу.Вывод scontrol для двух узлов показан ниже:

NodeName=compute140 Arch=x86_64 CoresPerSocket=64
   CPUAlloc=20 CPUErr=0 CPUTot=256 CPULoad=20.01
   AvailableFeatures=knl
   ActiveFeatures=knl
   Gres=(null)
   NodeAddr=compute140 NodeHostName=compute140 Version=16.05
   OS=Linux RealMemory=96000 AllocMem=81920 FreeMem=102580 Sockets=1 Boards=1
   MemSpecLimit=1024
   State=MIXED ThreadsPerCore=4 TmpDisk=0 Weight=1 Owner=N/A MCS_label=N/A
   BootTime=2018-06-04T12:41:22 SlurmdStartTime=2018-06-04T12:47:01
   CapWatts=n/a
   CurrentWatts=0 LowestJoules=0 ConsumedJoules=0
   ExtSensorsJoules=n/s ExtSensorsWatts=0 ExtSensorsTemp=n/s


NodeName=compute141 Arch=x86_64 CoresPerSocket=64
   CPUAlloc=20 CPUErr=0 CPUTot=256 CPULoad=20.01
   AvailableFeatures=knl
   ActiveFeatures=knl
   Gres=(null)
   NodeAddr=compute141 NodeHostName=compute141 Version=16.05
   OS=Linux RealMemory=96000 AllocMem=81920 FreeMem=87441 Sockets=1 Boards=1
   MemSpecLimit=1024
   State=MIXED ThreadsPerCore=4 TmpDisk=0 Weight=1 Owner=N/A MCS_label=N/A
   BootTime=2018-06-04T12:46:37 SlurmdStartTime=2018-06-04T12:52:11
   CapWatts=n/a
   CurrentWatts=0 LowestJoules=0 ConsumedJoules=0
   ExtSensorsJoules=n/s ExtSensorsWatts=0 ExtSensorsTemp=n/s

Я не уверен, почему я получаю ошибку, когда slurm должен выделить мне запрошенную конфигурацию.

Я хочу запустить клиент-серверное приложение на двух разных узлах knl, каждая задача будет многопоточной с 128 потоками на задачу.

Пожалуйста, помогите, поскольку я пробовал несколько вещей, но у меня ничего не работает.

1 Ответ

0 голосов
/ 11 июня 2018

Вы не указываете явно требования к памяти для ЦП, поэтому применяется значение по умолчанию.Если значение по умолчанию больше RealMemory / CPUTot, в вашем случае 96000MB / 128 = 750MB, то задачи не могут храниться в одном узле.

Так что, если значение по умолчанию равно 4GB / CPU, и вызапрашивая одну задачу на узел и 128 ЦПУ на задачи, вы фактически запрашиваете 524 ГБ ОЗУ на узел, что не может предложить ваш кластер.

...