Optimierung der Prozessorenergieverwaltung (Processor Power Management, PPM) für den Windows Server-Energiesparplan „Ausgeglichen“

Ab Windows Server 2008 bietet Windows Server drei Energiesparpläne: Ausgeglichen, Hohe Leistung und Energiesparmodus. Der Energiesparplan Ausgeglichen ist die Standardoption, die darauf ausgelegt ist, die beste Energieeffizienz für eine Reihe typischer Serverworkloads zu erzielen. In diesem Thema werden die Workloads beschrieben, mit deren Hilfe die Standardeinstellungen für das Schema Ausgeglichen für die letzten Versionen von Windows bestimmt wurden.

Wenn Sie ein Serversystem ausführen, dessen Workloadmerkmale oder Leistungs- und Energieanforderungen sich erheblich von diesen Workloads unterscheiden, sollten Sie die Standardenergieeinstellungen ggf. optimieren (d. h. einen benutzerdefinierten Energiesparplan erstellen). Nützliche Optimierungsinformationen finden Sie u. a. unter Überlegungen zum Energiebedarf von Serverhardware. Alternativ entscheiden Sie vielleicht, dass der Energiesparplan Hohe Leistung die richtige Wahl für Ihre Umgebung ist. Dabei sind Sie sich bewusst, dass die Reaktionsfähigkeit in gewissem Maße höher ist, Sie aber wahrscheinlich einen erheblichen Energieverlust in Kauf nehmen müssen.

Wichtig

Es empfiehlt sich, die in Windows Server enthaltenen Energierichtlinien zu nutzen, es sei denn, Sie müssen eine benutzerdefinierte Richtlinie erstellen und wissen, dass Ihre Ergebnisse von den Merkmalen Ihrer Workload abhängen.

Methodik zur Optimierung der Windows-Prozessorleistung

Getestete Workloads

Die Workloads werden so ausgewählt, dass sie „typische“ Windows Server-Workloads bestmöglich abdecken. Natürlich sind diese Workloads nicht repräsentativ für die gesamte Bandbreite realer Serverumgebungen.

Die Optimierung in jeder Energierichtlinie wird durch die folgenden fünf Workloads ab Windows Server 2008 gesteuert:

  • IIS-Webserverworkload

    Eine interne Microsoft-Benchmark namens „Webgrundlagen“ wird verwendet, um die Energieeffizienz von Plattformen zu optimieren, auf denen der IIS-Webserver ausgeführt wird. Das Setup enthält einen Webserver und mehrere Clients, die den Webzugriffsdatenverkehr simulieren. Die Verteilung von dynamischen, statischen heißen Webseiten (im Arbeitsspeicher) und statischen kalten Webseiten (Datenträgerzugriff erforderlich) basiert auf statistischen Untersuchungen von Produktionsservern. Um die CPU-Kerne des Servers voll auszulasten (ein Ende des getesteten Spektrums), sind für das Setup ausreichend schnelle Netzwerk- und Datenträgerressourcen erforderlich.

  • SQL Server-Datenbankworkload

    Die Benchmark TPC-E ist eine beliebte Benchmark für die Analyse der Datenbankleistung. Sie wird verwendet, um eine OLTP-Workload für die PPM-Optimierung zu generieren. Diese Workload weist erhebliche Datenträger-E/A-Vorgänge auf und stellt daher eine hohe Leistungsanforderung an das Speichersystem und die Arbeitsspeichergröße.

  • Dateiserverworkload

    Eine von Microsoft entwickelte Benchmark namens FSCT wird zum Generieren einer SMB-Dateiserverworkload verwendet. Sie erstellt eine umfangreiche Dateigruppe auf dem Server und nutzt viele (tatsächliche oder virtualisierte) Clientsysteme, um Vorgänge zum Öffnen, Schließen, Lesen und Schreiben von Dateien zu generieren. Der Vorgangsmix basiert auf statistischen Untersuchungen von Produktionsservern. Er beansprucht CPU-, Festplatten- und Netzwerkressourcen.

  • SPECpower – JAVA workload

    SPECpower_ssj2008 ist die erste branchenübliche SPEC-Benchmark, die Energie- und Leistungsmerkmale gemeinsam bewertet. Es handelt sich um eine serverseitige Java-Workload mit unterschiedlichen CPU-Auslastungsstufen. Es sind nicht viele Datenträger- oder Netzwerkressourcen erforderlich, aber es gelten bestimmte Anforderungen an die Speicherbandbreite. Fast die gesamte CPU-Aktivität wird im Benutzermodus ausgeführt. Die Aktivität im Kernelmodus hat keine große Auswirkung auf die Energie- und Leistungsmerkmale der Benchmarks, mit Ausnahme der Entscheidungen zur Energieverwaltung.

  • Anwendungsserverworkload

    Die Benchmark SAP-SD wird verwendet, um eine Anwendungsserverworkload zu generieren. Es wird ein zweistufiges Setup verwendet, bei dem sich die Datenbank und der Anwendungsserver auf demselben Serverhost befinden. Diese Workload nutzt außerdem die Antwortzeit als Leistungsmetrik. In diesem Punkt unterscheidet sie sich von anderen getesteten Workloads. Daher wird sie verwendet, um die Auswirkungen von PPM-Parametern auf die Reaktionsfähigkeit zu überprüfen. Sie ist jedoch nicht repräsentativ für alle latenzempfindlichen Produktionsworkloads.

