Gouvernance des tâches pour les espaces interactifs sur HyperPod - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gouvernance des tâches pour les espaces interactifs sur HyperPod

Cette section explique comment optimiser vos clusters Amazon SageMaker HyperPod EKS partagés pour les charges de travail d'Interactive Spaces. Vous apprendrez à configurer les fonctionnalités de gouvernance des tâches de Kueue, notamment la gestion des quotas, la planification des priorités et les politiques de partage des ressources, afin de garantir que vos charges de travail de développement s'exécutent sans interruption tout en maintenant une répartition équitable entre les activités de formation, d'évaluation et de traitement par lots de vos équipes.

Comment fonctionne la gestion interactive de l'espace

Pour gérer efficacement les espaces interactifs dans les clusters HyperPod EKS partagés, mettez en œuvre les stratégies de gouvernance des tâches suivantes en utilisant les fonctionnalités existantes de Kueue.

Configuration des classes prioritaires

Définissez des classes de priorité dédiées pour les espaces interactifs dotés de poids élevés (tels que 100) afin de garantir que les modules de développement sont admis et planifiés avant les autres types de tâches. Cette configuration permet à Interactive Spaces de préempter les tâches moins prioritaires lors du chargement du cluster, ce qui est essentiel pour maintenir des flux de développement ininterrompus.

Dimensionnement et allocation des quotas

Réservez suffisamment de ressources informatiques au sein de votre équipe ClusterQueue pour gérer les charges de travail de développement attendues. Pendant les périodes où les ressources de développement sont inactives, les ressources de quota non utilisées peuvent être temporairement allouées aux tâches d'autres équipes. Lorsque la demande de développement augmente, ces ressources empruntées peuvent être récupérées pour prioriser les modules Interactive Space en attente.

Stratégies de partage des ressources

Choisissez entre deux approches de partage de quotas en fonction de vos besoins :

Contrôle strict des ressources : désactivez le prêt et l'emprunt de quotas pour garantir que la capacité de calcul réservée est toujours disponible pour vos espaces interactifs. Cette approche nécessite de dimensionner des quotas suffisamment importants pour gérer indépendamment les pics de demande de développement et peut entraîner l'inactivité des nœuds pendant les périodes de faible utilisation.

Partage flexible des ressources : activez le prêt de quotas pour permettre aux autres équipes d'utiliser les ressources de développement inutilisées en cas de besoin. Toutefois, désactivez l'emprunt pour vous assurer que les espaces interactifs ne fonctionnent jamais avec des ressources empruntées et récupérables susceptibles d'entraîner des expulsions inattendues.

Préemption au sein de l’équipe

Activez la préemption au sein de l'équipe lorsque vous exécutez des charges de travail mixtes (formation, évaluation et espaces interactifs) avec le même quota. Kueue peut ainsi préempter les tâches moins prioritaires au sein de votre équipe pour accueillir les modules Interactive Space hautement prioritaires, garantissant ainsi que le travail de développement peut se poursuivre sans dépendre d'un emprunt de quotas externe.

Exemple de configuration d'un espace interactif

L'exemple suivant montre comment Kueue gère les ressources de calcul pour les espaces interactifs dans un SageMaker HyperPod cluster Amazon partagé.

Configuration du cluster et définition des politiques

Votre cluster possède la configuration suivante :

  • Team Alpha (équipe de développement) : quota de 8 processeurs pour les espaces interactifs

  • Team Beta (ML Team) : quota de 16 processeurs pour l'entraînement et l'évaluation

  • Team Gamma (recherche) : quota de 6 processeurs pour l'expérimentation

  • Provisionnement statique : pas de mise à l’échelle automatique

  • Capacité totale : 30 CPUs

Le pool de processeurs partagé utilise cette politique de priorité :

  • Espaces interactifs : priorité 100

  • Entraînement : Priorité 75

  • Évaluation : Priorité 50

  • Traitement par lots : priorité 25

Kueue applique les quotas d'équipe et les classes de priorité, en activant la préemption et en désactivant l'emprunt pour l'équipe de développement.

État initial : utilisation normale du cluster

Dans le cadre d’opérations normales :

  • Team Alpha : gère 6 espaces interactifs en utilisant 6 ou CPUs 2 espaces CPUs inactifs

  • Bêta en équipe : exécute des tâches de formation (12 CPUs) et d'évaluation (4 CPUs) dans les limites de son quota de 16 processeurs

  • Team Gamma : exécute les charges de travail de recherche sur les 6 CPUs

  • Partage des ressources : Team Beta emprunte les 2 inactifs de Team Alpha CPUs pour un entraînement supplémentaire

Pic de développement : Team Alpha a besoin de ressources supplémentaires

Lorsque les développeurs de Team Alpha doivent intensifier leur travail de développement, les modules Interactive Space supplémentaires en nécessitent 4 supplémentaires CPUs. Kueue détecte que les nouveaux pods sont :

  • Dans l'espace de noms de Team Alpha

  • Priorité 100 (espaces interactifs)

  • Admission en attente en raison de contraintes de quotas

Le processus de réponse de Kueue

Kueue suit un processus en trois étapes pour allouer les ressources :

  1. Contrôle des quotas

    Question : Est-ce que Team Alpha a un quota inutilisé ?

    • Utilisation actuelle : 6 CPUs utilisés, 2 CPUs disponibles

    • Nouvelle exigence : 4 CPUs nécessaires

    • Résultat : quota insuffisant → Passez à l'étape 2

  2. Auto-préemption au sein de Team Alpha

    Question : Les tâches Team Alpha moins prioritaires peuvent-elles être préemptées ?

    • Objectifs disponibles : Aucun emploi moins prioritaire dans Team Alpha

    • Résultat : Aucune préemption possible → Passez à l'étape 3

  3. Récupérez les ressources empruntées

    Question : Les ressources de Team Alpha sont-elles empruntées par d'autres équipes ?

    • Ressources empruntées : Team Beta utilisant 2 ressources CPUs de Team Alpha

    • Action : Kueue évacue les modules d'entraînement empruntés par Team Beta, libérant ainsi 2 CPUs

    • Besoin restant : il en faut encore 2 CPUs → Les espaces interactifs restent en place jusqu'à NotAdmitted ce que les ressources soient disponibles

Cette approche donne la priorité aux espaces interactifs tout en maintenant les limites des quotas d'équipe et en empêchant le travail de développement de s'exécuter sur des ressources empruntées instables.