SLURM – это высокомасштабируемый отказоустойчивый менеджер кластеров и планировщик заданий. К функциям планировщика SLRUM относятся: 1. Управление очередью задач и общей загрузкой ресурсов; 2. Управление вычислительными узлами и выделение узлов для расчетов; 3. Мониторинг ресурсов и задач и распределение нагрузки по вычислительным узлам. К основным командам планировщика SLURM относятся: sbatch, scancel, sinfo, squeue, scontrol. sbatch команда для запуска приложения в режиме очереди; После запуска приложению присваивается персональный номер jobid по которому его можно найти в списке запущенных приложений (squeue). Результат записывается в файл с именем slurm-jobid.out Пример использования sbatch: [user@hydra] sbatch runscript.sh Submitted batch job 141980 squeue команда для просмотра списка запущенных приложений в очереди; Одним из основных параметров списка является состояние приложений. Запущенное приложение может одно из следующих состояний: 1. RUNNING (R) – выполняется; 2. PENDING (PD) – в очереди; 3. COMPLETING (CG) – завершается. В этом состоянии, возможно, может понадобится помощь системного администратора для удаления приложения из очереди; Пример использования squeue: [user@hydra] squeue sinfo команда для просмотра состояния вычислительных узлов и очреедей. Вычислительные узлы могут быть в одном из следующих состояний: 1. 2. 3. 4. idle – узел свободен; alloc – узел используется процессом; mix – узел частично занят, частично свободен; down, drain, drng – узел заблокирован. Пример использования sinfo: [user@hydra] sinfo scancel команда для удаления приложения из очереди. Пример использования scancel для удаления из очереди приложения с jobid 141980: [user@hydra] scancel 141980 scontrol используется для просмотра или изменения состояния SLURM включающего: задачи, узла и очереди. Многие из управляющих команд могут выполняются только суперпользователем. Пример использования scontrol для просмотра характеристик запущенного приложения: [user@hydra] scontrol show job 141980 Список характеристик содержит такие параметры, как: UserId – имя пользователя; JobState – состояние приложения; RunTime – текущее время расчетов; StartTime – время начала расчетов; Partition – используемая очередь; NodeList – используемые узлы; NumNodes – число используемых узлов; NumCPUs – число используемых ядер процессора; Gres – число используемых графических ускорителей или сопроцессоров; MinMemoryCPU – количество используемой оперативной памяти; Command – расположение файла для запуска приложения; StdErr – расположение файла с ошибками; StdOut – расположение файла с выходными данными. Пример использования scontrol для просмотра характеристик узлов: [user@hydra] scontrol show nodes [user@hydra] scontrol show node blade01 Список характеристик содержит такие параметры, как: NodeName – hostname вычислительного узла; CPUAlloc – количество загруженных вычислительных ядер; CPUTot – общее число вычислительных ядер на узле; CPULoad – загрузка вычислительных ядер; Gres – число доступных для расчетов графический укорителей и сопроцессоров; RealMemory – общее количество оперативной памяти на узле; AllocMem – количество загруженной оперативной памяти; State – состояние узла.