Alle Benchmarks mit Ausnahme von SPECpower waren ursprünglich für die Leistungsanalyse konzipiert und wurden daher für die Ausführung bei Spitzenlast entwickelt. Mittlere bis leichte Auslastungsstufen sind bei realen Produktionsservern jedoch gängiger und daher interessanter für Optimierungen des Plans Ausgeglichen. Wir führen die Benchmarks absichtlich mit unterschiedlichen Auslastungsstufen von 100 % bis 10 % (in Schritten von 10 %) durch, indem wir verschiedene Drosselungsmethoden verwenden (z. B. durch Reduzierung der Anzahl aktiver Benutzer*innen/Clients).

Die oben genannten Workloads nutzen den Durchsatz als Leistungsmetrik für die Optimierung. Im stabilen Zustand ändert sich der Durchsatz bei unterschiedlichen Auslastungen erst, wenn das System überlastet ist (~100 % Auslastung). Im Energiesparplan „Ausgeglichen“ wird die Prozessorfrequenz minimiert und die Auslastung maximiert, um Energie zu sparen. Ab Windows Server 2016 sind die Anforderungen an eine kurze Antwortzeit drastisch gestiegen. Microsoft hat zwar Benutzer*innen vorgeschlagen, auf den Energiesparplan „Hohe Leistung“ umzustellen, wenn eine kurze Antwortzeit erforderlich ist, aber einige Benutzer*innen möchten bei leichten bis mittleren Auslastungsstufen nicht auf den Leistungsvorteil verzichten. Daher umfasst die PPM-Optimierung von Windows Server auch antwortzeitempfindliche Workloads für die Optimierung.

  • GeekBench 3

    GeekBench 3 ist eine plattformübergreifende Prozessorbenchmark, die die Bewertungen für die Leistung für einen Kern oder mehrere Kerne trennt. Sie simuliert eine Reihe von Workloads, einschließlich Workloads mit ganzen Zahlen (Verschlüsselungen, Komprimierungen, Bildverarbeitung usw.), Workloads mit Gleitkommazahlen (Modellierung, Fraktale, Bildschärfung, unscharfe Bilddarstellung usw.) und Arbeitsspeicherworkloads (Streaming).

    Die Antwortzeit ist ein wichtiges Maß bei der Bewertungsberechnung. Bei unserem getesteten System tritt beim Standardenergiesparplan „Ausgeglichen“ von Windows Server 2008 eine Regression von ca. 18 % in Single-Core-Tests und eine Regression von ca. 40 % in Multi-Core-Tests im Vergleich zum Energiesparplan Hohe Leistung auf. Diese Regressionen treten in Windows Server 2016 nicht mehr auf.

  • DiskSpd

    Diskspd ist ein von Microsoft entwickeltes Befehlszeilentool für Speicherbenchmarks. Es wird häufig verwendet, um verschiedene Anforderungen für Speichersysteme für die Speicherleistungsanalyse zu generieren.

    Wir haben einen [Failovercluster] eingerichtet und Diskspd verwendet, um zufällige und sequenzielle E/As sowie Lese- und Schreib-E/As auf den lokalen Speichersystemen und Remotespeichersystemen mit unterschiedlichen E/A-Größen zu generieren. Unsere Tests zeigen, dass die E/A-Antwortzeit unter verschiedenen Energiesparplänen empfindlich auf die Prozessorfrequenz reagiert. Im Standardenergiesparplan „Ausgeglichen“ von Windows Server 2008 kann sich die Antwortzeit im Vergleich zum Energiesparplan Hohe Leistung in bestimmten Workloads verdoppeln. Die Regressionen treten im Energiesparplan „Ausgeglichen“ von Windows Server 2016 nicht mehr auf.

