Partager via


Réglage de la gestion de l’alimentation du processeur (PPM) pour le plan d’alimentation équilibrée Windows Server

À compter de Windows Server 2008, Windows Server fournit trois plans d’alimentation : Équilibré, Hautes performances et Power Saver. Le plan d’alimentation équilibré est le choix par défaut qui vise à offrir la meilleure efficacité énergétique pour un ensemble de charges de travail serveur standard. Cette rubrique décrit les charges de travail utilisées pour déterminer les paramètres par défaut du schéma équilibré pour les versions précédentes de Windows.

Si vous exécutez un système de serveur qui présente des caractéristiques de charge de travail ou des performances et des besoins en puissance considérablement différents de ces charges de travail, vous pouvez envisager de régler les paramètres d’alimentation par défaut (autrement dit, créer un plan d’alimentation personnalisé). L’une des sources d’informations de réglage utiles est les considérations relatives à l’alimentation matérielle du serveur. Vous pouvez également décider que le plan d’alimentation haute performance est le bon choix pour votre environnement, reconnaissant que vous aurez probablement un impact important sur l’énergie en échange d’un certain niveau de réactivité accrue.

Importante

Vous devez tirer parti des stratégies d’alimentation incluses dans Windows Server, sauf si vous avez besoin de créer une stratégie personnalisée et que vos résultats varient en fonction des caractéristiques de votre charge de travail.

Méthodologie de réglage de l’alimentation du processeur Windows

Charges de travail testées

Les charges de travail sont sélectionnées pour couvrir au mieux un ensemble de charges de travail Windows Server classiques. Évidemment, cet ensemble n’est pas destiné à être représentatif de l’ensemble des environnements serveurs réels.

Le réglage de chaque stratégie d’alimentation est piloté par les cinq charges de travail suivantes démarrées à partir de Windows Server 2008

  • Charge de travail du serveur web IIS

    Un benchmark interne Microsoft appelé Principes de base web est utilisé pour optimiser l’efficacité énergétique des plateformes exécutant iis Web Server. La configuration contient un serveur web et plusieurs clients qui simulent le trafic d’accès web. La distribution des pages web dynamiques, des pages statiques chaudes (en mémoire) et des pages statiques froides (requérant d'accès au disque) est basée sur des études statistiques des serveurs de production. Pour pousser les cœurs du processeur du serveur à une utilisation complète (l'un des extrêmes du spectre testé), l'installation a besoin de ressources réseau et disque suffisamment rapides.

  • Charge de travail de base de données SQL Server

    Le benchmark TPC-E est un benchmark populaire pour l’analyse des performances de base de données. Il est utilisé pour générer une charge de travail OLTP pour les optimisations de réglage du PPM. Cette charge de travail a des E/S de disque importantes, et a donc une exigence élevée en matière de performances pour le système de stockage et la taille de mémoire.

  • Charge de travail du serveur de fichiers

    Un benchmark développé par Microsoft appelé FSCT est utilisé pour générer une charge de travail de serveur de fichiers SMB. Il crée un jeu de fichiers volumineux sur le serveur et utilise de nombreux systèmes clients (réels ou virtualisés) pour générer des opérations d’ouverture, de fermeture, de lecture et d’écriture de fichier. Le mélange d’opérations est basé sur des études statistiques des serveurs de production. Elle sollicite la CPU, le disque et les ressources réseau.

  • SPECpower – Charge de travail JAVA

    SPECpower_ssj2008 est le premier benchmark SPEC standard de l’industrie qui évalue conjointement les caractéristiques de puissance et de performance. Il s’agit d’une charge de travail Java côté serveur avec différents niveaux de charge processeur. Il ne nécessite pas de nombreuses ressources réseau ou disque, mais il a certaines exigences en matière de bande passante mémoire. Presque toutes les activités du processeur sont effectuées en mode utilisateur ; L’activité en mode noyau n’a pas beaucoup d’impact sur les caractéristiques de puissance et de performances des benchmarks, à l’exception des décisions de gestion de l’alimentation.

  • Charge de travail du serveur d’applications

    Le benchmark SAP-SD est utilisé pour générer une charge de travail de serveur d’applications. Une configuration à deux niveaux est utilisée, avec la base de données et le serveur d’applications sur le même hôte de serveur. Cette charge de travail utilise également le temps de réponse comme métrique de performances, qui diffère d’autres charges de travail testées. Ainsi, il est utilisé pour vérifier l’impact des paramètres PPM sur la réactivité. Néanmoins, il n’est pas destiné à être représentatif de toutes les charges de travail de production sensibles à la latence.

Tous les benchmarks à l’exception de SPECpower ont été initialement conçus pour l’analyse des performances et ont donc été créés pour s’exécuter à des niveaux de charge de pointe. Toutefois, les niveaux de charge moyen à léger sont plus courants pour les serveurs de production réels et sont plus intéressants pour les optimisations de plan équilibré. Nous exécutons intentionnellement les benchmarks à différents niveaux de charge de 100% jusqu’à 10% (en 10 étapes%) à l’aide de différentes méthodes de limitation (par exemple, en réduisant le nombre d’utilisateurs/clients actifs).

Les charges de travail ci-dessus utilisent le débit comme métrique de performances pour le réglage. Lors d’un état stable, le débit ne change pas avec des utilisations variables jusqu’à ce que le système soit surchargé (utilisation d’environ 100 %). Par conséquent, le plan d’alimentation équilibré favorise la puissance beaucoup avec la réduction de la fréquence du processeur et l’optimisation de l’utilisation. À partir de Windows Server 2016, l’exigence de temps de réponse rapide a considérablement augmenté. Même si Microsoft a suggéré aux utilisateurs de passer au plan d’alimentation haute performance lorsqu’ils ont besoin d’un temps de réponse rapide, certains utilisateurs ne veulent pas perdre l’avantage d’alimentation pendant les niveaux de charge léger à moyen. Par conséquent, le réglage du PPM Windows Server inclut également des charges de travail sensibles au temps de réponse pour le réglage.

  • GeekBench

    GeekBench est un benchmark de processeur multiplateforme qui sépare les scores pour les performances monocœurs et multicœurs. Il simule un ensemble de charges de travail, notamment des charges de travail entières (chiffrements, compressions, traitement d’images, etc.), des charges de travail à virgule flottante (modélisation, fractal, netteté de l’image, flou d’image, etc.) et des charges de travail de mémoire (streaming).

    Le temps de réponse est une mesure majeure dans son calcul de score. Dans notre système testé, le plan d’alimentation équilibrée par défaut de Windows Server 2008 a une régression de ~18% dans les tests monocœur et de ~40% dans les tests multicœurs par rapport au plan d’alimentation haute performance. Windows Server 2016 supprime ces régressions.

  • DiskSpd

    Diskspd est un outil en ligne de commande pour l’évaluation du stockage développé par Microsoft. Il est largement utilisé pour générer diverses requêtes sur les systèmes de stockage pour l’analyse des performances de stockage.

    Nous avons configuré un [cluster de basculement], et utilisé Diskspd pour générer des E/S aléatoires et séquentielles, et lire et écrire des E/S dans les systèmes de stockage locaux et distants avec des tailles d’E/S différentes. Nos tests montrent que le temps de réponse d’E/S est sensible à la fréquence du processeur sous différents plans d’alimentation. Le plan d’alimentation équilibré Windows Server 2008 par défaut peut doubler le temps de réponse du plan d’alimentation hautes performances sous certaines charges de travail. Windows Server 2016 Balance power plan supprime la plupart des régressions.

Importante

À partir des processeurs Intel [Broadwell] exécutant Windows Server 2016, la plupart des décisions de gestion de l’alimentation du processeur sont prises dans le processeur au lieu du niveau du système d’exploitation pour obtenir une adaptation plus rapide aux modifications de charge de travail. Les paramètres PPM hérités utilisés par le système d’exploitation ont un impact minimal sur les décisions de fréquence réelles, sauf si le processeur doit favoriser la puissance ou les performances, ou limiter les fréquences minimales et maximales. Par conséquent, les résultats de réglage du PPM mentionnés ici ne sont observés que sur les systèmes pré-Broadwell.

Configurations matérielles

Pour chaque version de Windows, les serveurs de production les plus actuels sont utilisés dans le processus d’analyse et d’optimisation du plan d’alimentation. Dans certains cas, les tests ont été effectués sur les systèmes de préproduction dont la planification de mise en production correspond à celle de la prochaine version de Windows.

Étant donné que la plupart des serveurs sont vendus avec des sockets de processeur de 1 à 4, et étant donné que les serveurs de montée en puissance sont moins susceptibles d’avoir une efficacité énergétique comme préoccupation principale, les tests d’optimisation du plan d’alimentation sont principalement exécutés sur des systèmes à 2 sockets et 4 sockets. La quantité de ram, de disque et de ressources réseau pour chaque test est choisie pour permettre à chaque système de s’exécuter jusqu’à sa capacité totale, tout en tenant compte des restrictions de coût qui seraient normalement en place pour les environnements serveur réels, tels que la conservation des configurations raisonnables.

Importante

Même si le système peut s’exécuter à sa charge maximale, nous optimiseons généralement les niveaux de charge inférieurs, car les serveurs qui s’exécutent constamment à leurs niveaux de charge de pointe seraient bien conseillés d’utiliser le plan d’alimentation haute performance , sauf si l’efficacité énergétique est une priorité élevée.

Métriques

Tous les benchmarks testés utilisent le débit comme métrique de performances. Le temps de réponse est considéré comme une exigence sla pour ces charges de travail (à l’exception de SAP, où il s’agit d’une métrique principale). Par exemple, une exécution de benchmark est considérée comme « valide » si la durée de réponse moyenne ou maximale est inférieure à une certaine valeur.

Par conséquent, l’analyse du réglage du PPM utilise également le débit comme métrique de performances. Au niveau de charge le plus élevé (100% utilisation du processeur), notre objectif est que le débit ne doit pas diminuer de plus de quelques pour cent en raison des optimisations de gestion de l’alimentation. Mais la principale considération consiste à maximiser l’efficacité de l’alimentation (comme défini ci-dessous) à des niveaux de charge moyen et faible.

Formule d’efficacité énergétique

L’exécution des cœurs de processeur à des fréquences inférieures réduit la consommation d’énergie. Toutefois, les fréquences inférieures diminuent généralement le débit et augmentent le temps de réponse. Pour le plan d’alimentation équilibré , il existe un compromis intentionnel de réactivité et d’efficacité énergétique. Les tests de charge de travail SAP, ainsi que les contrats SLA de temps de réponse sur les autres charges de travail, vérifient que l’augmentation du temps de réponse ne dépasse pas un certain seuil (5% par exemple) pour ces charges de travail spécifiques.

Remarque

Si la charge de travail est très sensible au temps de réponse, le système doit basculer vers le plan d’alimentation hautes performances ou modifier le plan d’alimentation équilibré pour augmenter la fréquence très agressivement lorsqu’il est en cours d’exécution.

Paramètres par défaut du plan d’alimentation équilibrée Windows Server

À partir des processeurs Intel Broadwell exécutant Windows Server 2016, la gestion de l’alimentation de Windows Server utilise par défaut les P-states (HWP) contrôlés par le matériel d’Intel sur les systèmes Intel. HWP est une nouvelle fonctionnalité pour un contrôle de performances matériel et logiciel coopératif. Lorsque HWP est activé, le processeur surveille l’activité et l’extensibilité, puis sélectionne la fréquence à l'échelle de temps du matériel. Le système d’exploitation n’est plus nécessaire pour surveiller l’activité et sélectionner la fréquence à intervalles réguliers. Le passage à HWP offre plusieurs avantages tels que la réponse rapide, une meilleure connaissance de l’efficacité matérielle de l’alimentation des processeurs et d’autres composants sous TDP.

Pour le système HWP, Windows a toujours la possibilité de définir les états de processeur minimum et maximal pour fournir des contraintes. Il peut également utiliser le paramètre de préférence de performance énergétique (PPE) pour définir l’équilibre entre la puissance et les performances. La valeur inférieure favorise les performances, et la valeur supérieure favorise la puissance. Valeur par défaut 50 pour équilibrer la puissance et les performances.

Paramètre Windows Server 2012R2 et avant Windows Server 2016 et après
HWP activé N/A Intel Broadwell+
Préférence de performance énergétique N/A 50

Pour les systèmes Intel pré-Broadwell ou tous les systèmes qui n’ont pas de prise en charge HWP (par exemple, les serveurs AMD), Windows est toujours en contrôle total et détermine la fréquence du processeur en fonction des paramètres PPM. Les paramètres PPM par défaut dans Windows Server 2012R2 favorisent la puissance trop importante qui pourrait avoir un impact significatif sur les performances de la charge de travail, en particulier pour la charge de travail en rafale. Quatre paramètres PPM ont été modifiés dans Windows Server 2016 RS2 pour permettre à la fréquence d’augmenter plus rapidement autour du niveau de charge moyen.

Paramètre Windows Server 2016 (RS1) et avant Windows Server 2016 (RS2) et après
Seuil d’augmentation des performances du processeur 90 soixante
Seuil de diminution des performances du processeur 80 40
Temps d’augmentation des performances du processeur 3 1
Stratégie d’augmentation des performances du processeur Célibataire Idéal

Les algorithmes de gestion de l’alimentation basés sur l’utilisation du processeur peuvent nuire à la latence des charges de travail nécessitant beaucoup d’E/S ou de réseau. Un processeur logique peut être inactif en attendant l’achèvement des E/S ou les paquets réseau, ce qui rend l’utilisation globale du processeur faible. Pour résoudre ce problème, Windows Server 2019 détecte automatiquement la période de réactivité des E/S et augmente le seuil de fréquence vers un niveau supérieur. Le comportement peut être réglé par les paramètres suivants, peu importe si le système utilise HWP ou non.

Paramètre Avant Windows Server 2019 Windows Server 2019 et après
Seuil d’activation de remplacement de la réactivité du processeur N/A 10
Seuil de désactivation du remplacement de la réactivité du processeur N/A 5
Temps d’activation du remplacement de la réactivité du processeur N/A 1
Temps de désactivation du remplacement de la réactivité du processeur N/A 3
La réactivité du processeur remplace le plafond des préférences de performances énergétiques N/A 100
La réactivité du processeur outrepasse le seuil de performances N/A 100

Suggestions de réglage personnalisées

Si les caractéristiques de votre charge de travail principale diffèrent considérablement des cinq charges de travail utilisées pour le réglage ppm du plan d’alimentation équilibré par défaut, vous pouvez expérimenter en modifiant un ou plusieurs paramètres PPM pour trouver le meilleur ajustement pour votre environnement.

En raison du nombre et de la complexité des paramètres, il peut s’agir d’une tâche difficile, mais si vous recherchez le meilleur compromis entre la consommation d’énergie et l’efficacité de la charge de travail pour votre environnement particulier, cela peut être utile.

Vous trouverez l’ensemble complet des paramètres PPM paramétrables dans le réglage de la gestion de l’alimentation du processeur. Voici quelques-uns des paramètres de puissance les plus simples à utiliser :

Pour le système HWP activé :

  • Préférence de performance énergétique : les valeurs plus importantes favorisent la puissance plus que les performances

