本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
聯網
提示
註冊
對於具有高節點間通訊的應用程式,請考慮較高的網路頻寬或彈性布料轉接器
對於 Amazon EKS 上具有高節點間通訊需求的分散式訓練工作負載,請考慮選取具有較高網路頻寬或 Elastic Fabric Adapter (EFA) 的執行個體。網路效能不足會造成資料傳輸的瓶頸,從而減緩分散式多 GPU 訓練等機器學習任務。請注意,推論工作負載通常不會有高節點間通訊。
範例
例如,使用 Karpenter:
apiVersion: v1 kind: Pod metadata: name: ml-workload spec: nodeSelector: karpenter.k8s.aws/instance-network-bandwidth: "100000" # 100 Gbps in Mbps node.kubernetes.io/instance-type: p5.48xlarge # EFA-enabled instance containers: - name: training-job image: `763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:2.6.0-gpu-py312-cu124-ubuntu22.04-ec2-v1.6` resources: limits: vpc.amazonaws.com/efa: 1 # Requires EFA device plugin
確保 MPI 和 NCCL 等工具已安裝在您的容器映像中,以利用 EFA 進行訓練任務。
在大型 GPU 執行個體上規劃 IP 地址使用
根據預設,Amazon VPC CNI 外掛程式會預先配置 IP 地址,以確保可以快速排程 Pod,保持連接一個完整的備用 ENI,並填入 IPs。在大型執行個體上,這可能會導致每個節點預留數十個 IPs,即使只有幾個 Pod 執行中。
此不相符項目常見於訓練和推論工作負載,其中每個節點的 Pod 密度較低。在叢集擴展時,特別是在啟動多個 GPU 節點且每個 GPU 節點各有幾個 Pod 的自動擴展事件期間,這可能會導致子網路 IP 耗盡,即使實際 IP 使用率很低。
若要緩解這種情況,請調校 WARM_IP_TARGET、 MINIMUM_IP_TARGET和 WARM_ENI_TARGET變數,以符合您的實際 Pod 密度。VPC CNI 的 ENI 和 IP 目標設定
如需最佳化 IP 消耗的完整指南,請參閱最佳化 IP 地址使用率。