Dela via


PPM-justering (Processor Power Management) för Windows Server Balanced Power Plan

Från och med Windows Server 2008 har Windows Server tre energischeman: Balanced, High Performance och Power Saver. Den balanserade energiplanen är standardvalet som syftar till att ge bästa energieffektivitet för en uppsättning typiska serverarbetsbelastningar. I det här avsnittet beskrivs de arbetsbelastningar som har använts för att fastställa standardinställningarna för det balanserade schemat för de senaste versionerna av Windows.

Om du kör ett serversystem som har dramatiskt olika arbetsbelastningsegenskaper eller prestanda- och energikrav än dessa arbetsbelastningar kanske du vill överväga att justera standardinställningarna för energisparfunktioner (dvs. skapa en anpassad energiplan). En källa till användbar justeringsinformation är energiöverväganden för servermaskinvara. Alternativt kan du bestämma dig för att energiplanen med höga prestanda är rätt val för din miljö, med tanke på att du sannolikt kommer att ta en betydande energiträff i utbyte mot en viss nivå av ökad svarstid.

Important

Du bör använda de energiprinciper som ingår i Windows Server om du inte har ett specifikt behov av att skapa en anpassad och har en mycket god förståelse för att dina resultat varierar beroende på arbetsbelastningens egenskaper.

Power Tuning-metodik för Windows-processor

Testade arbetsbelastningar

Arbetsbelastningar väljs för att täcka en uppsättning "typiska" Windows Server-arbetsbelastningar. Uppenbarligen är den här uppsättningen inte avsedd att vara representativ för hela bredden av verkliga servermiljöer.

Justeringen i varje energiprincip är data som drivs av följande fem arbetsbelastningar som startats från Windows Server 2008

  • Arbetsbelastning för IIS-webbserver

    Ett internt Microsoft-riktmärke med namnet Web Fundamentals används för att optimera energieffektiviteten för plattformar som kör IIS-webbserver. Konfigurationen innehåller en webbserver och flera klienter som simulerar webbåtkomsttrafiken. Fördelningen av webbsidor med dynamisk, statisk frekvent (minnesintern) och statisk kyla (diskåtkomst krävs) baseras på statistiska studier av produktionsservrar. För att push-överföra serverns CPU-kärnor till full användning (ena änden av det testade spektrumet) behöver installationen tillräckligt snabba nätverks- och diskresurser.

  • SQL Server Database-arbetsbelastning

    TPC-E-benchmark är ett populärt riktmärke för databasprestandaanalys. Den används för att generera en OLTP-arbetsbelastning för PPM-justeringsoptimeringar. Den här arbetsbelastningen har betydande disk-I/O och har därför höga prestandakrav för lagringssystemet och minnesstorleken.

  • Filserverarbetsbelastning

    Ett Microsoft-utvecklat riktmärke med namnet FSCT används för att generera en SMB-filserverarbetsbelastning. Den skapar en stor filuppsättning på servern och använder många klientsystem (faktiska eller virtualiserade) för att generera åtgärder för att öppna, stänga, läsa och skriva filer. Driftmixen baseras på statistiska studier av produktionsservrar. Det betonar processor-, disk- och nätverksresurser.

  • SPECpower – JAVA-arbetsbelastning

    SPECpower_ssj2008 är det första branschstandardvärdet för SPEC som gemensamt utvärderar egenskaper för kraft och prestanda. Det är en Java-arbetsbelastning på serversidan med varierande cpu-belastningsnivåer. Det kräver inte många disk- eller nätverksresurser, men det har vissa krav för minnesbandbredd. Nästan all CPU-aktivitet utförs i användarläge. kernel-mode-aktivitet har inte någon större inverkan på prestandamåttens energi- och prestandaegenskaper förutom beslut om energisparfunktioner.

  • Application Server-arbetsbelastning

    SAP-SD-benchmark används för att generera en programserverarbetsbelastning. En konfiguration på två nivåer används med databasen och programservern på samma servervärd. Den här arbetsbelastningen använder också svarstiden som ett prestandamått som skiljer sig från andra testade arbetsbelastningar. Därför används den för att verifiera PPM-parametrarnas inverkan på svarstiden. Den är dock inte avsedd att vara representativ för alla svarstidskänsliga produktionsarbetsbelastningar.

