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égia | Tratamento da capacidade ociosa | Outra cota pode tomá-la emprestada? | Efeito para a cota |
RESERVE | Fica reservada para trabalhos da própria cota. | Não. | Mantém a capacidade ociosa disponível para essa cota. |
LEND | Pode ser usada por outras cotas. | Sim. | Trabalhos de outras cotas podem usar a capacidade ociosa. |
LEND_AND_BORROW | Pode 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.
| Elemento | Limite ou vínculo | Efeito no planejamento |
| Fila de trabalhos | Deve estar ligada a um ambiente SAGEMAKER_TRAINING. | Filas de outros tipos não atendem ao requisito do gerenciamento de cotas. |
| Cotas por fila | Até 20. | O número de cotas precisa caber no limite da fila. |
| Limites de capacidade por cota | De 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ço | Pode 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:
- Crie uma
Scheduling Policycompatível com gerenciamento de cotas. Ela será associada à fila para organizar o escalonamento dos trabalhos. - Configure um
Service Environmentdo tipoSAGEMAKER_TRAINING. Defina os limites usando tipos de instância aceitos pelo SageMaker Training. A configuração deve expressar os tipos de instância, nãoNUM_INSTANCES. - Crie uma
Job Queuecompatível com a política e o ambiente. O ambiente de serviço só pode se conectar a uma fila com gerenciamento de cotas. - 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.