2014-08-29 5 views
3

У меня есть комплексное приложение fortran MPI, работающее под управлением системы Torque/Maui. Когда я запускаю свое приложение, он производит огромный уникальный результат (~ 20 ГБ). Чтобы этого избежать, я создал сценарий RunJob, который разбивает работу на 5 штук, каждый из которых производит меньшие выходы, которые намного легче обрабатывать.qsub возвращает ошибку при отправке заданий с узла

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

qsub: Bad UID для выполнения задания MSG = ruserok потерпел неудачу проверки имени пользователя/имя пользователя из вычислительного-0-0.local

I что эта проблема исходит из того, что система Torque/Maui по умолчанию не позволяет узлу отправлять задание.

В самом деле, когда я печатаю это:

QMGR -c 'л s' | Grep allow_node_submit

я получил:

allow_node_submit = False

у меня нет учетной записи администратора только пользователя один

Мои вопросы:

  1. Можно ли установить allow_node_submit = true на gmgr является пользователем? Как ? (- я думаю, нет)
  2. Если вопрос 1 = ложный, есть ли другой способ обойти это? Как ?

Все самое лучшее.

ответ

2

Нет, непривилегированный пользователь не может изменить настройки системы очередей. Обычная причина не допускать повторную отправку с вычислительных узлов - довольно хорошая - защитить кластер и всех его пользователей от кого-то случайно (или иначе), отправив скрипт, который быстро выходит из строя и повторно отправляет себя один раз - или намного хуже, не раз - быстро наводнение планировщика и очереди, генерируя эквивалент очереди пакетов fork bomb. Даже с такими ограничениями мы случайно случайно представили десятки тысяч рабочих мест из-за ошибок сценариев.

Обычная работа вокруг ssh для одного из узлов представления очереди и отправки сценария оттуда, например. в конце вашего сценария подачи:

ssh queue-head-node qsub /path/to/new/submission/script 

Так мы предлагаем нашим пользователям обработать его, например. here. Очевидно, что это будет работать только в том случае, если в кластере включен ssh с паролем/без пароля, что является обычной (но не универсальной) практикой.

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

+0

Привет @ Джонатан ... Он отлично работал.! Большое спасибо, действительно. Я должен был дать полный путь к qsub - хотя это на моем пути. Последняя команда: ssh username @ headnodename/opt/torque/bin/qsub path/to/my/application. Еще раз спасибо. Меня интересует последнее предложение: «вы можете посмотреть, как работают зависимости на вашем сайте». Не могли бы вы дать больше информации об этом? Где его искать? ... всего наилучшего. – Quim

+0

Это зависит от вашей версии крутящего момента и того, как все настроено локально, поэтому лучше всего спросить администратора кластера, но есть документация [здесь] (http://docs.adaptivecomputing.com/torque/4-1-4 /Content/topics/commands/qsub.htm#dependencies). –