Présentation de la configuration de la stratégie
Les paramètres de configuration de stratégie contrôlent la façon dont les ressources sont allouées aux travaux en file d’attente ou en cours d’exécution. Le mode de planification vous permet d’optimiser l’allocation de ressources pour les charges de travail de traitement par lots et MPI volumineuses ou pour les charges de travail de service. Pour plus d’informations sur la modification des options de configuration, consultez Configurer le service hpC Job Scheduler.
Le tableau suivant récapitule les deux modes de planification et leurs configurations par défaut :
Queue | Équilibré | |
---|---|---|
Description | Démarrez les travaux dans l’ordre de file d’attente et essayez d’allouer les ressources maximales demandées aux travaux en cours d’exécution. - Terminer les travaux de priorité la plus élevée dès que possible - Tentative de donner aux travaux leurs ressources maximales demandées - Réduire le temps d’exécution du travail - Attente plus longue dans la file d’attente des travaux de priorité inférieure - Les ressources disponibles sont d’abord utilisées pour répondre à la demande maximale de ressources des travaux en cours d’exécution, puis pour démarrer de nouveaux travaux (lorsque l’allocation de ressources adaptatives (développée/réduite) est activée) |
Essayez de démarrer tous les travaux entrants dès que possible à leur configuration minimale requise pour les ressources. Si des ressources supplémentaires sont disponibles, augmentez les emplois en fonction de la priorité. - Démarrer tous les travaux entrants dès que possible - Commencez par donner à des travaux leurs ressources minimales, puis ajoutez des ressources si possible en équilibrage en fonction de la priorité et des ressources demandées - Réduire le temps d’attente dans la file d’attente des travaux - Les travaux prennent plus de temps - Les ressources peuvent être extraites des travaux en cours d’exécution pour démarrer de nouveaux travaux, même si l’exécution a une priorité plus élevée |
optimisé pour | - Travaux MPI et batch volumineux - Tâches longues - Balayages paramétriques |
- Charges de travail interactives, telles que les travaux d’architecture orientée service (SOA) et les applications de type service - Tâches courtes - Balayages paramétriques |
paramètres supplémentaires |
-
de préemption Valeur par défaut : préemption avec grâce - allocation de ressources adaptatives (croissance/réduction) Valeur par défaut : augmenter et diminuer automatiquement les ressources activées Consultez paramètres en mode file d’attente dans cette rubrique. |
-
de préemption Valeur par défaut : préemption immédiate Remarque : paramètres de préemption ne peuvent être configurés qu’en mode équilibré à partir de HPC Pack 2012 avec Service Pack 1 (SP1). Dans les versions précédentes, en mode équilibré, la préemption est toujours immédiate. - biais priorité Valeur par défaut : biais moyen - intervalle de rééquilibrage Valeur par défaut : 10 secondes Consultez paramètres en mode équilibré dans cette rubrique. |
Paramètres du mode mis en file d’attente
En mode File d’attente, le service HPC Job Scheduler démarre les travaux dans l’ordre de file d’attente et tente d’allouer les ressources maximales demandées aux travaux en cours d’exécution. Les sections suivantes décrivent les paramètres de préemption et d’allocation de ressources adaptatives associés au mode File d’attente.
Préemption du travail
La préemption permet aux travaux de priorité supérieure qui attendent dans la file d’attente de commencer plus tôt en supprimant les ressources d’une priorité inférieure travaux déjà en cours d’exécution. Si vous activez la stratégie Grow by preemption (voir « Allocation de ressources adaptatives » ci-dessous), la préemption sera également utilisée pour augmenter la priorité, en exécutant des travaux vers leur demande de ressource maximale (disponible à partir de HPC Pack 2008 R2 avec Service Pack 2 (SP2).
Note
La propriété préemptable tâche est définie par l’administrateur dans les modèles de travail. Utilisez des modèles de travail pour définir les types de travaux qui peuvent être préemptés ou les ensembles d’utilisateurs qui peuvent envoyer des travaux préemptibles ou non prédéfinis. préemptable ne peut pas être défini lors de l’envoi d’un travail via HPC Cluster Manager, HPC Job Manager, HPC PowerShell ou les outils en ligne de commande HPC. Il est uniquement possible d’effectuer cette opération à l’aide de l’API HPC, si le modèle de travail sélectionné spécifie true et False comme valeurs valides pour la propriété de travail préemptable.
La préemption en mode File d’attente a les options suivantes :
préemption graceful (valeur par défaut) : prenez les ressources du travail préempté au fur et à mesure que ses tâches en cours d’exécution se terminent afin que le travail ne soit pas perdu.
préemption immédiate: prenez les ressources du travail préempté en annulant toutes les tâches en cours d’exécution afin que les ressources puissent être allouées immédiatement au travail de priorité élevée. Pour plus d’informations sur l’annulation des travaux et des tâches, consultez la section Considérations supplémentaires dans Annuler un travail ou une tâche.
préemption au niveau des tâches (introduite dans HPC Pack 2008 R2 avec SP3) : activez la préemption des tâches individuelles au lieu de travaux entiers. Avec les paramètres de préemption immédiat par défaut, le planificateur annule un travail entier si l’une de ses ressources est nécessaire pour un travail de priorité supérieure. Lorsque vous activez la préemption au niveau des tâches, le planificateur annule les tâches individuelles à la place. Par exemple, si un travail de priorité normale exécute 100 tâches sur 1 cœur chacun et qu’un travail de priorité élevée est envoyé qui nécessite 10 cœurs, la préemption au niveau des tâches annule 10 tâches, plutôt que d’annuler l’intégralité du travail. Cette option peut améliorer le débit du travail en minimisant la quantité de rework qui doit être effectuée en raison de la préemption.
Note
À compter de HPC Pack 2012, en mode de planification mis en file d’attente, l’option par défaut pour le comportement de préemption est la préemption immédiate au niveau des tâches, plutôt que la préemption au niveau du travail. Ce comportement par défaut signifie que seules autant de tâches de faible priorité sont préemptées que nécessaire pour fournir les ressources requises pour les travaux de priorité supérieure, plutôt que de préempter toutes les tâches dans les travaux de faible priorité.
Note
À compter de HPC Pack 2012 avec Service Pack 1 (SP1), un travail d’architecture orientée service (SOA) met fin aux tâches une fois la requête actuelle terminée, même s’il existe des demandes supplémentaires à calculer. Dans les versions précédentes de HPC Pack, un travail SOA met fin à ses tâches pour libérer des ressources pour d’autres travaux uniquement une fois que toutes les requêtes sont calculées.
Aucunede préemption : ne pas préemptionner les travaux.
Allocation de ressources adaptative
L’allocation de ressources adaptative ajuste dynamiquement les ressources allouées à un travail en fonction de ses tâches. L’activation des ajustements des ressources peut entraîner une amélioration significative de l’utilisation du cluster et une réduction des temps de file d’attente des travaux, en particulier pour les clusters qui exécutent des travaux composés de plusieurs tâches, telles que des calculs de balayage paramétrique. Seuls les travaux qui contiennent plusieurs tâches ou tâches subordonnées peuvent tirer parti de l’ajustement automatique des ressources.
L’allocation adaptative a les paramètres suivants qui peuvent être activés ou désactivés :
Augmenter automatiquement les ressources (activées par défaut) : utilisez les ressources disponibles pour augmenter la priorité, en exécutant des travaux au maximum avant de commencer les travaux de priorité inférieure. Avec la croissance automatique activée, le service HPC Job Scheduler peut allouer des ressources gratuites à des travaux en cours d’exécution qui ont des tâches supplémentaires à exécuter. Le service n’alloue pas plus de ressources que le maximum demandé pour le travail. Cela entraîne des travaux qui passent plus de temps dans la file d’attente en attente de ressources, mais ils se terminent plus rapidement après leur démarrage. Les ressources disponibles sont allouées en premier au travail de priorité la plus élevée dans le système, que ce travail soit en cours d’exécution ou mis en file d’attente.
- Développer par préemption (introduite dans HPC Pack 2008 R2 avec SP2) : pour augmenter la priorité des travaux en cours d’exécution au maximum, utilisez la préemption pour retirer les ressources de la priorité inférieure, en exécutant des travaux. La préemption doit être activée pour utiliser ce paramètre.
Réduire automatiquement les ressources (activée par défaut) : avec la réduction automatique activée, le service HpC Job Scheduler peut libérer les ressources inutilisées des travaux en cours d’exécution qui n’ont aucune tâche supplémentaire à exécuter. Le service ne réduit pas les ressources en dessous du minimum demandé pour le travail. La réduction automatique entraîne une meilleure utilisation globale du cluster, mais cela peut entraîner des problèmes si vous ajoutez des tâches à des travaux déjà en cours.
Note
Dans le modèle de travail par défaut, les propriétés du travail Calcul automatique maximum et Calcul automatique minimaman sont définies sur une valeur par défaut de True. Si un modèle de travail spécifie que True est la seule valeur valide pour ces propriétés, l’utilisateur soumis n’aura pas la possibilité de spécifier des ressources maximales et minimales pour un travail soumis avec ce modèle, et les ressources seront automatiquement calculées en fonction des tâches du travail.
Paramètres en mode équilibré
En mode équilibré, le service HPC Job Scheduler tente de démarrer tous les travaux entrants dès que possible à leur configuration minimale requise pour les ressources. Une fois que tous les travaux de la file d’attente ont leurs ressources minimales, des ressources de cluster supplémentaires sont allouées aux travaux en fonction de leur priorité. L’allocation de ressources est rééquilibrée régulièrement pour remplir les ressources inactives, démarrer de nouveaux travaux et ajuster l’allocation en fonction du paramètre Priority Bias. Les sections suivantes décrivent les paramètres associés au mode équilibré.
Note
- La planification équilibrée est limitée dans les situations où les groupes de nœuds se chevauchent. Le mode équilibré est plus efficace dans les groupes de nœuds qui ne se chevauchent pas.
- Si vous spécifiez qu’un travail doit s’exécuter sur un seul nœud (disponible à partir de HPC Pack 2012), l’équilibrage effectué par le service hpC Job Scheduler peut être limité par d’autres travaux qui s’exécutent sur le cluster.
Préemption du travail
La préemption en mode équilibré permet aux travaux qui attendent dans la file d’attente de commencer plus tôt en supprimant les ressources des travaux préemptibles déjà en cours d’exécution.
Important
Les paramètres de préemption en mode équilibré ne peuvent être configurés que par un administrateur HPC à partir de HPC Pack 2012 avec Service Pack 1 (SP1). Dans les versions précédentes de HPC Pack, la préemption en mode équilibré est toujours immédiate.
Note
La propriété préemptable tâche est définie par l’administrateur dans les modèles de travail. Utilisez des modèles de travail pour définir les types de travaux qui peuvent être préemptés ou les ensembles d’utilisateurs qui peuvent envoyer des travaux préemptibles ou non prédéfinis. préemptable ne peut pas être défini lors de l’envoi d’un travail via HPC Cluster Manager, HPC Job Manager, HPC PowerShell ou les outils en ligne de commande HPC. Il est uniquement possible d’effectuer cette opération à l’aide de l’API HPC, si le modèle de travail sélectionné spécifie true et False comme valeurs valides pour la propriété de travail préemptable. (La valeur par défaut est True.)
La préemption en mode équilibré a les options suivantes :
préemption immédiate (valeur par défaut) : prenez les ressources du travail préempté en annulant et en remettant en file d’attente suffisamment de tâches en cours d’exécution afin que les ressources puissent être allouées immédiatement à un autre travail. Pour la plupart des charges de travail de cluster, la préemption immédiate en mode équilibré permet à d’autres travaux de démarrer dans une période donnée. Pour cette raison, il est recommandé dans la plupart des cas d’obtenir une planification équilibrée.
préemption graceful: prenez les ressources du travail préempté au fur et à mesure que ses tâches en cours d’exécution se terminent afin que le travail ne soit pas perdu. Il s’agit d’un paramètre avancé qui ne doit être activé que pour des charges de travail spécifiques. Par exemple, il peut être pris en compte lors de l’utilisation du mode équilibré avec des travaux d’architecture orientée service (SOA) constitués de tâches longues, où il est essentiel de conserver les résultats retunés par chaque tâche intermédiaire.
Prudence
La préemption appropriée en mode équilibré peut ralentir le temps de réponse du démarrage d’un nouveau travail et réduire la vitesse d’équilibrage. Le cluster doit être soigneusement testé et surveillé lorsque la préemption appropriée en mode équilibré est activée. Pour plus d’informations, consultez les considérations supplémentaires suivantes.
considérations supplémentaires relatives à la préemption en mode équilibré
vitesse d’équilibrage mode équilibré tente d’équilibrer les travaux le plus rapidement possible, à l’aide d’une préemption immédiate par défaut. Si vous choisissez d’activer la préemption appropriée en mode équilibré, l’équilibrage peut uniquement avoir lieu à la vitesse à laquelle les tâches se terminent. S’il existe des tâches longues sur le cluster, l’équilibrage peut prendre beaucoup de temps. Si le taux de travaux entrants dépasse le taux des tâches sortantes, le cluster s’équilibre uniquement lorsque des tâches suffisantes ont quitté pour réallouer les ressources.
utilisation des ressources Par défaut en mode équilibré, le service hpC Job Scheduler préempt immédiatement les tâches pour libérer les ressources (telles que les cœurs, les nœuds ou les sockets) nécessaires à tout travail en attente. Toutefois, si la préemption appropriée est activée, les ressources sont libérées au fur et à mesure que les tâches quittent, quelles que soient les exigences de ressources d’un travail en attente. Il est possible que les ressources libérées ne soient pas celles qui sont requises par le travail en attente suivant et que les ressources restent inactives jusqu’à ce que d’autres tâches se terminent.
Biais de priorité
Priority Bias contrôle la façon dont des ressources supplémentaires sont allouées aux travaux. En mode équilibré, « ressources supplémentaires » fait référence à la ressource de cluster au-dessus du nombre total de ressources minimales pour tous les travaux en cours d’exécution. Les tâches qui s’exécutent sur des ressources supplémentaires peuvent être annulées avec une préemption immédiate pour prendre en charge de nouveaux travaux ou pour converger sur le modèle d’allocation souhaité.
priority Bias propose les options suivantes :
High Bias: toutes les ressources supplémentaires sont allouées à des travaux de priorité supérieure.
biais moyen (valeur par défaut) : chaque bande de priorité reçoit une proportion plus élevée de ressources supplémentaires que la bande située en dessous. Les bandes de priorité sont plus haut, au-dessus dunormal, normal, en dessous dunormal et le plus bas.
Aucun biais: des ressources supplémentaires sont allouées de façon égale dans la file d’attente de travaux.
Intervalle de rééquilibrage
L’intervalle de rééquilibrage représente le temps, en secondes, entre les passes de rééquilibrage. La valeur par défaut est de 10 secondes.
Un intervalle plus long peut améliorer les performances du planificateur, mais il peut prendre plus de temps pour répondre aux nouveaux travaux et converger sur le modèle d’allocation souhaité. Les intervalles plus longs sont bons si vous n’avez pas besoin de croissance instantanée et de réduction. Si votre cluster a un taux de traitement élevé (les travaux sont envoyés fréquemment et se terminent rapidement), vous souhaiterez peut-être un intervalle plus long pour éviter une croissance et une réduction excessives.
Un intervalle de rééquilibrage plus court fournit une réponse plus rapide lorsque de nouveaux travaux sont envoyés, au coût d’une charge supplémentaire sur le nœud principal. Les autres paramètres que vous pouvez ajuster si vous avez besoin de réponses plus rapides sont la période d’annulation de la tâche de tâche et le délai d’expiration de la tâche de mise en production, ce qui peut entraîner un temps plus long pour que le travail en cours d’exécution soit poussé hors de la route.
Références supplémentaires
configuration du planificateur de travaux dans microsoft HPC Pack