View a markdown version of this page

Gouvernance des tâches pour Interactive Spaces 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 Interactive Spaces sur HyperPod

Cette section explique comment optimiser vos clusters Amazon SageMaker HyperPod EKS partagés pour les charges de travail 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 de l'espace interactif

Pour gérer efficacement les espaces interactifs dans les clusters HyperPod EKS partagés, implémentez 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 avec des poids élevés (par exemple 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 les 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 de calcul à 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 des autres équipes. Lorsque la demande de développement augmente, ces ressources empruntées peuvent être récupérées pour hiérarchiser 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 les prêts et les emprunts par 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 des nœuds inactifs 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. Cependant, désactivez l'emprunt pour vous assurer que Interactive Spaces ne fonctionne jamais avec des ressources empruntées et récupérables, ce qui pourrait entraîner des expulsions inattendues.

Intra-Team Préemption

Activez la préemption intra-équipe lorsque vous exécutez des charges de travail mixtes (formation, évaluation et espaces interactifs) avec le même quota. Cela permet à Kueue de devancer les tâches les moins prioritaires au sein de votre équipe afin d'accueillir les modules Interactive Space prioritaires, garantissant ainsi que les travaux de développement peuvent se poursuivre sans dépendre d'emprunts de quotas externes.

Exemple de configuration de l'espace interactif

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

Configuration du cluster et configuration des politiques

Votre cluster possède la configuration suivante :

  • Team Alpha (équipe de développement)  : quota de 8 processeurs pour Interactive Spaces

  • Team Beta (ML Team)  : quota de 16 processeurs pour la formation 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 processeurs

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 des quotas et des classes de priorité aux équipes, 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 à l'aide de 6 processeurs, 2 processeurs inactifs

  • Team Beta  : gère les tâches de formation (12 processeurs) et l'évaluation (4 processeurs) dans les limites de son quota de 16 processeurs

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

  • Partage des ressources  : Team Beta emprunte les 2 processeurs inactifs de Team Alpha pour une formation supplémentaire

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

Lorsque les développeurs de Team Alpha ont besoin d'intensifier leurs travaux de développement, les modules Interactive Space supplémentaires nécessitent 4 processeurs supplémentaires. 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 processeurs utilisés, 2 processeurs disponibles

    • Nouvelle exigence  : 4 processeurs nécessaires

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

  2. Self-preemption au sein de Team Alpha

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

    • Objectifs disponibles  : Aucune tâche moins prioritaire dans Team Alpha

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

  3. Récupérer 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 processeurs de Team Alpha

    • Action  : Kueue expulse les modules d'entraînement empruntés à Team Beta, libérant ainsi 2 processeurs

    • Besoins restants  : Encore besoin de 2 processeurs supplémentaires → Les espaces interactifs restent en NotAdmitted état jusqu'à ce que les ressources soient disponibles

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