Wichtig

Ab Intel [Broadwell]-Prozessoren, auf denen Windows Server 2016 ausgeführt wird, werden die meisten Entscheidungen zur Prozessorenergieverwaltung auf Prozessor- und nicht auf Betriebssystemebene getroffen, um eine schnellere Anpassung an Workloadänderungen zu erreichen. Die vom Betriebssystem verwendeten PPM-Legacyparameter haben nur minimale Auswirkungen auf die tatsächlichen Frequenzentscheidungen. Sie teilen dem Prozessor lediglich mit, ob Energieeffizienz oder Leistung im Vordergrund stehen soll, oder begrenzen die Minimal- und Maximalfrequenz. Daher werden die hier erwähnten PPM-Optimierungsergebnisse nur auf Systemen vor Broadwell beobachtet.

Hardwarekonfigurationen

Für jedes Release von Windows werden die aktuellsten Produktionsserver bei der Analyse und Optimierung von Energiesparplänen verwendet. In einigen Fällen wurden die Tests auf Vorproduktionssystemen durchgeführt, deren Releasezeitplan mit dem der nächsten Windows-Version übereinstimmte.

Da die meisten Server mit ein bis vier Prozessorsockeln verkauft werden und die Energieeffizienz bei hochskalierten Servern wahrscheinlich weniger wichtig ist, werden die Tests zur Optimierung der Energiesparpläne in erster Linie auf Systemen mit zwei und vier Sockeln ausgeführt. Die Menge an RAM-, Datenträger- und Netzwerkressourcen für jeden Test wird so gewählt, dass jedes System bis zu seiner vollen Kapazität ausgeführt werden kann. Dabei werden die Kostenbeschränkungen berücksichtigt, die normalerweise für reale Serverumgebungen gelten, etwa die Beibehaltung angemessener Konfigurationen.

Wichtig

Obwohl das System bei Spitzenauslastung ausgeführt werden kann, erfolgt die Optimierung in der Regel für niedrigere Auslastungsstufen, da es für Server, die konsistent mit Spitzenauslastung ausgeführt werden, ratsam wäre, den Energiesparplan Hohe Leistung zu verwenden, es sei denn, Energieeffizienz hat hohe Priorität.

Metriken

Alle getesteten Benchmarks verwenden den Durchsatz als Leistungsmetrik. Die Antwortzeit wird als SLA-Anforderung für diese Workloads betrachtet (mit Ausnahme von SAP, wo es sich um eine primäre Metrik handelt). Beispielsweise gilt eine Benchmarkausführung als „gültig“, wenn die mittlere oder maximale Antwortzeit geringer als ein bestimmter Wert ist.

