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, выполняющиеся параллельно.