Alla riktmärken utom SPECpower utformades ursprungligen för prestandaanalys och skapades därför för att köras på högsta belastningsnivåer. Nivåerna för medelhög till lätt belastning är dock vanligare för verkliga produktionsservrar och är mer intressanta för optimeringar av balanserade planer. Vi kör avsiktligt riktvärdena på olika belastningsnivåer från 100% ner till 10% (i steg om 10%) med hjälp av olika strypningsmetoder, till exempel genom att reducera antalet aktiva användare eller klienter.

Ovanstående arbetsbelastningar använder genomströmningshastighet som prestandamått för optimering. Under det stadiga tillståndet ändras inte dataflödet med varierande användning förrän systemet är överbelastat (~100% användning). Som ett resultat gynnar den balanserade energiplanen kraften ganska mycket med att minimera processorfrekvensen och maximera användningen. Från och med Windows Server 2016 har kravet på snabb svarstid ökat dramatiskt. Även om Microsoft föreslog att användarna skulle byta till energischemat med höga prestanda när de behöver snabb svarstid, vill vissa användare inte förlora strömfördelarna under lätta till medelhöga belastningsnivåer. Därför innehåller Windows Server PPM-justering även svarstidskänsliga arbetsbelastningar för justering.

  • GeekBench

    GeekBench är ett plattformsoberoende prestandamått för processorer som separerar poängen för prestanda med en kärna och flera kärnor. Den simulerar en uppsättning arbetsbelastningar, inklusive heltalsarbetsbelastningar (kryptering, komprimering, bildbearbetning osv.), flyttalsarbetsbelastningar (modellering, fraktal, bildskärpa, suddig bild osv.) och minnesarbetsbelastningar (direktuppspelning).

    Svarstiden är ett stort mått i poängberäkningen. I vårt testade system har Windows Server 2008 standardbalanserad energiplan ~18% regression i enkärntester och ~40% regression i tester med flera kärnor jämfört med energiplanen med höga prestanda . Windows Server 2016 tar bort dessa regressioner.

  • DiskSpd

    Diskspd är ett kommandoradsverktyg för prestandamätning för lagring som utvecklats av Microsoft. Det används ofta för att generera olika begäranden mot lagringssystem för analys av lagringsprestanda.

    Vi har konfigurerat ett [redundanskluster] och använt Diskspd för att generera slumpmässiga och sekventiella I/O-operationer samt läs- och skrivoperationer på lokala och fjärranslutna lagringssystem med olika I/O-storlekar. Våra tester visar att I/O-svarstiden är känslig för processorfrekvens under olika energischeman. Standardlösningen för Windows Server 2008 Balanced kan fördubbla svarstiden för den från energiplanen med höga prestanda under vissa arbetsbelastningar. Windows Server 2016 Balance Power Plan tar bort de flesta regressionerna.

Important

Från och med Intel [Broadwell]-processorer som kör Windows Server 2016 fattas de flesta beslut om processorkrafthantering i processorn i stället för operativsystemnivå för att uppnå snabbare anpassning till arbetsbelastningsändringarna. De äldre PPM-parametrarna som används av operativsystemet har minimal inverkan på de faktiska frekvensbesluten, förutom att tala om för processorn om det ska gynna ström eller prestanda eller begränsa de minsta och högsta frekvenserna. Därför observeras PPM-justeringsresultaten som nämns här endast på pre-Broadwell-systemen.

Maskinvarukonfigurationer

För varje version av Windows används de mest aktuella produktionsservrarna i energiplansanalysen och optimeringsprocessen. I vissa fall utfördes testerna på förproduktionssystem vars versionsschema matchade nästa Windows-version.

Med tanke på att de flesta servrar säljs med 1 till 4 processoruttag, och eftersom uppskalningsservrar är mindre benägna att ha energieffektivitet som ett primärt problem, körs energiplansoptimeringstesterna främst på 2-socket- och 4-socketsystem. Mängden RAM-, disk- och nätverksresurser för varje test väljs så att varje system kan köra hela vägen upp till sin fulla kapacitet, samtidigt som man tar hänsyn till de kostnadsbegränsningar som normalt skulle finnas för verkliga servermiljöer, till exempel att hålla konfigurationerna rimliga.

Important

Även om systemet kan köras med hög belastning optimerar vi vanligtvis för lägre belastningsnivåer, eftersom servrar som konsekvent körs på sin högsta belastningsnivå är kloka att använda energiplanen med höga prestanda om inte energieffektiviteten har hög prioritet.

Metrics

Alla testade riktmärken använder dataflöde som prestandamått. Svarstiden betraktas som ett SLA-krav för dessa arbetsbelastningar (förutom SAP, där det är ett primärt mått). En benchmark-körning anses till exempel vara "giltig" om medelvärdet eller den maximala svarstiden är mindre än ett visst värde.

