Заставить LSF выполнять задания на разных хостах - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть настройка, состоящая из 3 рабочих и узла управления, который я использую для отправки задач. Я хотел бы одновременно выполнить скрипт установки на всех рабочих:

bsub -q queue -n 3 -m 'h0 h1 h2' -J "%J_%I" mpirun setup.sh

Насколько я понимаю, я мог бы использовать ограничение ресурсов 'ptile' для принудительного выполнения на всех работниках:

bsub -q queue -n 3 -m 'h0 h1 h2' -J "%J_%I" -R 'span[ptile=1]' mpirun setup.sh

Однако иногда я сталкиваюсь с проблемой, что мой скрипт выполнялся несколько раз на одном и том же работнике.

Это ожидаемое поведение? Или в моей настройке есть ошибка? Есть ли лучший способ для принудительного выполнения нескольких рабочих?

1 Ответ

0 голосов
/ 12 ноября 2018

Ваше понимание span[ptile=1] верно. LSF будет использовать только 1 ядро ​​для каждого хоста для вашей работы. Если на основе -n недостаточно хостов, задание будет отложено до тех пор, пока что-то не освободится.

Однако иногда я сталкиваюсь с проблемой, что мой сценарий был выполнен несколько раз на одного работника.

Я подозреваю, что это что-то с вашим сценарием. например, LSF добавляет к файлу стандартного вывода по умолчанию. Используйте -oo для перезаписи.

...