Daher wird auch bei der PPM-Optimierungsanalyse der Durchsatz als Leistungsmetrik verwendet. Bei höchster Auslastungsstufe (CPU-Auslastung von 100 %) ist unser Ziel, dass der Durchsatz aufgrund von Energieverwaltungsoptimierungen nicht mehr als ein paar Prozent abnimmt. Das Hauptaugenmerk liegt jedoch auf der Maximierung der Energieeffizienz (wie unten definiert) bei mittlerer und niedriger Auslastungsstufe.

power efficiency formula

Die Ausführung der CPU-Kerne mit niedrigeren Frequenzen senkt den Energieverbrauch. Niedrigere Frequenzen verringern jedoch in der Regel den Durchsatz und erhöhen die Antwortzeit. Für den Energiesparplan Ausgeglichen gibt es einen gewollten Kompromiss zwischen Reaktionsfähigkeit und Energieeffizienz. Die SAP-Workloadtests sowie die Antwortzeit-SLAs für die anderen Workloads stellen sicher, dass die Erhöhung der Antwortzeit einen bestimmten Schwellenwert (beispielsweise 5 %) für diese spezifischen Workloads nicht überschreitet.

Hinweis

Wenn die Workload sehr empfindlich auf die Antwortzeit reagiert, sollte das System entweder auf den Energiesparplan Hohe Leistung umgestellt werden oder der Energiesparplan Ausgeglichen so geändert werden, dass die Frequenz bei der Ausführung sehr aggressiv erhöht wird.

Standardparameter für den Energiesparplan „Ausgeglichen“ von Windows Server

Ab Intel Broadwell-Prozessoren, auf denen Windows Server 2016 ausgeführt wird, verwendet die Windows Server-Energieverwaltung standardmäßig Hardware Controlled P-states (HWP) von Intel auf Intel-Systemen. HWP sind eine neue Funktion für eine kooperative Kontrolle der Hardware- und Softwareleistung. Wenn HWP aktiviert sind, überwacht die CPU die Aktivität und Skalierbarkeit und wählt die Frequenz im Rahmen der Hardwarezeitskala aus. Das Betriebssystem ist nicht mehr erforderlich, um die Aktivität zu überwachen und die Frequenz in regelmäßigen Abständen auszuwählen. Die Umstellung auf HWP hat mehrere Vorteile, etwa schnelle Reaktion sowie bessere Kenntnis der Hardwareenergieeffizienz von Prozessoren und anderen Komponenten unter TDP.

Beim HWP-System besteht unter Windows weiterhin die Möglichkeit, den minimalen und maximalen Prozessorstatus festzulegen, um Einschränkungen zu ermöglichen. Mit dem Parameter EPP (Energy Performance Preference, bevorzugte Prozessorenergieeffizenz) lässt sich außerdem ein ausgewogenes Verhältnis zwischen Energie und Leistung einstellen. Ein niedrigerer Wert begünstigt die Leistung, während ein höherer Wert die Energieeffizienz begünstigt. Der Standardwert ist 50; hierbei befinden sich Energieeffizienz und Leistung im Gleichgewicht.

Parameter Windows Server 2012R2 und frühere Versionen Windows Server 2016 und höhere Versionen
HWP-Aktivierung Intel Broadwell+
Bevorzugte Prozessorenergieeffizenz 50

Bei Intel-Systemen vor Broadwell oder Systemen ohne HWP-Unterstützung (z. B. AMD-Server) hat Windows weiterhin die volle Kontrolle und bestimmt die Prozessorfrequenz basierend auf den PPM-Parametern. Bei den PPM-Standardparametern unter Windows Server 2012R2 steht die Energieeffizienz zu sehr im Vordergrund. Dies kann sich erheblich auf die Leistung der Workload auswirken, insbesondere bei Workloads mit Auslastungsspitzen. Vier PPM-Parameter wurden unter Windows Server 2016 RS2 geändert, um die Frequenz bei mittlerer Auslastung schneller zu erhöhen.

