簡體   English   中英

設置具有3個以上主機的集群時,出現MPI錯誤

[英]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-mpihttps://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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM