Skip to content

Настройка зависимостей для запуска SLURM

# slurmctld, slurmdbd , munge SLURM.conf

Генерация ключа munge

В системе управления BasIS используется планировщик задач Slurm, который применяет в своей работе систему авторизации Munge. Для обеспечения автоматизации последующей настройки Munge на головном сервере и вычислительных узлах необходима генерация уникального в пределах ВК ключа Munge. Для этого в составе оболочки EXMT существует специальная команда, выполняющая генерацию ключа и записывающая его в реестр ключей системы управления:

exmt.sh
_generate_munge_key
_secret munge >> /etc/munge/munge.key

chown munge:munge /etc/munge/munge.key
chmod 400 /etc/munge/munge.key

systemctl start munge
systemctl status munge
systemctl enable munge

Запуск службы slurmdbd(на управляющем сервере)

После успешного запуска службы munge, для работы slurm , необходимо запустить службу slurmdbd

systemctl start slurmdbd
systemctl status slurmdbd
systemctl enable slurmdbd

Описание блоков файла slurm.conf

Файл slurm.conf представляет собой конфигурационный файл для системы управления рабочими задачами Slurm, используемой в кластерных вычислительных средах. Этот файл содержит параметры, определяющие поведение и настройки Slurm на кластере. Вот основные блоки и параметры, которые могут встречаться в файле slurm.conf:

  1. ClusterName: Имя кластера.
  2. ControlMachine: Имя хоста, на котором запущен Slurm контроллер.
  3. AuthType: Метод аутентификации пользователей и задач.
  4. NodeName: Имя и свойства каждого узла в кластере.
  5. Partition: Разделы (подкластеры) в кластере.
  6. JobDefaults: Значения по умолчанию для параметров при запуске задач.
  7. Scheduling: Параметры, связанные с расписанием задач.
  8. Accounting: Учет выполненных задач и использованных ресурсов.
    • AccountingStorageType: Определяет тип хранилища для учета, указывая на slurmdbd.
    • AccountingStoragePort: Указывает порт для хранилища учета.
    • AccountingStorageHost: Задает хост, на котором расположено хранилище учета.
    • AccountingStorageEnforce: Определяет ограничения, которые следует применять при сохранении данных учета.
    • JobAcctGatherType: Указывает тип сбора данных о задачах, в данном случае установлен как cgroup.
    • JobAcctGatherFrequency: Определяет частоту сбора данных о задачах, равную 30 секундам.
    • BurstBufferType: Определяет тип буфера для обработки всплесков, указанный как datawarp.
    • AccountingStorageTRES: Задает ресурсы, связанные с хранилищем учета, используется "bb/datawarp".
  9. Logging and Debugging: Параметры журналирования и отладки.
    • SlurmctldDebug: Устанавливает уровень отладочных сообщений для Slurmctld (контроллера Slurm). В данном случае, уровень установлен на 3.
    • SlurmctldLogFile: Определяет путь к файлу, в который будут записываться логи Slurmctld. В данном фрагменте путь указан как /var/log/slurmctld.log.
    • SlurmdDebug: Устанавливает уровень отладочных сообщений для Slurmd (демона Slurm, работающего на узлах). Уровень установлен на 3.
    • SlurmdLogFile: Определяет путь к файлу, в который будут записываться логи Slurmd. В данном фрагменте путь указан как /var/log/slurmd.log.

Описание параметров блока COMPUTE NODES

  • RealMemory=: Устанавливает фактическое количество оперативной памяти (в мегабайтах) на каждом узле.
  • CPUs=: Указывает количество процессорных ядер (CPU) на каждом узле.
  • Sockets=: Определяет количество сокетов в каждом узле - 1 сокет.
  • CoresPerSocket=: Устанавливает количество ядер на каждом сокете - 72 ядра.
  • ThreadsPerCore=: Задает количество потоков на каждом ядре - 4 потока.
  • CPUSpecList=: Перечисляет конкретные номера процессорных ядер, которые предоставляются для задач на этом узле.
  • Feature=knl: Указывает наличие определенной возможности (feature) на данном узле, в данном случае, это обозначает использование процессоров архитектуры "Knights Landing".
  • MemSpecLimit=: Определяет ограничение использования оперативной памяти для задач на данном узле в МБ.

PARTITIONS