使qsub阻塞直到工作完成?

dsi*_*cha 5 parallel-processing shell performance cluster-computing qsub

目前,我有一个驱动程序,它运行数千个"有效负载"程序实例,并对输出进行一些后处理.驱动程序当前使用shell()函数直接从多个线程调用有效负载程序.该shell()函数在当前工作目录中执行命令,阻塞直到命令完成运行,并返回由命令发送到stdout的数据.这适用于单个多核计算机.我想修改驱动程序以将qsub作业提交到大型计算群集,以获得更多并行性.

有没有办法让qsub命令输出结果到stdout而不是文件和块,直到作业完成?基本上,我希望它尽可能像命令的"正常"执行一样,以便我可以尽可能少地修改我的驱动程序来并行化到集群.

编辑:我认为所有的网格引擎都非常标准化.如果它们不重要而且很重要,我正在使用Torque.

Ste*_*ker 4

您没有提及您正在使用的排队系统,但 SGE 支持 qsub 的“-sync y”选项,这将导致它阻塞,直到作业完成或退出。