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

强制LSF在不同主机上执行作业,lsf,Lsf,我有一个由3个工人和一个管理节点组成的设置,我用它来提交任务。我想在所有工作区同时执行安装脚本: bsub -q queue -n 3 -m 'h0 h1 h2' -J "%J_%I" mpirun setup.sh bsub -q queue -n 3 -m 'h0 h1 h2' -J "%J_%I" -R 'span[ptile=1]' mpirun setup.sh 据我所知,我可以使用“ptile”资源约束强制所有工人执行: bsub -q queue -n 3 -m 'h0 h1

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

bsub -q queue -n 3 -m 'h0 h1 h2' -J "%J_%I" mpirun setup.sh
bsub -q queue -n 3 -m 'h0 h1 h2' -J "%J_%I" -R 'span[ptile=1]' mpirun setup.sh
据我所知,我可以使用“ptile”资源约束强制所有工人执行:

bsub -q queue -n 3 -m 'h0 h1 h2' -J "%J_%I" mpirun setup.sh
bsub -q queue -n 3 -m 'h0 h1 h2' -J "%J_%I" -R 'span[ptile=1]' mpirun setup.sh
然而,有时我会遇到这样一个问题:我的脚本在同一个worker上执行了好几次


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

您对
span[ptile=1]
的理解是正确的。LSF将仅为您的作业使用每个主机1个核心。如果没有足够的基于
-n
的主机,则作业将挂起,直到有东西释放出来

然而,有时我会遇到一个问题,我的脚本被执行了 在同一个工人身上工作了好几次

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