Перемещает ли пакетная система PBS несколько последовательных заданий между узлами?

Если мне нужно запустить несколько последовательных программ "параллельно" (поскольку проблема проста, но требует много времени - мне нужно читать множество разных наборов данных для одной и той же программы), решение простое , если я использую только один узел . Все, что я делаю, это отправляю последовательные задания с амперсандом после каждой команды, например, в сценарии задания:

./program1 &
./program2 &
./program3 &
./program4

, который естественным образом запускает каждую последовательную программу на другом процессоре. Это хорошо работает на сервере входа в систему или автономной рабочей станции, и, конечно, для пакетного задания, запрашивающего только один узел.

Но что, если мне нужно запустить 110 разных экземпляров одной и той же программы для чтения 110 различных наборов данных? Если я отправлю на несколько узлов (скажем, 14) с помощью сценария, который отправляет 110 ./program# команд, будет ли пакетная система запускать каждое задание на другом процессоре на разных узлах или будет пытаться запустить их все на одном, 8 core node?

Я попытался использовать простой код MPI для чтения различных данных, но в результате возникают различные ошибки: около 100 из 110 процессов завершаются успешно, а остальные терпят крах. Я также рассматривал массивы заданий, но я не уверен, поддерживает ли это моя система.

Я тщательно тестировал последовательную программу на отдельных наборах данных - ошибок времени выполнения нет, и я не превышаю доступную память на каждом узел.

5
задан Lt Dax 28 March 2011 в 00:16
поделиться

0 ответов

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

Похожие вопросы: