В предыдущем вопросе я спросил, как поставить задание B для запуска после задания A, что делается с помощью
sbatch --dependency=after:123456:+5 jobB.slurm
где 123456
— это идентификатор задания A, а :+5
означает, что оно начнется через пять минут после задания A. Теперь мне нужно сделать это для нескольких заданий. Работа B должна зависеть от работы A, работа C от B, работа D от C.
sbatch jobA.slurm
вернет Submitted batch job 123456
, и мне нужно будет передать идентификатор задания вызову с зависимостью для всех заданий, кроме первого. Поскольку я использую загруженный кластер, я не могу полагаться на увеличение идентификаторов заданий на единицу, так как кто-то может поставить задание в очередь между ними.
Таким образом, я хочу написать сценарий, который принимает сценарии заданий (*.slurm
) Я хочу запускать в качестве аргументов, например.
./run_jobs.sh jobA.slurm jobB.slurm jobC.slurm jobD.slurm
Затем сценарий должен запуститься для всех переданных ему сценариев заданий,
sbatch jobA.slurm # Submitted batch job 123456
sbatch --dependency=after:123456:+5 jobB.slurm # Submitted batch job 123457
sbatch --dependency=after:123457:+5 jobC.slurm # Submitted batch job 123458
sbatch --dependency=after:123458:+5 jobD.slurm # Submitted batch job 123459
Каков оптимальный способ сделать это с помощью bash?
sbatch <next script>
в конце каждого скрипта или что-то подобное. - person Biggsy   schedule 12.01.2021jobB
изjobA
. Чтобы ответить на ваш вопрос, я не могу запускать две работы одновременно, так как это приведет к их провалу (без возможности улучшить это состояние). - person mhovd   schedule 12.01.2021sleep 300
в сценарий отправки в начале или в конце? Если это так, вы можете сделать, как было предложено, или отправить их все с одним и тем же именем задания и опцией--dependency=singleton
. - person damienfrancois   schedule 13.01.2021dependency=singleton
было бы невозможно, так как я хочу, чтобы задания выполнялись параллельно, так как выполнение некоторых из них может занять несколько дней. - person mhovd   schedule 13.01.2021sleep
для отложенной отправки, задания помещаются в очередь и иногда запускаются одновременно, даже если они были отправлены отдельно друг от друга во времени. - person mhovd   schedule 13.01.2021