As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Redes
Considere maior largura de banda de rede ou adaptador de malha elástica para aplicativos com alta comunicação entre nós
Para cargas de trabalho de treinamento distribuídas no Amazon EKS com altas demandas de comunicação entre nós, considere selecionar instâncias com maior largura de banda de rede ou Elastic Fabric Adapter (EFA). O desempenho insuficiente da rede pode dificultar a transferência de dados, retardando as tarefas de aprendizado de máquina, como o treinamento distribuído de várias GPUs. Observe que as cargas de trabalho de inferência normalmente não têm alta comunicação entre nós.
Exemplo
Por exemplo, usando o 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
Garanta que ferramentas como MPI e NCCL estejam instaladas em sua imagem de contêiner para aproveitar o EFA em trabalhos de treinamento.
Aumente o número de endereços IP disponíveis para permitir tempos de inicialização mais rápidos do pod
No EKS, cada pod precisa de um endereço IP do bloco CIDR da VPC. À medida que seu cluster se expande com mais nós e pods, você corre o risco de esgotar o endereço IP ou diminuir o desempenho, mas habilitar a delegação de prefixos pode mitigar esses problemas ao pré-alocar intervalos de IP e reduzir as chamadas de EC2 API, resultando em tempos de inicialização mais rápidos do pod e melhor escalabilidade.
Ativar a delegação de prefixos após criar seu cluster permite que a VPC Container Network Interface (CNI) atribua prefixos IP (/28, cada um fornecendo 16 endereços IP) às interfaces de rede nas instâncias. EC2 Isso significa que cada nó pode suportar mais pods, reduzindo o risco de escassez de IP. Por exemplo, em uma c5.4xlarge
instância, você pode oferecer suporte a até 110 pods com delegação de prefixo.
Embora a delegação de prefixos seja crucial para otimizar o uso de IP em ambientes com muitos pods pequenos, as AI/ML cargas de trabalho geralmente usam menos pods maiores (por exemplo, um pod por GPU). A ativação da delegação de prefixos permite que a CNI da VPC pré-aloque um prefixo para acelerar a inicialização do pod, mantendo um pool aquecido. Isso significa que os endereços IP estão prontamente disponíveis, reduzindo o tempo necessário para a inicialização do pod em comparação com a alocação sob demanda no modo sem prefixo. Nesses casos, a economia de IP ao habilitar a delegação de prefixos oferece benefícios de desempenho para AI/ML cargas de trabalho. Ao reduzir o número de chamadas de EC2 API necessárias para a configuração do endereço IP e pré-alocar intervalos de IP, o uso da delegação de prefixos permite tempos de inicialização mais rápidos do pod, o que é particularmente benéfico para escalar rapidamente as cargas de trabalho. AI/ML
Para habilitar a delegação de prefixos:
kubectl set env daemonset/aws-node -n kube-system ENABLE_PREFIX_DELEGATION=true
Garanta o planejamento adequado das sub-redes VPC para evitar o esgotamento do endereço IP, especialmente em grandes implantações, e gerencie os blocos CIDR para evitar sobreposições. VPCs Para saber mais, consulte Otimizar a utilização de endereços IP e atribuir mais endereços IP aos nós do Amazon EKS com prefixos.