我有一个由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
但是,有时我会遇到一个问题,即我的脚本在同一个工作程序中执行了多次。
这是预期的行为吗?还是我的设置中有错误?是否有更好的方法来强制执行多工程序?
答案 0 :(得分:1)
您对span[ptile=1]
的理解是正确的。 LSF将只为每个主机使用1个内核。如果没有基于-n
的主机,则该工作将一直暂停,直到有空闲时间释放为止。
但是,偶尔我会遇到一个问题,我的脚本被执行了 同一位工人几次。
我怀疑它与您的脚本有关。例如,默认情况下,LSF 附加到标准输出文件。使用-oo
覆盖。