Рандомизировать распределение узла Slurm
Кому-нибудь повезло с рандомизацией распределения узлов Slurm? У нас есть небольшой кластер из 12 узлов, который может использоваться от 1 до 8 человек одновременно с заданиями различного размера / длины. При тестировании нашей новой настройки Slurm задания всегда отправляются на первый узел раздела, если нет других пользователей для интерактивных и пакетных заданий. Есть ли способ рандомизировать это планирование?
Кажется, что в зависимости от временной шкалы пользователя они могут последовательно получать одни и те же узлы, и это может скрывать проблемы в оборудовании / конфигурации, которые в противном случае могли бы быть видны. Наши узлы всегда эксклюзивны, поэтому мы рассматриваем только рандомизацию планирования на уровне узлов...
3 ответа
Посмотрите на настройку веса в slurm.conf
Приоритет узла для целей планирования. При прочих равных рабочих местах будут распределяться узлы с наименьшим весом, который удовлетворяет их требованиям. Например, гетерогенная коллекция узлов может быть размещена в одном разделе для большего использования системы, скорости отклика и возможностей. Было бы предпочтительным выделять меньшие узлы памяти, а не большие узлы памяти, если любой из них будет удовлетворять требованиям задания. Единицы веса являются произвольными, но большие веса следует назначать узлам с большим количеством процессоров, памяти, дискового пространства, более высокой скоростью процессора и т. Д. Обратите внимание, что если запрос на распределение заданий не может быть выполнен с использованием узлов с наименьшим весом, набор узлов со следующим наименьшим весом добавляется к набору рассматриваемых узлов для использования (при необходимости повторите для более высоких значений веса). Если вы абсолютно хотите минимизировать количество узлов с более высоким весом, выделенных для задания (за счет более высоких затрат на планирование), присвойте каждому узлу отдельное значение веса, и они будут добавлены в пул узлов, рассматриваемых для планирования по отдельности. Значением по умолчанию является 1.
Вы можете добавить "LLN=YES" в раздел.
LLN Планирование ресурсов для заданий на наименее загруженных узлах (в зависимости от количества свободных процессоров).
Я не верю, что можно рандомизировать распределение узлов без изменения кода или предоставления собственного плагина. Существует множество способов повлиять на то, какие узлы будут выбраны заданием, но ни один из них не является случайным. Как заметил @Tux_DEV_NULL, вы можете использовать вес, чтобы предпочесть подмножество узлов, но если вы не меняете веса случайным образом, вы все равно будете снова и снова попадать на один и тот же узел, если весь ваш кластер простаивает. Я считаю, что время безотказной работы узлов используется в качестве окончательного прерывателя связей.
Если вас беспокоит отсутствие неправильно настроенных или сломанных узлов, вам следует использовать скрипт проверки работоспособности узла, используя параметр HealthCheckProgram в slurm.conf. Хороший для использования можно найти здесь: https://github.com/mej/nhc