программирование PBS
-
23-09-2019 - |
Вопрос
несколько коротких и, возможно, глупых вопросов о PBS:
1- Я отправляю вакансии, используя
qsub job_file
Можно ли отправить (под) задание внутри файла задания?
2- У меня есть следующий скрипт:
qsub job_a
qsub job_b
Для запуска job_b было бы здорово иметь результаты до завершения job_a.Можно ли установить какой-то барьер или какое-то другое обходное решение, чтобы job_b не запускался до тех пор, пока job_a не завершится?
Спасибо
Решение
Ответ на первый вопрос:
Обычно вам разрешено отправлять задания только с хоста, на котором работает сервер PBS, но это зависит от того, как настроена ваша система PBS.
Ответ на второй вопрос:
Вы можете использовать зависимости.Прочтите об опции -W в документации qsub.Вот пример bash-скрипта:
dependency_id=$(qsub job_a)
qsub -W depend=afterok:$dependency_id job_b
job_b начнется после успешного завершения job_a.
Другие советы
Да, можно отправить работу с другой работы, но здесь есть некоторые оговорки.
-У ваших мам в пути должны быть клиентские команды (qsub).
-$USECP попытается скопировать файлы с узла, на котором выполняется первое задание.
- Будьте осторожны, отправляя задания из других заданий, потому что вы можете легко привести к сбою pbs_server, если ваш сценарий отправки вызовет слишком много qsub.
Вы можете иметь задания b–z, зависящие от задания «a», со следующим синтаксисом
qsub foo.sh -W depend=afterok:jobA
Массивы заданий также могут быть хорошим решением.
http://docs.adaptivecomputing.com/torque/help.htm#topics/2-jobs/multiJobSubmission.htm