Planification de la capacité pour Azure Batch

La planification efficace de la capacité permet de s’assurer que vos charges de travail Azure Batch ont les ressources de calcul dont elles ont besoin, quand elles en ont besoin. Cet article explique comment la capacité Batch est structurée, comment planifier le quota pour vos charges de travail et comment réduire le risque d’échecs d’allocation.

Un quota est une limite, pas une garantie de capacité. La planification à l’avance vous aide à demander un quota approprié, à choisir des configurations résilientes et à réagir correctement lorsque la capacité est limitée. Pour connaître les valeurs par défaut et maximale spécifiques, consultez les quotas et limites du service Batch.

Confirmez que ce lot correspond à votre charge de travail

Utilisez Batch lorsque vous voulez qu’Azure fournisse la planification en tant que service et que votre application puisse organiser le travail en pools, jobs et tâches. Avant de planifier la capacité en lot, considérez ces alternatives :

  • Choisissez Azure CycleCloud lorsque vous devez utiliser un planificateur HPC spécifique, personnaliser la topologie du cluster et la pile logicielle, ou vous aligner étroitement sur les flux de travail existants sur site.
  • Choisissez Azure CycleCloud Workspace pour Slurm lorsque vous souhaitez un environnement Slurm prêt à déployer avec des composants réseau, stockage et accès provisionnés dans votre abonnement.

Si Batch est le bon modèle opérationnel, utilisez les sections suivantes pour estimer la demande maximale, sélectionner les VM, calculer le quota et définir des solutions de secours avant de créer des pools de production.

Hiérarchie de capacité

La capacité batch est régie à plusieurs couches, où chaque couche limite celle ci-dessous. Votre capacité effective est celle qu’autorise la limite la plus restrictive de la chaîne.

En haut, la région Azure fournit la capacité du centre de données physique disponible pour chaque famille de machines virtuelles. La capacité régionale n’est pas une valeur fixe que vous contrôlez ; il varie au fil du temps et par série de machines virtuelles. Votre quota d’abonnement définit ensuite la limite de cœur autorisée par famille de machines virtuelles par région. En mode d’allocation de pools par abonnement utilisateur, ces quotas d’abonnement s’appliquent directement à vos pools Batch. Le quota de compte Batch définit les cœurs, les pools et les travaux actifs autorisés par compte Batch. En mode d’allocation de pool de services Batch, ces quotas au niveau du compte s’appliquent. Enfin, les limites du pool limitent le nombre de nœuds par pool, en fonction du quota au-dessus du pool et des limites de taille de pool définies par le service Batch.

Pour savoir quelle couche s’applique à votre compte, cela dépend du mode d’allocation du pool. Pour plus d’informations, consultez les comptes Batch et les modes d’allocation de pool.

Planifier vos besoins en capacité

Avant de créer des pools de production, estimez les ressources dont votre charge de travail a besoin. Suivez les questions suivantes pour traduire les caractéristiques de charge de travail en une demande de quota :

  • Profil de charge de travail. Quel est le nombre maximal de tâches et de tâches simultanées ? Quelle est la durée moyenne des tâches et les besoins en mémoire ? Les tâches ont-elles besoin de GPU ou de coordination multi-nœuds (MPI) ?
  • Sélection de machine virtuelle. Quelle famille et taille de machine virtuelle correspondent le mieux à la charge de travail ? Combien de cœurs et combien de mémoire chaque machine virtuelle fournit-elle ?
  • Dimensionnement du pool. Combien de tâches s’exécutent simultanément par nœud (jusqu’à quatre fois le nombre de cœurs de nœud, limité à 256 emplacements de tâches par nœud) ? Compte tenu du nombre maximal de tâches simultanées, combien de nœuds avez-vous besoin ? Comment fractionner la capacité entre les nœuds dédiés et Spot ?
  • Exigence de quota. Multipliez le nombre maximal de nœuds par les cœurs par machine virtuelle pour obtenir les cœurs totaux nécessaires. Comparez ce total à votre quota actuel pour déterminer l’augmentation à demander.
  • Estimation des coûts. Utilisez le taux horaire de la machine virtuelle et l’heure d’exécution attendue pour estimer les coûts quotidiens et mensuels. Pour plus d’informations, consultez Planifier la gestion des coûts pour Azure Batch.

Pour vérifier vos quotas actuels et demander une augmentation, consultez Afficher les quotas Batch et Augmenter un quota. Envoyez des demandes de quota bien à l’avance et commencez par des augmentations modestes et incrémentielles. Les augmentations de quota volumineuses peuvent nécessiter une révision manuelle et peuvent prendre plusieurs jours à plusieurs semaines.

Gérer la capacité de manière proactive

Planifiez la capacité avant de devenir une contrainte :

  • Surveillez l’utilisation du quota. Suivez l’utilisation de base par rapport à votre quota et alerte lorsque l’utilisation approche de la limite, par exemple à 70 à 80%. Pour plus d’informations, consultez Surveiller les solutions Batch.
  • Utilisez la mise à l’échelle automatique. Configurez la mise à l’échelle automatique afin que les pools augmentent et diminuent avec la demande au lieu de contenir un nombre de nœuds surprovisionné fixe. Un modèle courant maintient une base de référence de nœuds dédiés pour une progression garantie, puis s’étend à des nœuds Spot pour obtenir un débit supplémentaire.
  • Répartis entre les régions et les comptes. Distribuez des charges de travail entre plusieurs régions ou comptes Batch pour accéder à une capacité d’agrégation supérieure. Les quotas de service, tels que les tâches actives et les pools, s’appliquent à chaque compte Batch distinct.

Gérer les contraintes de capacité

Même avec une planification préalable, vous pouvez rencontrer des erreurs d’allocation. Concevez votre flux de travail pour qu’il soit résilient :

  • Réessayez et diversifiez. Si un pool ne peut pas atteindre sa taille cible, réessayez après quelques minutes, essayez une autre taille de machine virtuelle ou essayez une autre région. La disponibilité des ressources change au fil du temps.
  • Redéfinir la cible des tâches. Évitez de compter sur un pool statique unique. Vérifiez que vous pouvez recibler des travaux vers un autre pool, éventuellement avec une taille de machine virtuelle différente, si un pool ne peut pas croître. Pour plus d’informations, consultez Azure Batch meilleures pratiques.
  • Concevez en tenant compte de la préemption des nœuds Spot.Les nœuds Spot peuvent être préemptés lorsque Azure a besoin de récupérer de la capacité. Utilisez les nœuds Spot uniquement pour le travail à tolérance de panne et combinez-les avec des nœuds dédiés et une mise à l’échelle automatique afin que le pool se récupère automatiquement.

Pour obtenir des symptômes détaillés, des causes et des résolutions d’erreurs d’allocation et de quota, consultez les conseils de dépannage :

Valider la capacité avant la production

Exécutez une preuve de concept avec un job représentatif, son volume de données attendu et la configuration du pool de production. N’approuvez pas la conception pour la production tant que vous n’avez pas pu enregistrer des preuves pour chaque critère :

Criterion Preuves à enregistrer
Achèvement de la charge de travail La tâche s’exécute correctement avec les dépendances des tâches de production, les packages applicatifs et les chemins de données d’entrée et de sortie.
Échelle et quota Le pool atteint le nombre de nœuds requis dans la région visée sans dépasser le quota de comptes Batch, d’abonnement ou de famille VM.
Performance La durée totale d’exécution de la tâche respecte l’objectif, y compris l’affectation du pool, le transfert des données, le calcul et la persistance des résultats.
Recovery Après une perte de nœud, une défaillance de tâche ou une préemption Spot si utilisée, la tâche reste dans le temps maximal de récupération enregistré et la perte de point de contrôle autorisée, respecte la date limite d’achèvement et utilise avec succès la taille ou le pool de la VM de secours prévu.
Cost Le coût mesuré de calcul, de stockage, de réseau et de licence par tâche achevée atteint l’objectif à la fréquence d’exécution attendue.
Opérations Les alertes signalent une saturation des quotas, des échecs d’allocation et des échecs de tâches, et le propriétaire peut rediriger ou récupérer la charge de travail.

Si un critère échoue, il faut réviser la taille du pool, la sélection de la VM, le chemin de stockage, le comportement de réessayage ou le repli régional et répétez la même tâche. Un petit test fonctionnel n’établit pas la capacité de production car il n’exerce pas l’échelle maximale, le quota ou le mouvement des données.

Bonnes pratiques

Pratique Description
Demander un quota tôt Soumettre des demandes de quota bien à l’avance ; de grandes augmentations peuvent prendre plusieurs jours à plusieurs semaines.
Prévoir une marge de manœuvre Demandez un quota légèrement supérieur à votre pic actuel pour permettre une croissance.
Utiliser plusieurs régions Répartir les charges de travail entre les régions pour accéder à davantage de capacité d’agrégation.
Surveiller l’utilisation Alerte lorsque l’utilisation principale atteint 70 à 80 % de votre quota.
Dimensionner correctement les machines virtuelles Mettre en correspondance la famille de machines virtuelles et la taille de la charge de travail au lieu du surapprovisionnement.
Utiliser Spot avec sagesse Réservez des nœuds Spot pour les charges de travail à tolérance de panne et associez-les à des nœuds dédiés.
Nettoyer les ressources Supprimez les pools inutilisés pour libérer le quota de compte.

Étapes suivantes