Governança de tarefas para espaços interativos em HyperPod - SageMaker IA da Amazon

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á.

Governança de tarefas para espaços interativos em HyperPod

Esta seção aborda como otimizar seus clusters compartilhados do Amazon SageMaker HyperPod EKS para cargas de trabalho do Interactive Spaces. Você aprenderá a configurar os recursos de governança de tarefas da Kueue, incluindo gerenciamento de cotas, agendamento prioritário e políticas de compartilhamento de recursos, para garantir que suas cargas de trabalho de desenvolvimento sejam executadas sem interrupção, mantendo uma alocação justa nas atividades de treinamento, avaliação e processamento em lote de suas equipes.

Como funciona o gerenciamento interativo do espaço

Para gerenciar com eficácia os espaços interativos em clusters HyperPod EKS compartilhados, implemente as seguintes estratégias de governança de tarefas usando os recursos existentes da Kueue.

Configuração de classes prioritárias

Defina classes prioritárias dedicadas para espaços interativos com pesos altos (como 100) para garantir que os pods de desenvolvimento sejam admitidos e programados antes de outros tipos de tarefas. Essa configuração permite que o Interactive Spaces antecipe trabalhos de menor prioridade durante o carregamento do cluster, o que é essencial para manter fluxos de trabalho de desenvolvimento ininterruptos.

Dimensionamento e alocação de cotas

Reserve recursos computacionais suficientes na sua equipe ClusterQueue para lidar com as cargas de trabalho de desenvolvimento esperadas. Durante os períodos em que os recursos de desenvolvimento estão ociosos, os recursos de cota não utilizados podem ser alocados temporariamente para as tarefas de outras equipes. Quando a demanda de desenvolvimento aumenta, esses recursos emprestados podem ser recuperados para priorizar os módulos pendentes do Interactive Space.

Estratégias de compartilhamento de recursos

Escolha entre duas abordagens de compartilhamento de cotas com base em seus requisitos:

Controle estrito de recursos: desative o empréstimo e o empréstimo de cotas para garantir que a capacidade computacional reservada esteja sempre disponível para seus espaços interativos. Essa abordagem requer cotas de dimensionamento grandes o suficiente para lidar de forma independente com a demanda de pico de desenvolvimento e pode resultar em nós ociosos durante períodos de baixo uso.

Compartilhamento flexível de recursos: habilite o empréstimo de cotas para permitir que outras equipes utilizem recursos de desenvolvimento ociosos quando necessário. No entanto, desative o empréstimo para garantir que os Espaços Interativos nunca funcionem com recursos emprestados e recuperáveis que possam levar a despejos inesperados.

Preempção dentro da equipe

Ative a preempção dentro da equipe ao executar cargas de trabalho mistas (treinamento, avaliação e espaços interativos) sob a mesma cota. Isso permite que a Kueue antecipe trabalhos de baixa prioridade em sua equipe para acomodar pods do Interactive Space de alta prioridade, garantindo que o trabalho de desenvolvimento possa prosseguir sem depender do empréstimo de cotas externas.

Exemplo de configuração do Interactive Space

O exemplo a seguir mostra como a Kueue gerencia recursos computacionais para Interactive Spaces em um cluster compartilhado da Amazon. SageMaker HyperPod

Configuração de cluster e configuração de políticas

Seu cluster tem a seguinte configuração:

  • Team Alpha (Dev Team): cota de 8 CPUs para Interactive Spaces

  • Team Beta (ML Team): cota de 16 CPUs para treinamento e avaliação

  • Team Gamma (Research): cota de 6 CPUs para experimentação

  • Provisionamento estático: sem ajuste de escala automático

  • Capacidade total: 30 CPUs

O pool de CPU compartilhada usa esta política de prioridade:

  • Espaços interativos: Prioridade 100

  • Treinamento: prioridade 75

  • Avaliação: prioridade 50

  • Processamento em lote: Prioridade 25

Kueue impõe cotas de equipe e classes prioritárias, com a preempção ativada e o empréstimo desativado para a equipe de desenvolvimento.

Estado inicial: utilização normal do cluster

Em operações normais:

  • Team Alpha: executa 6 espaços interativos usando 6 CPUs, 2 CPUs inativos

  • Team Beta: executa trabalhos de treinamento (12 CPUs) e avaliação (4 CPUs) dentro de sua cota de 16 CPUs

  • Team Gamma: executa cargas de trabalho de pesquisa em todos os 6 CPUs

  • Compartilhamento de recursos: a equipe Beta empresta os 2 inativos do Team Alpha CPUs para treinamento adicional

Pico de desenvolvimento: o Team Alpha requer recursos adicionais

Quando os desenvolvedores do Team Alpha precisam ampliar o trabalho de desenvolvimento, os pods adicionais do Interactive Space exigem mais CPUs 4. O Kueue detecta que os novos pods:

  • Dentro do namespace do Team Alpha

  • Prioridade 100 (espaços interativos)

  • Têm admissão pendente devido a restrições de cota.

Processo de resposta de Kueue

O Kueue segue um processo de três etapas para alocar recursos:

  1. Verificação de cota

    Pergunta: O Team Alpha tem uma cota não utilizada?

    • Uso atual: 6 CPUs usados, 2 CPUs disponíveis

    • Novo requisito: 4 CPUs necessários

    • Resultado: cota insuficiente → Prossiga para a Etapa 2

  2. Autopreempção dentro do Team Alpha

    Pergunta: Os trabalhos de menor prioridade do Team Alpha podem ser evitados?

    • Alvos disponíveis: Não há trabalhos de baixa prioridade no Team Alpha

    • Resultado: Nenhuma preempção possível → Prossiga para a Etapa 3

  3. Recupere recursos emprestados

    Pergunta: Os recursos do Team Alpha estão sendo emprestados por outras equipes?

    • Recursos emprestados: Equipe Beta usando 2 CPUs da Equipe Alpha

    • Ação: Kueue despeja os módulos de treinamento emprestados da Equipe Beta, liberando 2 CPUs

    • Necessidade restante: Ainda precisa de mais 2 CPUs → Os espaços interativos permanecem no NotAdmitted estado até que os recursos estejam disponíveis

Essa abordagem prioriza os Espaços Interativos, mantendo os limites das cotas da equipe e impedindo que o trabalho de desenvolvimento seja executado com recursos emprestados instáveis.