Sun Grid Engine устанавливает требования к памяти для каждого задания
Я хочу иметь возможность устанавливать требования к памяти для каждой работы.
Например: для запуска 5 заданий, для которых, я знаю, каждому понадобится 4 ГБ памяти. У меня 16 ГБ ОЗУ на сервере Ubuntu и 16 ГБ подкачки. Я хочу избежать использования свопа. Могу ли я сделать что-то вроде:
qsub -l mem_required_for_my_job=4G job1
qsub -l mem_required_for_my_job=4G job2
qsub -l mem_required_for_my_job=4G job3
qsub -l mem_required_for_my_job=4G job4
qsub -l mem_required_for_my_job=4G job5
? Задания потребуют 4 ГБ в какой-то момент, но не в начале.
Как сказать SGE, каковы мои требования? Как избежать планирования 5 x 4 ГБ, когда доступно только 16 ГБ?
Я прочитал руководство пользователя и попробовал s_vmem, h_vmem, mem_free, mem_used
, Ни один из них не то, что я хочу. Я не хочу, чтобы моя работа была убита посреди обработки. Я хочу, чтобы они не были запланированы, если не доступно максимальное количество необходимых ресурсов.
Я могу это сделать?
Спасибо вам всем!
2 ответа
На нашем кластере мы используем h_vmem
для обеспечения распределения памяти задания.
То, чего вам не хватает, - это установка доступного количества в качестве расходного ресурса. В qconf -mc
или в qmon
В диалоговом окне комплексы необходимо установить ресурс как запрашиваемый и потребляемый.
Затем на каждом хосте с qconf -me
вам нужно установить количество доступной памяти в complex_values
,
Например, у нас есть определения хостов, которые выглядят так:
hostname node004
load_scaling NONE
complex_values h_vmem=30.9G,exclusive=1,version=3.3.0
Я думаю, что вы ищете virtual_free
"Если запрос задания для virtual_free превышает доступную сумму, задание не отправляется в очередь на этом хосте". с https://web.archive.org/web/20100801220839/http://wikis.sun.com/display/GridEngine/Configuring+Complex+Resource+Attributes
Смотрите также http://markmail.org/message/2iw4esthqvs5rc2a