что произойдет, если во время выполнения задания мне не хватит ресурсов? - PullRequest
0 голосов
/ 07 августа 2020

в slurm, что произойдет, если ресурсов, которые мне требуются, не хватит во время выполнения задания? Например, #SBATCH --memory=10G; #SBATCH --cpus-per-task=2; python mytrain.py находится в myscript.sh. После того, как я запустил sbatch myscript.sh, заданию были успешно выделены требуемый процессор (2) и память (10 ГБ). Но во время выполнения задания программе требуется больше памяти, чем 10 Гб (например, загрузка большого набора видеоданных), я обнаружил, что задание не будет прервано. Работа по-прежнему будет работать нормально. Итак, мой вопрос: есть ли побочный эффект, когда я недооцениваю необходимый мне ресурс? (С памятью все в порядке, но все ли в порядке, если необходимого номера процессора недостаточно?)

1 Ответ

1 голос
/ 07 августа 2020

Slurm можно настроить так, чтобы задания ограничивались запросами ресурсов (наиболее обычная настройка), чего, похоже, нет в используемом вами кластере.

Если бы это было так, ваш задание будет уничтожено при попытке использовать больше памяти, чем запрошено, и оно будет ограничено запрошенными вами физическими процессорами.

В вашем случае использование большего количества памяти, чем запрошено, может привести к исчерпанию памяти на узле, на котором ваше задание выполняется, возможно, ваши процессы (но также, возможно, процессы других заданий на том же узле!) были убиты убийцей OOM . Использование большего количества ЦП, чем запрошено, означает, что процессы, запущенные вашим заданием, будут конкурировать с процессами других заданий для того же физического ЦП, что приведет к общему замедлению всех заданий на узле из-за большого количества переключений контекста . Задания, которые замедляются, могут превысить максимальное время и быть убиты.

Таким образом, недооценка ресурсов может привести к потере ваших рабочих мест. Если узлы используются совместно несколькими заданиями, это также может привести к потере заданий другими пользователями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...