我有一个需要运行过滤程序A,B,C和D的文件.A需要2小时,B,C和D各自在10到30分钟之间变化。
A完成大部分工作并占用大部分时间,因此优化使用多个处理器。
B,C和D是单处理器。
所有程序都在一个PBS脚本中按顺序运行。
如果我在A运行后更改pbs资源需求,是否会重新解释或qsub仅评估一次?
或者,如果我将其拆分为两个pbs脚本,我怎样才能在完成时启动另一个?
答案 0 :(得分:2)
根据@Dmitri Chubarov的建议,Job dependencies是解决问题的方法。
Followon进程取决于父进程的job id。 Jobid由qsub动态生成。 我将每个阶段放在自己的pbs脚本中,并使用包装器bash脚本调用每个qsub并传递jobid。