Parameter Windows Server 2016 (RS1) und frühere Versionen Windows Server 2016 (RS1) und höhere Versionen
Schwellenwert für die Erhöhung der Prozessorleistung 90 60
Schwellenwert für die Senkung der Prozessorleistung 80 40
Zeit für die Erhöhung der Prozessorleistung 3 1
Richtlinie für die Erhöhung der Prozessorleistung Single Ideal

Die auf der CPU-Auslastung basierenden Energieverwaltungsalgorithmen können die Latenz von E/A-Vorgängen oder netzwerkintensiven Workloads beeinträchtigen. Ein logischer Prozessor kann sich im Leerlauf befinden, während er auf den Abschluss von E/A-Vorgängen oder Netzwerkpaketen wartet, wodurch die CPU-Auslastung insgesamt niedrig ist. Um dieses Problem zu beheben, erkennt Windows Server 2019 automatisch den E/A-Reaktionfähigkeitszeitraum und setzt die Frequenzuntergrenze auf eine höhere Stufe. Das Verhalten kann mit den folgenden Parametern optimiert werden, unabhängig davon, ob das System HWP verwendet oder nicht.

Parameter Vor Windows Server 2019 Windows Server 2019 und höhere Versionen
Aktivierungsschwellenwert für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors 10
Deaktivierungsschwellenwert für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors N/V 5
Aktivierungszeit für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors 1
Deaktivierungszeit für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors 3
Energieeffizienzobergrenze für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors 100
Leistungsuntergrenze für die Außerkraftsetzung der Reaktionsfähigkeit des Prozessors 100

Vorschläge für die benutzerdefinierte Optimierung

Wenn sich die Merkmale Ihrer primären Workload erheblich von den fünf Workloads unterscheiden, die für die PPM-Optimierung des Standardenergiesparplans Ausgeglichen verwendet werden, können Sie experimentieren, indem Sie PPM-Parameter ändern, um die beste Lösung für Ihre Umgebung zu finden.

Aufgrund der Anzahl und Komplexität der Parameter kann dies eine schwierige Aufgabe sein. Wenn Sie nach dem besten Kompromiss zwischen Energieverbrauch und Workloadeffizienz für Ihre spezielle Umgebung suchen, kann sich dies jedoch lohnen.

Den vollständigen Satz von optimierbaren PPM-Parametern finden Sie unter Processor power management in Windows 7 and Windows Server 2008 R2 (Prozessorenergieverwaltung unter Windows 7 und Windows Server 2008 R2). Einige der einfachsten Parameter für die Energieverwaltung für den Einstieg:

HWP-fähiges System:

  • Bevorzugte Prozessorenergieeffizenz: Bei höheren Werten wird die Energieeffizienz gegenüber der Leistung bevorzugt.

System ohne HWP:

  • Schwellenwert für die Erhöhung der Prozessorleistung und Zeit für die Erhöhung der Prozessorleistung: Höhere Werte führen dazu, dass die Leistung bei höherer Aktivität langsamer angepasst wird.

  • Schwellenwert für die Senkung der Prozessorleistung: Hohe Werte führen dazu, dass die Energie bei Leerlaufzeiten schneller angepasst wird.

  • Zeit für die Senkung der Prozessorleistung: Höhere Werte führen dazu, dass die Leistung bei Leerlaufzeiten allmählich schrittweise verringert wird.

  • Richtlinie für die Erhöhung der Prozessorleistung: Die Richtlinie „Single“ führt dazu, dass die Leistung bei höherer und anhaltender Aktivität langsamer angepasst wird. Die Richtlinie „Rocket“ reagiert schnell auf höhere Aktivität.

  • Richtlinie für die Senkung der Prozessorleistung: Die Richtlinie „Single“ führt dazu, dass die Leistung bei langen Leerlaufzeiten allmählich schrittweise verringert wird. Mit der Richtlinie „Rocket“ sinkt der Energieverbrauch bei Eintritt in eine Leerlaufphase sehr schnell.

Wichtig

