AWS Batch répartit la capacité de calcul consacrée aux tâches SageMaker Training entre des parts de quota au sein d’une file compatible. Vous pouvez réserver la capacité inutilisée, la prêter à d’autres parts ou autoriser à la fois le prêt et l’emprunt. Cette configuration s’adresse aux équipes qui partagent une file de tâches et veulent définir des règles d’allocation entre projets.
Ce que les parts de quota répartissent
Les parts de quota sont des files virtuelles rattachées à une file de tâches AWS Batch. Elles organisent la capacité de calcul à l’intérieur d’une file configurée pour SageMaker Training. Elles ne correspondent pas à une augmentation des quotas AWS du compte.
La gestion des quotas est réservée aux files reliées à un environnement de service SAGEMAKER_TRAINING. AWS décrit cette restriction dans la documentation d’AWS Batch.
Choisir une stratégie de partage
Le bon réglage dépend de ce que vous voulez faire de la capacité qu’une part n’utilise pas. RESERVE la garde pour cette part ; LEND permet aux autres parts d’en profiter ; LEND_AND_BORROW permet les deux, avec une limite d’emprunt configurée.
| Stratégie | Capacité inutilisée | Les autres parts peuvent-elles l’utiliser ? | Emprunt par cette part |
RESERVE | Reste réservée à la part | Non | Non |
LEND | Peut être prêtée aux autres parts | Oui | Non |
LEND_AND_BORROW | Peut être prêtée aux autres parts | Oui | Oui, dans la limite configurée |
Ces stratégies règlent le partage de capacité entre parts de la même file. La capacité prêtée peut être récupérée si la part qui l’a prêtée en a besoin.
Vérifier les limites avant de concevoir la file
Une file de tâches peut contenir jusqu’à 20 parts de quota. Chaque part doit avoir entre 1 et 5 limites de capacité, exprimées par type d’instance pris en charge par SageMaker Training. La documentation AWS Batch précise ces plafonds.
| Élément | Limite ou condition | Conséquence pour la configuration |
| Type de file | File reliée à un environnement SAGEMAKER_TRAINING | La gestion des quotas ne s’applique pas à tous les types de files AWS Batch |
| Parts par file | 20 au maximum | Prévoir le nombre de projets ou d’équipes à répartir |
| Limites de capacité par part | De 1 à 5 types d’instance | Définir chaque limite avec un type accepté par SageMaker Training |
| Association de l’environnement | Un environnement de service géré par quotas se relie à une seule file gérée par quotas | Prévoir un environnement distinct si la conception nécessite une autre file |
Relier la politique, l’environnement et la file
Avant de créer les parts, préparez les ressources qui rendent la file compatible. Il faut les autorisations IAM pour créer et gérer les files AWS Batch, les politiques de planification et les environnements de service.
- Créez une politique de planification compatible avec les quotas. Elle définit la politique de parts utilisée par la file.
- Configurez un environnement de service
SAGEMAKER_TRAINING. Indiquez les limites de capacité avec des types d’instance acceptés par SageMaker Training, et non avecNUM_INSTANCES. - Créez la file de tâches et reliez-la à la politique et à l’environnement. Un même environnement de service géré par quotas ne peut être associé qu’à une seule file gérée de cette façon.
- Vérifiez l’état de la file. AWS indique qu’elle doit atteindre les états
ENABLEDetVALID, avec le motifJobQueue Healthy.
Le guide AWS de création des ressources détaille ces associations et ces contrôles.
Anticiper la récupération de capacité et les interruptions
Quand une part a prêté de la capacité et en a besoin à nouveau, AWS Batch peut préempter des tâches qui l’empruntent afin de la récupérer. La préemption consiste à interrompre une tâche pour libérer ses ressources. Le mécanisme de sélection prend en compte le nombre et le type d’instances empruntées, les priorités relatives des tâches et leur durée.
Une option distincte permet aussi la préemption au sein d’une même part : les tâches de priorité supérieure peuvent déplacer celles de priorité inférieure, y compris lorsque ces dernières sont en état SCHEDULED, STARTING ou RUNNING.
Baisser la limite de capacité d’une part peut également rendre ses tâches éligibles à la préemption si leur consommation dépasse la nouvelle limite. Cela peut concerner une part configurée en LEND ou en RESERVE.
Dans un exemple de configuration publié par AWS, trois parts disposent chacune d’une capacité maximale d’une instance ml.g5.xlarge, et l’environnement de service fixe sa capacité maximale à 3. La première part utilise LEND_AND_BORROW, la deuxième LEND et la troisième RESERVE. Cette configuration illustre la répartition des règles ; elle ne garantit pas à elle seule le comportement d’une charge de travail donnée.