SLURM построен по модульной архитектуре — каждый компонент отвечает за свою часть: планирование, выполнение, логирование и учёт ресурсов.


📦 Основные компоненты SLURM:

КомпонентНазначение
slurmctldКонтроллер задач: главный процесс, отвечает за планирование, принятие задач, распределение ресурсов.
slurmdДемон вычислительного узла: управляет задачами на конкретном узле (запуск, контроль, завершение).
slurmdbd (опционально)Демон учёта: сохраняет статистику и информацию о задачах в базе данных.
slurm.confГлавный конфигурационный файл SLURM, определяет кластеры, partition’ы, правила доступа и политики.
mungeСервис авторизации: обеспечивает безопасный обмен сообщениями между компонентами.
job_submit pluginsПлагины для валидации или модификации заданий перед запуском.
CLI-инструменты: sbatch, srun, scancel, squeueИнтерфейс взаимодействия пользователя с системой SLURM.

🔄 Как взаимодействуют эти компоненты (упрощённо):


🧩 Дополнительно:

  • Partitions — логические группы ресурсов, похожи на очереди или пулы узлов (например, gpu, short, long).

  • Nodes — физические или виртуальные машины, описанные в slurm.conf.

  • Job steps — подзадачи внутри srun, выполняющиеся параллельно.