Bevor Sie mit Experimenten beginnen, sollten Sie zunächst Ihre Workloads verstehen. Dies hilft Ihnen, die richtigen PPM-Parameter auszuwählen und den Optimierungsaufwand zu reduzieren.

Grundlegendes zu allgemeinen Leistungs- und Energieanforderungen

In den folgenden Fällen empfiehlt es sich wahrscheinlich, einfach zum Energiesparplan Hohe Leistung zu wechseln: Es handelt sich um eine Workload in Echtzeit (die etwa anfällig für Störungen oder andere spürbare Auswirkungen auf Endbenutzer*innen ist), für die Workload gelten sehr strenge Anforderungen hinsichtlich der Reaktionszeit (z. B. Börsenmakler), und der Energieverbrauch ist kein Hauptkriterium für Ihre Umgebung. Andernfalls müssen Sie sich mit den Anforderungen an die Antwortzeit Ihrer Workloads vertraut machen und dann die PPM-Parameter optimieren, um die bestmögliche Energieeffizienz zu erzielen, die dennoch diese Anforderungen erfüllt.

Grundlegendes zu den zugrunde liegenden Workloadmerkmalen

Sie sollten Ihre Workloads kennen und die Experimentparametersätze für die Optimierung entsprechend entwerfen. Wenn beispielsweise die Frequenzen der CPU-Kerne schnell erhöht werden müssen (vielleicht haben Sie eine Workload mit Auslastungsspitzen und erheblichen Leerlaufphasen, benötigen aber bei Eingang einer neuen Transaktion eine sehr schnelle Reaktion), muss die Richtlinie für die Erhöhung der Prozessorleistung möglicherweise auf „Rocket“ festgelegt werden. Wie der Name schon sagt, wird damit die CPU-Kernfrequenz nicht schrittweise über einen bestimmten Zeitraum, sondern umgehend auf ihren maximalen Wert erhöht.

Wenn Ihre Workload stark schwankt, kann das PPM-Überprüfungsintervall verkürzt werden, damit die CPU-Frequenz nach einer Auslastungsspitze schneller erhöht wird. Wenn Ihre Workload keine hohe Threadparallelität aufweist, kann das Parken von Kernen aktiviert werden, um die Ausführung der Workload auf einer kleineren Anzahl von Kernen zu erzwingen. Dadurch können möglicherweise auch die Trefferquoten im Prozessorcache verbessert werden.

Wenn Sie nur die CPU-Frequenzen bei mittlerer Auslastung (d. h. nicht bei leichter Workloadauslastung) erhöhen möchten, können die Schwellenwerte zur Erhöhung/Senkung der Prozessorleistung so angepasst werden, dass erst eine Reaktion erfolgt, wenn bestimmte Aktivitätsstufen beobachtet werden.

Grundlegendes zu regelmäßigen Verhaltensweisen

Für Tages- und Nachtzeiten oder für Wochenenden können unterschiedliche Leistungsanforderungen gelten, oder es gibt verschiedene Workloads, die zu unterschiedlichen Zeiten ausgeführt werden. In diesem Fall ist ein Satz von PPM-Parametern möglicherweise nicht für alle Zeiträume optimal. Da mehrere benutzerdefinierte Energiesparpläne entwickelt werden können, ist es möglich, sogar eine Optimierung für verschiedene Zeiträume vorzunehmen und mithilfe von Skripts oder anderen Möglichkeiten zur dynamischen Systemkonfiguration zwischen Energiesparplänen zu wechseln.

Dies trägt ebenfalls zu einer höheren Komplexität des Optimierungsprozesses bei. Daher stellt sich die Frage, wie nützlich diese Art der Optimierung ist, die wahrscheinlich wiederholt werden muss, wenn es signifikante Hardwareupgrades oder Workloadänderungen gibt.

Aus diesem Grund bietet Windows überhaupt den Energiesparplan Ausgeglichen, da sich in vielen Fällen die manuelle Optimierung für eine bestimmte Workload auf einem bestimmten Server wahrscheinlich nicht lohnt.

Weitere Informationen