我知道这个话题很奇怪,但我的问题也很奇怪。在我们的集群上,我们为紧密集成编译了 SGE 和 OpenMPI。当我设置它时,它在我的测试中运行良好,到目前为止,直到最近都没有出现任何投诉。问题是:当我使用 OpenMPI PE 提交作业并使用 mpirun 运行我的二进制文件时,它会失败。
错误信息如下
fully.quallified.host.name - daemon did not report back when launched
和
[hostname:\d{5}] [[63730,0],\d{1,2}] routed:binomial: Connection to lifeline [[63730,0],0] lost
即使是像mpirun -np 40 --pernode hostname
现在,奇怪的是:如果我打开 plm_base 的详细输出,它就能工作:mpirun -np 40 --mca plm_base_verbose 5 --pernode hostname
确实能工作!!!这在 stderr 上产生的大量调试输出不包含任何问题的迹象。
我已经尝试过多次,每次都能重现这种情况,所以我很肯定这不是一个侥幸。问题是:我现在很困惑。
我确实错过了一些东西,所以问题是:
- 在这种情况下设置详细程度是否也会默默设置其他参数?
- 还有什么可能导致这种奇怪的行为?
此致。
编辑:相关PE的配置:
pe_name ompi-gcc
slots 2000
user_lists NONE
xuser_lists NONE
start_proc_args /bin/true
stop_proc_args /bin/true
allocation_rule $round_robin
control_slaves TRUE
job_is_first_task FALSE
urgency_slots min
没什么特别的...OpenMPI 被编译为紧密集成并检测它需要的一切...尽管如此,它不适用于 qrsh,即,它仅在禁用 rsh 的 qrsh 时才有效...
答案1
没关系。在对其他参数进行反复试验后,plm
我发现设置plm_rsh_disable_qrsh
可以解决问题。但是,这并不能解释为什么将其基本详细程度设置为 0 以外的值也可以解决问题。这是我仍然不明白的部分。