嘗試執行工作 - 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來提交工作。您可以執行重新啟動計算節點的scontrol reboot命令來排程Slurm精靈重新啟動。如需詳細資訊,請參閱Slurm文件中的 scontrol 重新開機。您也可以要求重新啟動對應的systemd服務,以手動重新啟動計算節點上的Slurm精靈。

使用squeue命令將 Job 停留在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

若要避免收到此訊息,請考慮將 head 節點執行個體類型變更為效能更高的執行個體類型。請考慮將資料儲存移至不是以 NFS 共用形式匯出的共用儲存檔案系統,例如 Amazon EFS 或 Amazon FSx。如需詳細資訊共用儲存,請參閱 AWS ParallelCluster Wiki 上的和最佳實務 GitHub。

執行 MPI 工作

啟用除錯模式

若要啟用 OpenMPi 除錯模式,請參閱開啟 MPI 有哪些控制項可協助除錯。

若要啟用 IntelMPi 除錯模式,請參閱其他環境變數。

在工作輸出OPAL ERROR中查看MPI_ERRORS_ARE_FATAL

這些錯誤代碼來自應用程序中的 MPI 層。若要瞭解如何從應用程式取得 MPI 偵錯記錄檔,請參閱啟用除錯模式

此錯誤的可能原因是您的應用程式已針對特定 MPI 實作而編譯,例如 OpenMPi,而您嘗試使用不同的 MPI 實作來執行它,例如 IntelMPi。確保您使用相同的 MPI 實現編譯和運行應用程序。

禁用託管 DNS mpirun 的情況下使用

對於使用 SlurmSettings/Ds/ DisableManagedDnsUseEc2 主機名稱設定為建立的叢集trueDNS 無法解析Slurm節點名稱。 Slurm可以在nodenames未啟用時啟動 MPI 處理程序,以及 MPI 工作是否在內容中執行。Slurm我們建議按照 SlurmMPI 用戶指南中的指引來執行 MPI 任務。Slurm