Därför använder PPM-justeringsanalysen även dataflöde som prestandamått. På den högsta belastningsnivån (100% processoranvändning) är vårt mål att dataflödet inte ska minska mer än några procent på grund av energisparoptimeringar. Men det viktigaste är att maximera energieffektiviteten (enligt definitionen nedan) på medelhög och låg belastningsnivå.

formel för energieffektivitet

Om processorkärnorna körs med lägre frekvenser minskar energiförbrukningen. Lägre frekvenser minskar dock vanligtvis dataflödet och ökar svarstiden. För plan för balanserad energi finns det en avsiktlig kompromiss mellan svarstider och energieffektivitet. SAP-arbetsbelastningstesterna, samt svarstidens serviceavtal för de andra arbetsbelastningarna, ser till att svarstiden inte överskrider vissa tröskelvärden (5% som exempel) för dessa specifika arbetsbelastningar.

Note

Om arbetsbelastningen är mycket känslig för svarstiden bör systemet antingen växla till energischemat med höga prestanda eller ändra ett balanserat energischema till en mycket aggressiv ökningsfrekvens när den körs.

Standardparametrar för Windows Server Balanced Power Plan

Från och med Intel Broadwell-processorer som kör Windows Server 2016 använder Windows Server-energisparfunktioner Intels maskinvarustyrda P-tillstånd (HWP) som standard på Intel-system. HWP är en ny funktion för en samarbetsinriktad maskinvaru- och programvaruprestandakontroll. När HWP är aktiverat övervakar CPU aktivitet och skalbarhet och väljer frekvens i maskinvarutidsskala. Operativsystemet krävs inte längre för att övervaka aktivitet och välja frekvens med jämna mellanrum. Att byta till HWP har flera fördelar, till exempel snabb respons, bättre kunskap om maskinvarueffektiviteten hos processorer och andra komponenter under TDP.

För HWP-systemet har Windows fortfarande möjlighet att ange lägsta och högsta processortillstånd för att tillhandahålla begränsningar. Den kan också använda parametern Energy Performance Preference (EPP) för att ställa in balans mellan energi och prestanda. Lägre värde gynnar prestanda och högre värde gynnar kraften. Standardvärdet 50 som är att balansera ström och prestanda.

Parameter Windows Server 2012R2 och tidigare Windows Server 2016 och efter
HWP aktiverat N/A Intel Broadwell+
Energiprestandainställningar N/A 50

För Intel pre-Broadwell-system eller system som inte har HWP-stöd (till exempel AMD-servrar) har Windows fortfarande fullständig kontroll och bestämmer processorfrekvensen baserat på PPM-parametrarna. PPM-standardparametrarna i Windows Server 2012R2 prioriterar energianvändning för mycket, vilket avsevärt kan påverka prestandan av arbetsbelastningen, särskilt för burst-baserade arbetsbelastningar. Fyra PPM-parametrar har ändrats i Windows Server 2016 RS2 så att frekvensen kan öka snabbare runt medelhög belastningsnivå.

Parameter Windows Server 2016 (RS1) och tidigare Windows Server 2016 (RS2) och efter
Tröskelvärde för processorprestandaökning 90 60
Tröskelvärde för minskning av processorprestanda 80 40
Tid för ökning av processorprestanda 3 1
Princip för processorprestandaökning Single Ideal

Processoranvändningsbaserade energisparalgoritmer kan skada svarstiden för I/O eller nätverksintensiva arbetsbelastningar. En logisk processor kan vara inaktiv i väntan på I/O-slutförande eller nätverkspaket, vilket gör den totala processoranvändningen låg. För att lösa det här problemet identifierar Windows Server 2019 automatiskt I/O-svarstiden och höjer frekvensgolvet till en högre nivå. Beteendet kan justeras av följande parametrar oavsett om systemet använder HWP eller inte.

Parameter Före Windows Server 2019 Windows Server 2019 och efter
Tröskelvärde för åsidosättning av processorresponsivitet N/A 10
Tröskelvärde för åsidosättning av processorresponsivitet N/A 5
Åsidosätt aktiveringstid för processorresponsivitet N/A 1
Åsidosättning av processorsvarstid N/A 3
Processorresponsivitet åsidosätter energiprestandainställningstaket N/A 100
Processorresponsivitet åsidosätter prestandagolvet N/A 100

Anpassade justeringsförslag

