[英]Open MPI error when setting up a cluster with more than 3 hosts
我們不能在具有3台以上計算機的Open MPI群集中運行程序。
如果我們運行:
mpirun --host master,slave5,slave3 ./cluster
有用。
如果我們運行:
mpirun --host master,slave4,slave3,slave5 ./cluster
我們收到以下錯誤:
ssh: Could not resolve hostname slave5: Temporary failure in name resolution
盡管看起來像一個名稱解析錯誤,但事實並非如此,因為slave5在第一個命令上工作。
到目前為止,我們已經看到其他人報告了相同的錯誤,而沒有任何解決方案。 例:
有任何想法嗎?
之所以可能出現此問題,是因為Open MPI默認為基於樹的生成,這意味着它是從節點A到節點B的ssh,然后是從節點B到節點C的ssh。請參閱https://blogs.cisco.com/performance/tree -based-launch-in-open-mpi和https://blogs.cisco.com/performance/tree-based-launch-in-open-mpi-part-2了解更多詳細信息。
因此,如果禁用基於樹的生成(通過“ mpirun --mca plm_rsh_no_tree_spawn 1”-這將導致所有ssh從節點A發生),則啟動將按預期進行。
但是,更好的解決方案是使所有群集計算機名稱都可從所有計算機解析。 例如,當您可以成功運行類似的程序時,Open MPI的啟動應該成功運行:
foreach node (Node1 Node2 Node3 Node4 ...) foreach other (Node1 Node2 Node3 Node4 ...) echo from $node to $other ssh $node ssh $other hostname
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.