本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
嘗試執行任務
如果您在嘗試執行任務時遇到問題,以下章節會提供可能的疑難排解解決方案。
srun
互動式任務失敗並發生錯誤 srun: error: fwd_tree_thread: can't find address for <host>, check slurm.conf
-
為什麼失敗?
您執行
srun
命令以提交任務,然後使用pcluster update-cluster
命令增加佇列的大小,而不重新啟動 Slurm 更新完成後的精靈。Slurm 組織 Slurm 樹狀結構中的精靈,以最佳化通訊。此階層只會在精靈開始時更新。
假設您使用
srun
來啟動任務,然後執行pcluster update-cluster
命令來增加佇列的大小。新的運算節點會在更新中啟動。然後,Slurm 會將您的任務排入其中一個新運算節點的佇列。在這種情況下,Slurm 精靈srun
, 不會偵測新的運算節點。 會srun
傳回錯誤,因為它不會偵測新的節點。 -
如何解決?
重新啟動 Slurm 所有運算節點上的精靈,然後使用
srun
來提交您的任務。您可以排程 Slurm 精靈透過執行重新啟動運算節點的scontrol reboot
命令來重新啟動。如需詳細資訊,請參閱中的控制重新啟動Slurm 文件中)。您也可以手動重新啟動 Slurm 運算節點上的精靈,方法是請求重新啟動對應的 systemd
服務。
任務使用 squeue
命令卡在 CF
狀態
這可能是動態節點開機的問題。如需詳細資訊,請參閱看到運算節點初始化中的錯誤。
執行大規模任務並查看 nfsd: too many open connections, consider increasing the number of threads in /var/log/messages
使用網路檔案系統時,達到網路限制時,I/O 等待時間也會增加。這可能會導致軟鎖定,因為網路用於寫入聯網和 I/O 指標的資料。
使用第 5 代執行個體時,我們會使用ENA驅動程式來公開封包計數器。當網路達到執行個體頻寬限制 AWS 時,這些計數器會計算由 形成的封包。您可以檢查這些計數器,查看它們是否大於 0。如果是,則您已超過頻寬限制。您可以執行 檢視這些計數器ethtool -S eth0 | grep exceeded
。
超過網路限制通常是因為支援太多NFS連線所致。這是您達到或超過網路限制時首先要檢查的事項之一。
例如,下列輸出顯示捨棄的套件:
$
ethtool -S eth0 | grep exceeded
bw_in_allowance_exceeded: 38750610 bw_out_allowance_exceeded: 1165693 pps_allowance_exceeded: 103 conntrack_allowance_exceeded: 0 linklocal_allowance_exceeded: 0
若要避免收到此訊息,請考慮將主機節點執行個體類型變更為效能更佳的執行個體類型。考慮將資料儲存體移至未匯出為NFS共用的共用儲存檔案系統,例如 Amazon EFS或 Amazon FSx。如需詳細資訊,請參閱 上的 https://github.com/aws/aws-parallelcluster/wiki/Best-Practices
執行MPI任務
啟用偵錯模式
若要啟用 OpenMPI debug 模式,請參閱 Open 有哪些控制項MPI有助於偵錯
若要啟用 IntelMPI 偵錯模式,請參閱其他環境變數
在任務輸出OPAL ERROR
中查看 MPI_ERRORS_ARE_FATAL
和
這些錯誤碼來自您應用程式中的 MPI 層。若要了解如何從應用程式取得MPI偵錯日誌,請參閱 啟用偵錯模式。
此錯誤的可能原因是您的應用程式已針對特定MPI實作進行編譯,例如 Open MPI,而您正嘗試使用不同的MPI實作執行,例如 Intel MPI。請確定您正在編譯和執行具有相同MPI實作的應用程式。
使用 mpirun
搭配 受管DNS停用
對於使用 SlurmSettings / Dns / DisableManagedDns和 UseEc2Hostnames 設定為 建立的叢集true
,Slurm 節點名稱無法由 解析DNS。Slurm nodenames
未啟用時,以及任務MPI是否在 中執行時, 可以引導MPI程序 Slurm 內容。建議您遵循 中的指引 Slurm MPI 使用 執行MPI任務的使用者指南