Pour un système non HWP :

  • Seuil d’augmentation des performances du processeur et temps d’augmentation des performances du processeur : des valeurs plus importantes ralentissent la réponse perf à une activité accrue

  • Seuil de diminution des performances du processeur : les valeurs volumineuses accélèrent la réponse de l’alimentation aux périodes d’inactivité

  • Temps de baisse des performances du processeur : des valeurs plus élevées diminuent plus progressivement les performances pendant les périodes d’inactivité

  • Stratégie d’augmentation des performances du processeur : la stratégie « Single » ralentit la réponse des performances à une activité accrue et soutenue : la stratégie « Fusée » réagit rapidement à l’augmentation de l’activité

  • Politique de diminution des performances du processeur : la politique "Single" diminue progressivement les performances sur des périodes d'inactivité prolongées ; la politique "Rocket" réduit rapidement la puissance dès le début d'une période d'inactivité

Importante

Avant de commencer des expériences, vous devez d’abord comprendre vos charges de travail, ce qui vous aidera à effectuer les bons choix de paramètres PPM et à réduire l’effort de réglage.

Comprendre les performances et les exigences de puissance élevées

Si votre charge de travail est « en temps réel » (par exemple, susceptible d’avoir des répercussions visibles sur l’utilisateur final) ou a des exigences de réactivité très serrées (par exemple, un courtier en actions) et si la consommation d’énergie n’est pas un critère principal pour votre environnement, vous devez probablement simplement basculer vers le plan d’alimentation Haute performance . Dans le cas contraire, vous devez comprendre les exigences de temps de réponse de vos charges de travail, puis paramétrer les paramètres PPM pour optimiser l’efficacité énergétique possible qui répond toujours à ces exigences.

Comprendre les caractéristiques de charge de travail sous-jacentes

Vous devez connaître vos charges de travail et concevoir les ensembles de paramètres d’expérience pour le réglage. Par exemple, si les fréquences des cœurs de processeur doivent être accélérées (peut-être que vous avez une charge de travail en rafale avec des périodes d’inactivité significatives, mais que vous avez besoin d’une réactivité très rapide lorsqu’une nouvelle transaction arrive), alors la stratégie d’augmentation des performances du processeur peut avoir besoin d’être définie sur « fusée » (ce qui, comme le nom l’indique, tire la fréquence de cœur du processeur sur sa valeur maximale plutôt que de l’augmenter sur une période de temps).

Si votre charge de travail est vraiment en rafale, l’intervalle de vérification PPM peut être réduit pour que la fréquence du processeur commence à monter en puissance plus tôt après l’arrivée d’une rafale. Si votre charge de travail n’a pas une concurrence élevée des threads, alors le stationnement des cœurs peut être activé pour forcer la charge de travail à s’exécuter sur un plus petit nombre de cœurs, ce qui pourrait également améliorer les taux d’accès au cache du processeur.

Si vous souhaitez simplement augmenter les fréquences processeur à des niveaux d’utilisation moyenne (c’est-à-dire pas des niveaux de charge de travail légers), les seuils d’augmentation/diminution des performances du processeur peuvent être ajustés pour ne pas réagir tant que certains niveaux d’activité ne sont pas observés.

Comprendre les comportements périodiques

Il peut y avoir des exigences de performances différentes pour la journée et la nuit ou pendant les week-ends, ou il peut y avoir des charges de travail différentes qui s’exécutent à des moments différents. Dans ce cas, un ensemble de paramètres PPM peut ne pas être optimal pour toutes les périodes. Étant donné que plusieurs plans d’alimentation personnalisés peuvent être conçus, il est possible d’ajuster même pendant différentes périodes et de basculer entre les plans d’alimentation par le biais de scripts ou d’autres moyens de configuration de système dynamique.

Là encore, cela ajoute à la complexité du processus d’optimisation. Il s’agit donc d’une question de la quantité de valeur obtenue à partir de ce type de réglage, ce qui devra probablement être répété lorsqu’il existe des mises à niveau matérielles importantes ou des modifications de charge de travail.

C’est pourquoi Windows fournit un plan d’alimentation équilibré en premier lieu, car dans de nombreux cas, il ne vaut probablement pas la peine d’optimiser manuellement une charge de travail spécifique sur un serveur spécifique.

Voir aussi