强制LSF在不同主机上执行作业

时间:2018-11-12 07:48:08

标签: lsf

我有一个由3个工作人员和一个管理节点组成的设置,用于提交任务。我想同时对所有工作人员执行安装脚本:

bsub -q queue -n 3 -m 'h0 h1 h2' -J "%J_%I" mpirun setup.sh

据我了解,我可以使用“ ptile”资源约束来强制所有工作人员执行:

bsub -q queue -n 3 -m 'h0 h1 h2' -J "%J_%I" -R 'span[ptile=1]' mpirun setup.sh

但是,有时我会遇到一个问题,即我的脚本在同一个工作程序中执行了多次。

这是预期的行为吗?还是我的设置中有错误?是否有更好的方法来强制执行多工程序?

1 个答案:

答案 0 :(得分:1)

您对span[ptile=1]的理解是正确的。 LSF将只为每个主机使用1个内核。如果没有基于-n的主机,则该工作将一直暂停,直到有空闲时间释放为止。

  

但是,偶尔我会遇到一个问题,我的脚本被执行了   同一位工人几次。

我怀疑它与您的脚本有关。例如,默认情况下,LSF 附加到标准输出文件。使用-oo覆盖。