Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Visão geral do compartilhamento de GPU

Última atualização: Sep 15, 2026

Este tópico apresenta a solução de compartilhamento de GPU da Alibaba Cloud, descreve os benefícios da GPU Sharing Professional Edition e compara os recursos e cenários de uso das edições Basic e Professional. Este conteúdo ajuda você a compreender e utilizar melhor o compartilhamento de GPU.

Informações básicas

O compartilhamento de GPU permite executar vários containers no mesmo dispositivo GPU. Com o código source do Container Service for Kubernetes (ACK) pela Alibaba Cloud, é possível implementar uma estrutura de compartilhamento de GPU em clusters de containers tanto na Alibaba Cloud quanto em data centers on-premises. Isso possibilita que múltiplos containers compartilhem o mesmo dispositivo GPU e reduz os custos de uso.

Além da eficiência de custos, é fundamental assegurar a operação estável dos containers na GPU. O isolamento dos recursos de GPU alocados para cada container limita o uso de recursos por container no mesmo dispositivo e evita interferências mútuas causadas pelo consumo excessivo. Para resolver essa questão, a indústria de computação oferece diversas soluções, como NVIDIA vGPU, Multi-Process Service (MPS) e vCUDA, que proporcionam um gerenciamento mais refinado do uso da GPU.

Para atender a esses requisitos, o ACK introduziu a solução de compartilhamento de GPU. Essa solução não apenas permite que várias tarefas compartilhem uma única GPU, mas também fornece isolamento de memória e particionamento do poder de computação da GPU para diferentes aplicações no mesmo dispositivo.

Recursos e benefícios

A solução de compartilhamento de GPU utiliza o driver de kernel de servidor desenvolvido pela Alibaba Cloud para oferecer um uso mais eficiente dos drivers subjacentes das GPUs NVIDIA. O compartilhamento de GPU fornece os seguintes recursos:

  • Alta compatibilidade: o compartilhamento de GPU é compatível com soluções open source padrão, como Kubernetes e NVIDIA Docker.

  • Facilidade de uso: a solução proporciona uma excelente experiência ao usuário. Para substituir uma biblioteca Compute Unified Device Architecture (CUDA) de uma aplicação de IA, não é necessário recompilar a aplicação ou criar uma nova imagem de container.

  • Estabilidade: o compartilhamento de GPU garante operações subjacentes estáveis em GPUs NVIDIA. Operações de API em bibliotecas CUDA e algumas operações de API privadas na CUDA Deep Neural Network (cuDNN) são complexas de invocar.

  • Isolamento de recursos: o compartilhamento de GPU assegura que a memória e o poder de computação alocados não se afetem mutuamente.

O compartilhamento de GPU oferece uma solução econômica, confiável e fácil de usar que permite ativar o agendamento de GPU e o isolamento de memória.

Benefício

Descrição

Suporte a compartilhamento, agendamento e isolamento de memória de GPU.

  • Permite compartilhamento, agendamento e isolamento de memória de GPU no modelo um-pod-uma-GPU. Indicado principalmente para cenários de inferência de modelos.

  • Permite compartilhamento, agendamento e isolamento de memória de GPU no modelo um-pod-várias-GPUs. Utilizado frequentemente na construção de código para treinamento de modelos distribuídos.

Políticas flexíveis de compartilhamento e isolamento de memória de GPU.

  • Oferece alocação de GPU usando os algoritmos binpack e spread.

    • Binpack: o sistema prioriza o compartilhamento de uma única GPU entre vários pods. Adequado para cenários que exigem alta utilização da GPU.

    • Spread: o sistema tenta alocar uma GPU distinta para cada pod. Recomendado quando é necessária alta disponibilidade de GPUs. O sistema evita alocar a mesma GPU para diferentes pods replicados de uma aplicação.

  • Possibilita o compartilhamento de GPU sem isolamento de memória. Projetado para cenários de deep learning nos quais as aplicações possuem sistemas de isolamento definidos pelo usuário na camada de aplicação.

  • Suporta compartilhamento em múltiplas GPUs com isolamento de memória.

Monitoramento abrangente de recursos de GPU.

Permite monitorar tanto GPUs exclusivas quanto compartilhadas.

Gratuito

É necessário ativar o pacote de IA nativa da cloud antes de usar o compartilhamento de GPU. A partir das 00:00:00 (UTC+8) de 6 de junho de 2024, o Cloud Native AI Suite está totalmente aberto para uso gratuito.

Observações de uso

O compartilhamento de GPU tem suporte apenas em clusters ACK Pro. Para obter mais informações sobre como instalar e usar o compartilhamento de GPU, consulte os seguintes tópicos:

Também estão disponíveis os seguintes recursos avançados do compartilhamento de GPU:

Termos

Modo compartilhado e modo exclusivo

No modo compartilhado, vários pods podem compartilhar uma única GPU, conforme ilustrado na figura a seguir. TU2.png

No modo exclusivo, um pod ocupa exclusivamente uma ou mais GPUs, como mostra a figura abaixo. TU1.png

Isolamento de memória da GPU

O compartilhamento de GPU garante apenas que vários pods executem em uma mesma GPU, mas não impede a contenção de recursos entre eles quando o isolamento de memória da GPU está desativado. O exemplo a seguir ilustra essa situação.

O Pod 1 solicita 5 GiB de memória da GPU e o Pod 2 solicita 10 GiB. Com o isolamento de memória desativado, o Pod 1 pode consumir até 10 GiB, incluindo os 5 GiB solicitados pelo Pod 2. Como consequência, o Pod 2 falha ao iniciar devido à insuficiência de memória da GPU. Quando o isolamento de memória da GPU está ativado, se o Pod 1 tentar usar uma quantidade de memória superior ao valor solicitado, o módulo de isolamento força a falha do Pod 1. TU3.png

Políticas de agendamento de GPU: binpack e spread

Se um nó com o recurso de compartilhamento de GPU ativado possuir múltiplas GPUs, escolha uma das seguintes políticas de seleção de GPU:

  • Binpack: esta é a política padrão. O agendador aloca todos os recursos de uma GPU para os pods antes de passar para outra GPU e ajuda a evitar fragmentação de GPU.

  • Spread: o agendador tenta distribuir os pods entre diferentes GPUs no nó para prevenir interrupções de negócio caso ocorra falha em uma GPU.

Neste exemplo, um nó possui duas GPUs, cada uma com 15 GiB de memória. O Pod1 solicita 2 GiB e o Pod2 solicita 3 GiB de memória.

image

Compartilhamento de GPU única e compartilhamento de múltiplas GPUs

  • Compartilhamento de GPU única: um pod pode solicitar recursos de GPU alocados por apenas uma GPU.

  • Compartilhamento de múltiplas GPUs: um pod pode solicitar recursos de GPU distribuídos uniformemente entre várias GPUs.

image