Todos os produtos
Search
Central de documentação

Container Compute Service:GPU-HPN topology-aware scheduling

Última atualização: Aug 29, 2026

O Container Compute Service (ACS) aloca dispositivos GPU aos pods com base na topologia de GPU de cada modelo de nó GPU-HPN. Pods no mesmo nó trocam dados por canais como NVLink, e as restrições de partição mantêm a comunicação entre GPUs eficiente e equilibrada.

Pré-requisitos

Este recurso oferece suporte apenas a pods que usam a classe de computação gpu-hpn (compute-class) e os tipos de nó GPU-HPN correspondentes.

Contexto

Em um nó GPU-HPN, os dispositivos GPU se conectam e se comunicam por um ou mais canais. Isso permite executar pods com diferentes quantidades de GPUs solicitadas no mesmo nó. Para garantir uma comunicação eficiente e equilibrada entre GPUs, além de evitar interferências entre pods, o ACS agenda os pods considerando a topologia de GPU do nó. O sistema divide os dispositivos GPU em partições compatíveis com as quantidades solicitadas pelos pods e aloca a partição ideal para cada um.

A figura a seguir mostra um nó com oito GPUs. Cada grupo é formado por quatro GPUs. As GPUs dentro de um grupo são diretamente interconectadas, e os dois grupos se conectam via PCIe.

image

O ACS divide os dispositivos deste nó nas seguintes partições:

GPUs solicitadas pelo pod

Resultados disponíveis de alocação de dispositivos

8

[0,1,2,3,4,5,6,7]

4

[0,1,2,3], [4,5,6,7]

2

[0,1], [2,3], [4,5], [6,7]

1

[0], [1], [2], [3], [4], [5], [6], [7]

A criação e a exclusão repetidas de pods em um nó podem causar fragmentação de partições. Esse cenário impede o agendamento de novos pods e os deixa no estado Pending. Para liberar os dispositivos necessários a um pod pendente, revise os resultados de alocação de dispositivos dos pods no nó e remova alguns deles conforme suas prioridades de negócio. A seção de perguntas frequentes deste tópico descreve como planejar recursos do nó para evitar fragmentação de partições, como selecionar pods para remoção e como o tipo, a versão e a configuração do agendador afetam a consideração das partições durante o agendamento.

Partições dos tipos de nó GPU-HPN

As partições e os modelos de GPU variam conforme os tipos de nó GPU-HPN fornecidos pelo ACS. Para verificar quais partições estão em uso em um nó, visualize os resultados de alocação de dispositivos dos pods em execução nesse nó.

gpu.p16en-16XL

Este tipo de nó possui 16 GPUs do modelo P16EN. A tabela a seguir lista as partições para as quantidades de GPUs solicitadas pelos pods.

GPUs solicitadas pelo pod

Resultados disponíveis de alocação de dispositivos

16

[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]

8

[0,1,2,3,4,5,6,7], [8,9,10,11,12,13,14,15]

4

[0,1,2,3], [4,5,6,7], [8,9,10,11], [12,13,14,15]

2

[0,3], [1,2], [4,7], [5,6], [8,11], [9,10], [12,15], [13,14]

1

[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15]

Visualizar os resultados de agendamento de um pod

Resultado da alocação de dispositivos

Para um pod GPU-HPN, o resultado da alocação de dispositivos fica registrado nas anotações do pod no seguinte formato:

apiVersion: v1
kind: Pod
metadata:
  annotations:
    alibabacloud.com/device-allocation: '{"gpus": {"minor": [0,1,2,3]}}'

Mensagem de falha de agendamento causada por fragmentação de partição

Um pod não agendado permanece no estado Pending. Execute o comando a seguir para visualizar a mensagem de falha de agendamento:

kubectl describe pod pod-demo

Saída esperada, com outros conteúdos omitidos:

...
Events:
  Type     Reason            Age    From               Message
  ----     ------            ----   ----               -------
  Warning  FailedScheduling  26m    default-scheduler  0/5 nodes are available: 2 Node(s) Insufficient Partitioned GPU Devices, 1 Node(s) xxx, 2 Node(s) xxx.

Em uma mensagem semelhante a 0/5 nodes are available: xxx, o termo Insufficient Partitioned GPU Devices indica que o agendamento falhou devido à fragmentação de partição no nó.

Perguntas frequentes

Como planejar recursos e políticas de nó para evitar fragmentação de partição?

