Если вы не должны работать более чем на 5 рабочих мест на 4-м узле (назовем его computer04
), вероятно, не может работать что-то большее. В общем, вам рекомендуется указать количество ресурсов для вашей работы должным образом, чтобы предотвратить перегрузку ядра и ситуацию нехватки памяти.
Если у вас есть совершенно 20 Гб на computer04
и ваша работа использует 5 Гб, вы можете ограничить все задания на использование 5Gb
памяти:
qsub -l vmem=5G my_work
Аналогичное справедливо и для количества диска:
qsub -l fsize=10G my_work
Я нашел, что можно запустить задание на конкретном хосте с опцией -l -h=
.
qsub -l -h=computer04 -l vmem=5G my_work
для 5 рабочих мест. Затем используйте
qsub -l vmem=5G my_work
для других 45 рабочих мест.
(Более грязный способ) Вы могли бы сделать это без памяти ограничений/дисков:
qsub -l -h=computer04 my_work # 5 jobs
qsub -l -h="!computer04" my_work # for 45 jobs
Если у вас есть разные очереди или ресурсы, и вы можете использовать их для разных заданий. Например, у вас есть queue_4
, который работает все на computer04
и queue_main
, который связан с другими компьютерами, то вы
qsub -q queue_4 my_work
на 5 рабочих мест и
qsub -q queue_main my_work
для других работ.
UPD на комментарий:
можно заставить SGE отказ более X
рабочих мест для пользователя/хоста. Это должно быть сделано администратором очереди.
qconf -arqs
{
name max_jobs_per_computer04
description "maximal number of jobs for user1 on computer04 restricted to 5!"
enabled TRUE
limit users user1 hosts computer04 to slots=5
}
Если вы хотите ограничить пользователя только при подаче рабочих мест какой-то для computer04
, вам нужно определить complex parameter
, как показано here.
Спасибо за ваш ответ. Но у меня нет нескольких очередей, есть только одна очередь с 4 хостами. Я ищу какой-то переключатель или что-то, благодаря чему я могу ограничить количество заданий до 5 на 4-м хосте, используя три других узла с максимальным потенциалом. Возможно ли это? – shiva1987
Используйте 'qsub -l -h = computer04 my_work' для 5 заданий и' qsub -l -h = "! Computer04" для других 46. Но я предлагаю добавить 'vmem' или другую спецификацию ресурсов, чтобы полностью занять хост, потому что без него кто-то все равно сможет отправить задания на 4-й хозяин. –
note my math '5 + 46 = 50': D –