Om dina primära arbetsbelastningsegenskaper skiljer sig avsevärt från de fem arbetsbelastningar som används för PPM-standardinställningen för balanserat energischema kan du experimentera genom att ändra en eller flera PPM-parametrar för att hitta den bästa passformen för din miljö.

På grund av antalet och komplexiteten hos parametrar kan detta vara en utmanande uppgift, men om du letar efter den bästa kompromissen mellan energiförbrukning och arbetsbelastningseffektivitet för din specifika miljö kan det vara värt ansträngningen.

Den fullständiga uppsättningen med justerbara PPM-parametrar finns i processorns energisparfunktioner. Några av de enklaste energisparametrarna att börja med kan vara:

För HWP-aktiverat system:

  • Energiprestandapreferens – större värden gynnar mer energi än prestanda

För icke-HWP-system:

  • Processorprestandaökningströskel och processorprestandaökningstid – större värden saktar ned prestandasvaret på ökad aktivitet

  • Tröskelvärde för minskning av processorprestanda – stora värden påskyndar energisvaret vid inaktiva perioder

  • Minskad processorprestandatid – större värden minskar prestandan mer gradvis under inaktiva perioder

  • Policy för ökning av processorprestanda – principen "Enskild" saktar ned perf-svaret på ökad och varaktig aktivitet. "Rocket"-policyn reagerar snabbt på ökad aktivitet

  • Princip för minskning av processorprestanda – principen "Enskild" minskar mer gradvis perf under längre inaktiva perioder. "Rocket"-principen släpper ström mycket snabbt när du går in i en inaktiv period

Important

Innan du påbörjar experiment bör du först förstå dina arbetsbelastningar, vilket hjälper dig att göra rätt PPM-parameterval och minska justeringen.

Förstå prestanda- och energikrav på hög nivå

Om din arbetsbelastning är "realtid" (till exempel känslig för problem eller andra synliga effekter för slutanvändaren) eller har mycket höga svarstider (till exempel en lagerförmedlare) och om energiförbrukning inte är ett primärt villkor för din miljö, bör du förmodligen bara byta till energiplanen för höga prestanda . Annars bör du förstå kraven på svarstid för dina arbetsbelastningar och sedan justera PPM-parametrarna för bästa möjliga energieffektivitet som fortfarande uppfyller dessa krav.

Förstå underliggande arbetsbelastningsegenskaper

Du bör känna till dina arbetsbelastningar och utforma experimentparameteruppsättningarna för justering. Om frekvenserna för processorkärnor till exempel måste ökas snabbt (kanske du har en hög belastning med betydande inaktiva perioder, men du behöver mycket snabb svarstid när en ny transaktion kommer), kan principen för processorprestandaökning behöva ställas in på "rocket" (som, som namnet antyder, skjuter cpu-kärnfrekvensen till sitt maximala värde i stället för att öka den under en tidsperiod).

Om din arbetsbelastning är mycket hög kan PPM-kontrollintervallet minskas så att CPU-frekvensen börjar öka tidigare efter att en burst har anlänt. Om din arbetsbelastning inte har hög trådkonkurrens kan kärnparkering aktiveras för att tvinga arbetsbelastningen att köras på ett mindre antal kärnor, vilket också kan förbättra träffsäkerheten i processorns cacheminne.

Om du bara vill öka CPU-frekvenserna på medelhöga användningsnivåer (dvs. inte lätta arbetsbelastningsnivåer) kan tröskelvärdena för processorprestanda ökas/minskas så att de inte reagerar förrän vissa aktivitetsnivåer har observerats.

Förstå periodiska beteenden

Det kan finnas olika prestandakrav för dagtid och nattetid eller under helgerna, eller så kan det finnas olika arbetsbelastningar som körs vid olika tidpunkter. I det här fallet kanske en uppsättning PPM-parametrar inte är optimala för alla tidsperioder. Eftersom flera anpassade energischeman kan utformas går det även att justera för olika tidsperioder och växla mellan energischeman via skript eller andra metoder för dynamisk systemkonfiguration.

Återigen ökar detta komplexiteten i optimeringsprocessen, så det är en fråga om hur mycket värde som kommer att vinnas från den här typen av justering, vilket sannolikt kommer att behöva upprepas när det finns betydande maskinvaruuppgraderingar eller arbetsbelastningsändringar.

Det är därför Windows tillhandahåller ett balanserat energischema i första hand, eftersom det i många fall förmodligen inte är värt handjustering för en viss arbetsbelastning på en specifik server.

Se även