Planeje os recursos e as políticas do nó da seguinte forma:

  • Agrupe nós por quantidade de GPUs solicitadas — Defina rótulos diferentes nos seus nós para gerenciar recursos com base no número de GPUs que seus pods solicitam. Por exemplo, agende pods que solicitam 8 GPUs e pods que solicitam 1 GPU em nós distintos.

  • Libere dispositivos ociosos quando já houver pods Pending — Quando a fragmentação de partição deixar pods no estado Pending no seu cluster, utilize mecanismos como desagendamento para remover alguns pods de baixa prioridade e liberar dispositivos ociosos para os pods pendentes.

  • Reserve capacidade quando não for possível planejar rótulos de nó — Se você tiver poucos nós ou não puder planejar rótulos de nó, e seus pods solicitarem uma ampla variedade de quantidades de GPUs, reserve capacidade para atender aos requisitos de recursos das suas aplicações. Para mais informações, consulte GPU pod capacity reservation.

Como selecionar pods para remoção ao resolver fragmentação de partição?

  1. Identifique o número de GPUs que o pod pendente solicita, por exemplo, 8 GPUs.

  2. No nó de destino, leia a anotação alibabacloud.com/device-allocation de cada pod para determinar quais dispositivos já estão alocados. Para mais informações, consulte device allocation result.

  3. Decida quais pods remover com base nos resultados de alocação e garanta que os dispositivos liberados pela remoção atendam tanto à quantidade de GPUs solicitada quanto às restrições de partição do pod pendente. Por exemplo, uma solicitação de 8 GPUs em P16EN exige que os IDs de dispositivo [0,1,2,3,4,5,6,7] ou [8,9,10,11,12,13,14,15] estejam todos desalocados.

  4. Remova os pods executando um comando como evict ou delete.

O que preciso saber sobre partições ao usar um agendador personalizado?

Depois que um agendador personalizado atribui um pod a um nó, o ACS aloca os dispositivos para o pod nesse nó. Durante a alocação de dispositivos, o ACS agrupa os dispositivos da forma mais densa possível para evitar fragmentação de partição.

Um agendador personalizado precisa considerar apenas a capacidade total de GPU de um nó. Para recursos de GPU, prefira uma política de bin-packing de nó MostAllocated, que reduz a fragmentação de partição.

Quais agendadores reconhecem a topologia de partição GPU-HPN?

Use a tabela a seguir para determinar se o seu agendador reconhece a topologia de partição dos nós GPU-HPN.

Tipo de agendador

Condições

Descrição

Agendador padrão do ACS

Todas as condições a seguir são atendidas:

  • o tipo de cluster é ACS;

  • o schedulerName do pod é default-scheduler;

e qualquer uma das seguintes condições de versão é atendida:

  • a versão do agendador é v1.32.0-apsara.6.11.8.507bee55 ou posterior, v1.31.0-aliyun-1.5.0 ou posterior, v1.30.3-aliyun-1.6.0 ou posterior, ou qualquer versão a partir da 1.33

  • o agendador é de uma versão anterior e a opção Enable custom tags and scheduler for GPU-HPN nodes não está selecionada.

Para versões com suporte, consulte kube-scheduler.

O agendador reconhece o status de alocação de partição do nó atual e exclui nós cujas partições não possam atender à solicitação. O evento de falha de agendamento do pod inclui a mensagem Insufficient Partitioned GPU Devices.

Agendador padrão do ACK

Todas as condições a seguir são atendidas:

  • o cluster é um cluster gerenciado ACK, um cluster registrado ACK One ou um cluster ACK One para fluxos de trabalho Argo distribuídos;

  • o schedulerName do pod é default-scheduler;

  • e a versão do agendador é v1.30.3-apsara.6.11.8. ou posterior, v1.32.0-apsara.6.11.8. ou posterior, v1.33.0-apsara.6.11.8. ou posterior, v1.34.0-apsara.6.11.8. ou posterior, ou qualquer versão a partir da 1.35.

Você pode encontrar as versões com suporte em kube-scheduler.

O agendador reconhece o status de alocação de partição do nó atual e exclui nós cujas partições não possam atender à solicitação. O evento de falha de agendamento do pod inclui a mensagem Insufficient Partitioned GPU Devices.

Outros tipos de agendador

O tipo de agendador, as condições ou a configuração não atendem aos requisitos anteriores.

O agendador não reconhece a topologia de partição. O nó GPU-HPN aloca dispositivos da forma mais densa possível. Se as partições não puderem atender à solicitação, o pod permanecerá no estado Pending no nó até que as partições possam atendê-la, e o evento de falha de agendamento do pod incluirá a mensagem Insufficient Partitioned GPU Devices. Para mais informações, consulte How do I plan node resources and policies to avoid partition fragmentation?