嘗試執行任務 - AWS ParallelCluster

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

嘗試執行任務

如果您在嘗試執行任務時遇到問題,以下章節會提供可能的疑難排解解決方案。

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 AWS ParallelCluster Wiki 共用儲存最佳實務 GitHub。

執行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 / DisableManagedDnsUseEc2Hostnames 設定為 建立的叢集true,Slurm 節點名稱無法由 解析DNS。Slurm nodenames 未啟用時,以及任務MPI是否在 中執行時, 可以引導MPI程序 Slurm 內容。建議您遵循 中的指引 Slurm MPI 使用 執行MPI任務的使用者指南 Slurm.