Мне нужно выполнить ~ 1500 заданий на сервере моей лаборатории. Программа, которую я использую (blastpgp
если кому-то все равно), способна работать в параллельном режиме, опция -a устанавливает, сколько потоков она запустит. Рассматриваемый сервер имеет 40 64-битных процессоров Opteron.
У меня есть следующие варианты:
Последовательно запускайте задания , позволяя
blastpgp
занять все 40 ядер, запустив 40 потоков (-a 40
).Запустите 40 заданий параллельно, позволяя каждому запускать только один поток.
Какой из этих двух вариантов будет быстрее? Они эквивалентны? Я предполагаю, что это может зависеть от конкретного аппаратного / программного / рабочего задания, но есть ли общее правило при запуске изначально параллельной программы в кластере?