Установить общий предел памяти с помощью Torque

Я использую кластер среднего размера, и у меня проблема с очередью. Например, у меня есть узел с 128 ГБ памяти и программа, в которой я устанавливаю объем памяти на ядро. Так, например, если я установлю память на 8 ГБ на ядро, я смогу запустить только 16 ядер, прежде чем ударить по виртуальной памяти, чего следует избегать. Прямо сейчас я использую Torque как метод организации очередей, и если я отправлю два 10 основных задания на один узел по 8 ГБ каждое, то оно попытается использовать 160 ГБ памяти. То, что я хочу сделать, это ограничить количество заданий на узле, чтобы их общее использование памяти было только физической памятью узла. Объем памяти на ядро ​​очень динамичен, и задание может легко использовать всю физическую память, но только часть доступных ядер.

Насколько я понимаю из чтения и эксперимента, команды pmem,vmem,mem для Torque работают только в том случае, если задание превысило эти пределы после того, как они выполняются на узле, и не регулирует их перед продолжением заданий. Как примечание стороны, у многих из этих заданий есть периоды, когда они используют только ~10% памяти, необходимой позже в процессе.

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

Спасибо за ваше время.

0 ответов

Другие вопросы по тегам