O AWS Batch permite dividir a capacidade do SageMaker Training em cotas dentro de uma fila de trabalhos compatível. Cada cota pode reservar capacidade ociosa, emprestá-la a outras cotas ou também tomar capacidade emprestada. Para quem planeja esse compartilhamento entre equipes ou projetos, a configuração exige uma fila ligada a um ambiente SAGEMAKER_TRAINING e atenção às regras de preempção, que podem tornar trabalhos elegíveis para interrupção.

Escolha como cada cota deve tratar a capacidade ociosa

As estratégias definem se a capacidade sem uso fica reservada ou pode atender outras cotas. LEND_AND_BORROW também permite que a cota tome capacidade emprestada, conforme o limite configurado.

EstratégiaTratamento da capacidade ociosaOutra cota pode tomá-la emprestada?Efeito para a cota
RESERVEFica reservada para trabalhos da própria cota.Não.Mantém a capacidade ociosa disponível para essa cota.
LENDPode ser usada por outras cotas.Sim.Trabalhos de outras cotas podem usar a capacidade ociosa.
LEND_AND_BORROWPode ser usada por outras cotas.Sim.A cota também pode tomar capacidade emprestada, respeitando o limite configurado.

A AWS apresenta um exemplo com três cotas, cada uma com limite de uma instância ml.g5.xlarge, e capacidade máxima de três para o ambiente de serviço. A primeira cota usa LEND_AND_BORROW, a segunda usa LEND e a terceira, RESERVE. Essa configuração ilustra como combinar estratégias para projetos diferentes; ela não define uma configuração universal.

Confira os limites antes de desenhar a fila

O gerenciamento de cotas funciona somente em filas ligadas a um ambiente de serviço SAGEMAKER_TRAINING. Uma fila pode ter até 20 cotas, e cada cota precisa de 1 a 5 limites de capacidade, definidos por tipos de instância aceitos pelo SageMaker Training. A documentação do AWS Batch sobre gerenciamento de cotas e o guia de cotas detalham esses requisitos.

ElementoLimite ou vínculoEfeito no planejamento
Fila de trabalhosDeve estar ligada a um ambiente SAGEMAKER_TRAINING.Filas de outros tipos não atendem ao requisito do gerenciamento de cotas.
Cotas por filaAté 20.O número de cotas precisa caber no limite da fila.
Limites de capacidade por cotaDe 1 a 5, usando tipos de instância compatíveis com SageMaker Training.Defina pelo menos um tipo de instância em cada cota.
Ambiente de serviçoPode se conectar a uma única fila com gerenciamento de cotas.O mesmo ambiente não pode atender a várias dessas filas.

Configure a política, o ambiente e a fila

Antes de enviar trabalhos, prepare as permissões do IAM necessárias para criar e gerenciar filas do AWS Batch, políticas de escalonamento e ambientes de serviço. Em seguida, configure os recursos nesta sequência:

  1. Crie uma Scheduling Policy compatível com gerenciamento de cotas. Ela será associada à fila para organizar o escalonamento dos trabalhos.
  2. Configure um Service Environment do tipo SAGEMAKER_TRAINING. Defina os limites usando tipos de instância aceitos pelo SageMaker Training. A configuração deve expressar os tipos de instância, não NUM_INSTANCES.
  3. Crie uma Job Queue compatível com a política e o ambiente. O ambiente de serviço só pode se conectar a uma fila com gerenciamento de cotas.
  4. Defina as cotas e seus limites de capacidade. Cada cota precisa de pelo menos um e pode ter até cinco limites por tipo de instância. A fila aceita no máximo 20 cotas.

A orientação da AWS para criar os recursos de gerenciamento de cotas descreve os vínculos e as validações. Para verificar a configuração da fila, confira se ela chega aos estados ENABLED e VALID, com o motivo JobQueue Healthy.

Considere a preempção ao emprestar ou reduzir capacidade

Quando uma cota precisa recuperar capacidade que outra está usando por empréstimo, o AWS Batch pode fazer a preempção de trabalhos da cota que tomou o empréstimo. A seleção considera a quantidade e o tipo de instâncias emprestadas, as prioridades relativas dos trabalhos e a duração deles, usando uma heurística própria da AWS.

A preempção dentro da própria cota é outra opção: quando configurada, trabalhos de prioridade mais alta podem deslocar trabalhos de prioridade mais baixa nos estados SCHEDULED, STARTING ou RUNNING. Reduzir o limite de capacidade de uma cota também pode tornar trabalhos nesses estados elegíveis para preempção, mesmo quando a estratégia é LEND ou RESERVE. Portanto, uma cota que não toma recursos emprestados ainda pode ter trabalhos afetados por uma redução de limite.