Torque / OpenMPI динамически выделяет узлы в зависимости от количества процессоров

Мне было интересно, достаточно ли умен Torque, чтобы назначить правильное количество узлов в зависимости от того, сколько ядер MPI вы запрашиваете. Для нашего кластера у нас есть разнородные узлы, и может быть довольно расточительно просто указать необходимое количество узлов и процессоров на узел. Так что мне было интересно, можете ли вы просто сделать что-то вроде этого

qsub -I -l procs:1000
mpiexec -n 1000 mympijob

Однако крутящий момент выделяет только один узел с помощью этой команды (поскольку я не указал количество узлов). Есть ли способ подобрать правильное количество узлов в зависимости от количества моих процессов, чтобы оно было максимально эффективным?

Боковая панель - Мы, вероятно, скоро перейдем на SLURM, насколько это возможно?


person jwillis0720    schedule 04.03.2015    source источник
comment
Какой планировщик вы используете? Torque может это сделать, но планировщик должен назначить узлы.   -  person dbeer    schedule 06.03.2015
comment
Это работает с Torque, но вам также нужно использовать планировщик, например Moab.   -  person dbeer    schedule 06.03.2015


Ответы (1)


Обычно то, что мы делаем после распределения ресурсов, не может контролироваться планировщиком.

В таком случае,

mpirun/mpiexec -n 1000

выполняется после того, как ресурсы выделены шдулером.

Лучший способ двигаться дальше - использовать переменные среды, установленные планировщиком.

$MPI_HOSTS

как значение, переданное через ключ -n.

пример:

mpirun $MPI_HOSTS <your program of choice>

Вы можете запросить необходимое количество ядер, добавив аргумент ppn к node.

qsub -l nodes=2:ppn=16

Это выделяет 32 ядра в двух узлах.

person Sidharth N. Kashyap    schedule 05.03.2015
comment
узлы 2: ppn = 16 потребует, чтобы были освобождены два узла, каждый из которых имеет 16 процессоров. Что, если в настоящее время у вас есть 3 узла только с 8 процессорами в каждом, которые можно использовать, но не будут из-за этого оператора управления ресурсами? - person jwillis0720; 05.03.2015