Os clusters ACK Pro suportam compartilhamento de GPU. Configure o parâmetro de política cGPU para escolha entre seis estratégias de alocação de computação. Este tópico explica como defina a política de agendamento de GPU compartilhada.
Pré-requisitos
Um cluster ACK Pro criado, executando Kubernetes 1.18.8 ou posterior. Manually upgrade a cluster se necessário.
cGPU versão 1.0.6 ou posterior instalado. Upgrade the cGPU version of a node se necessário.
Observações importantes
-
Se o módulo de isolamento cGPU já estiver instalado em um nó, reinicie o nó após instale o componente cGPU para aplicar a política. Consulte Restart an instance.
NotaAcesse o nó e execute
cat /proc/cgpu_km/version. Se um número de versão for retornado, o módulo de isolamento cGPU está instalado. Se o módulo de isolamento cGPU não estiver instalado ou tiver sido desinstalado, a política entrará em vigor imediatamente após a instalação do componente cGPU.
Todos os nós de compartilhamento de GPU em um cluster devem usar a mesma política.
Verifique se o cGPU está instalado
O procedimento de configure depende de o cGPU já estar instalado ou não.
Acesse o ACK console. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster. No painel de navegação à esquerda, clique em .
-
Na página Helm, verifique se ack-ai-installer está listado.
Se ack-ai-installer estiver listado, o cGPU está instalado.
Configure a política de agendamento
cGPU not installed
Acesse o ACK console. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster. No painel de navegação à esquerda, clique em .
Na página Cloud-native AI Suite, clique em Deploy.
Na seção Scheduling, selecione Scheduling Policy Extension (Batch Task Scheduling, GPU Sharing, Topology-aware GPU Scheduling) e clique em Advanced.
-
Na página Parameters, modifique o campo
policye clique em OK.cgpu: enabled: true image: acs/cgpu-installer tag: v1.5.3-8d3fc1b-aliyun financeCloudImageTag: v1.0.7-fin imagePullPolicy: IfNotPresent policy: 1 nodeSelector: {} checkRegions: trueOs valores válidos estão listados abaixo. Consulte cGPU usage examples.
Value
Description
0
Agendamento por distribuição proporcional. Cada container recebe uma fatia de tempo fixa proporcional a
1/max_inst.1
Agendamento preemptivo. Cada container usa o máximo de fatias de tempo possível. Fatia de tempo por container:
1/Number of current containers.2
Agendamento preemptivo baseado em peso. Ativado automaticamente quando ALIYUN_COM_GPU_SCHD_WEIGHT ultrapassa 1.
3
Agendamento por percentual fixo. Atribui um percentual fixo da capacidade de computação.
4
Agendamento soft. Oferece isolamento menos restrito que o agendamento preemptivo.
5
Agendamento nativo. Usa o método de agendamento nativo do driver de GPU.
Clique em Deploy Cloud-native AI Suite.
cGPU already installed
-
Edite o DaemonSet que instale o módulo de isolamento cGPU.
kubectl edit daemonset cgpu-installer -nkube-system -
Modifique e salve o DaemonSet.
-
Verifique a versão da
imagedo DaemonSet.A versão da image deve ser v1.0.6 ou posterior. Exemplo:
image: registry-vpc.cn-hongkong.aliyuncs.com/acs/cgpu-installer:<image_version> -
Modifique o
value.Em
containers.env, defina ovaluedePOLICYcom o número da política desejada.# Other fields are omitted for brevity. spec: containers: - env: - name: POLICY value: "1" # Other fields are omitted for brevity.Valores válidos de
value:Value
Description
0
Agendamento por distribuição proporcional. Cada container recebe uma fatia de tempo fixa proporcional a
1/max_inst.1
Agendamento preemptivo. Cada container usa o máximo de fatias de tempo possível. Fatia de tempo por container:
1/Number of current containers.2
Agendamento preemptivo baseado em peso. Ativado automaticamente quando ALIYUN_COM_GPU_SCHD_WEIGHT ultrapassa 1.
3
Agendamento por percentual fixo. Atribui um percentual fixo da capacidade de computação.
4
Agendamento soft. Oferece isolamento menos restrito que o agendamento preemptivo.
5
Agendamento nativo. Usa o método de agendamento nativo do driver de GPU.
-
Reinicie os nós de compartilhamento de GPU. Consulte Restart an instance.