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

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