Condividi tramite


Ottimizzazione di Processor Power Management (PPM) per la combinazione per il risparmio di energia Bilanciata di Windows Server

A partire dalla versione 2008, Windows Server offre tre combinazioni per il risparmio di energia: Bilanciata, Prestazioni elevate e Risparmio di energia. La combinazione per il risparmio di energia Bilanciata è l'opzione predefinita, che mira a offrire la migliore efficienza energetica per una serie di carichi di lavoro tipici del server. Questo argomento descrive i carichi di lavoro usati per determinare le impostazioni predefinite per lo schema bilanciato per diverse versioni precedenti di Windows.

Se si esegue un sistema server con caratteristiche del carico di lavoro o requisiti di prestazioni ed energia notevolmente diversi rispetto a questi carichi di lavoro, è consigliabile ottimizzare le impostazioni predefinite, ovvero creare una combinazione personalizzata per il risparmio di energia. Una fonte di informazioni utili per l'ottimizzazione è l'articolo Considerazioni sul risparmio di energia dell'hardware del server. In alternativa, è possibile decidere che la combinazione per il risparmio di energia Prestazioni elevate rappresenta la scelta giusta per l'ambiente, riconoscendo che probabilmente si avrà un impatto energetico significativo in cambio di una maggiore velocità di risposta.

Importante

È consigliabile sfruttare i criteri di risparmio energia inclusi in Windows Server, a meno che non si abbia un'esigenza specifica di crearne uno personalizzato e la piena consapevolezza che i risultati variano a seconda delle caratteristiche del carico di lavoro.

Metodologia di ottimizzazione del risparmio di energia del processore di Windows

Carichi di lavoro testati

I carichi di lavoro vengono selezionati per coprire un set di carichi di lavoro "tipici" di Windows Server. Ovviamente questo set non intende essere rappresentativo di tutte le caratteristiche degli ambienti server reali.

L'ottimizzazione in ogni criterio di risparmio energia è basata sui cinque carichi di lavoro seguenti avviati da Windows Server 2008

  • Carico di lavoro Server Web IIS

    Un benchmark interno di Microsoft, Web Fundamentals, viene usato per ottimizzare l'efficienza energetica delle piattaforme che eseguono il server Web IIS. La configurazione contiene un server Web e diversi client che simulano il traffico di accesso al Web. La distribuzione delle pagine Web dinamiche, statiche ad accesso frequente (in memoria) e statiche ad accesso saltuario (accesso al disco richiesto) si basa su studi statistici sui server di produzione. Per spingere i core della CPU del server all'utilizzo completo (una estremità dello spettro testato), la configurazione richiede risorse di rete e disco sufficientemente veloci.

  • Carico di lavoro Database di SQL Server

    Il benchmark TPC-E è ampiamente diffuso per l'analisi delle prestazioni del database. Viene usato per generare un carico di lavoro OLTP per le ottimizzazioni di PPM (Processor Power Management). Questo carico di lavoro presenta un numero significativo di operazioni di I/O su disco e pertanto ha requisiti di prestazioni elevate per il sistema di archiviazione e le dimensioni della memoria.

  • Carico di lavoro File server

    Un benchmark sviluppato da Microsoft, FSCT, viene usato per generare un carico di lavoro di file server SMB. Crea un set di file di grandi dimensioni nel server e usa molti sistemi client (effettivi o virtualizzati) per generare operazioni di apertura, chiusura, lettura e scrittura di file. La combinazione di operazioni si basa su studi statistici sui server di produzione. Mette sotto stress la CPU, il disco e le risorse di rete.

  • SPECpower - Carico di lavoro JAVA

    SPECpower_ssj2008 è il primo benchmark SPEC standard di settore che valuta congiuntamente le caratteristiche di potenza e prestazioni. Si tratta di un carico di lavoro Java lato server con diversi livelli di carico della CPU. Non richiede molte risorse di rete o disco, ma ha determinati requisiti per la larghezza di banda della memoria. Quasi tutte le attività della CPU vengono eseguite in modalità utente; l'attività in modalità kernel non ha un impatto significativo sulle caratteristiche di potenza e prestazioni dei benchmark, ad eccezione delle decisioni sul risparmio energia.

  • Carico di lavoro Server applicazioni

    Il benchmark SAP-SD viene usato per generare un carico di lavoro del server applicazioni. Viene usata una configurazione a due livelli, con il database e il server applicazioni nello stesso host server. Questo carico di lavoro utilizza anche il tempo di risposta come metrica delle prestazioni, che differisce da altri carichi di lavoro testati. Viene quindi usato per verificare l'impatto dei parametri PPM sulla velocità di risposta. Tuttavia, non è progettato per essere rappresentativo di tutti i carichi di lavoro di produzione sensibili alla latenza.

Tutti i benchmark, ad eccezione di SPECpower, sono stati originariamente progettati per l'analisi delle prestazioni e sono stati quindi creati per essere eseguiti a livelli di carico di picco. Tuttavia, i livelli di carico medio-leggero sono più comuni per i server di produzione reali e sono più interessanti per le ottimizzazioni della combinazione Bilanciata. I benchmark vengono eseguiti intenzionalmente a vari livelli di carico, dal 100% al 10% (in incrementi del 10%) usando vari metodi di limitazione (ad esempio, riducendo il numero di utenti/client attivi).

I carichi di lavoro precedenti usano la velocità effettiva come metrica delle prestazioni per l'ottimizzazione. Durante lo stato stabile, la velocità effettiva non cambia con vari utilizzi fino a quando il sistema non viene sovraccaricato (circa al 100% di utilizzo). Di conseguenza, la combinazione per il risparmio di energia Bilanciata favorisce notevolmente la potenza riducendo al minimo la frequenza del processore e massimizzandone l'utilizzo. A partire da Windows Server 2016, il requisito del tempo di risposta rapido è notevolmente aumentato. Anche se Microsoft ha suggerito agli utenti di passare alla combinazione per il risposta Prestazioni elevate quando hanno bisogno di tempi di risposta rapidi, alcuni non vogliono perdere il vantaggio della potenza durante i livelli di carico medio-leggeri. Di conseguenza, l'ottimizzazione di PPM di Windows Server include anche carichi di lavoro sensibili al tempo di risposta.

  • GeekBench 3

    GeekBench 3 è un benchmark di processori multipiattaforma che separa i punteggi per le prestazioni a core singolo e multi-core. Simula un set di carichi di lavoro, inclusi carichi di lavoro a numeri interi (crittografia, compressione, elaborazione di immagini e così via), carichi di lavoro a virgola mobile (modellazione, frattali, nitidezza delle immagini, sfocatura delle immagini e così via) e carichi di lavoro di memoria (streaming).

    Il tempo di risposta è una misura importante nel calcolo del punteggio. Nel sistema testato, la combinazione per il risparmio di energia Bilanciata predefinita di Windows Server 2008 presenta una regressione di circa il 18% nei test con core singolo e di circa il 40% in test con multi-core rispetto alla combinazione per il risparmio di energia Prestazioni elevate. In Windows Server 2016 queste regressioni vengono rimosse.

  • DiskSpd

    Diskspd è uno strumento da riga di comando sviluppato da Microsoft per eseguire benchmark sull'archiviazione. Viene ampiamente usato per generare varie richieste ai sistemi di archiviazione per l'analisi delle prestazioni di archiviazione.

    È stato configurato un [cluster di failover] ed è stato usato Diskspd per generare operazioni di I/O casuali e sequenziali e di lettura e scrittura nei sistemi di archiviazione locali e remoti con dimensioni di I/O diverse. I test dimostrano che il tempo di risposta di I/O è sensibile alla frequenza del processore in combinazioni diverse per il risparmio di energia. La combinazione per il risparmio di energia Bilanciata predefinita di Windows Server 2008 potrebbe raddoppiare il tempo di risposta di tale piano dal risparmio di energia a prestazioni elevate in determinati carichi di lavoro. La combinazione per il risparmio di energia Bilanciata di Windows Server 2016 rimuove la maggior parte delle regressioni.

Importante

A partire dai processori Intel [Broadwell] che eseguono Windows Server 2016, la maggior parte delle decisioni relative al risparmio energia del processore viene presa nel processore anziché al livello del sistema operativo per ottenere un adattamento più rapido alle variazioni di carico di lavoro. I parametri PPM legacy usati dal sistema operativo hanno un impatto minimo sulle decisioni effettive per la frequenza, ad eccezione del fatto che indicano al processore se deve favorire la potenza o le prestazioni oppure limitare le frequenze minime e massime. Di conseguenza, i risultati dell'ottimizzazione di PPM menzionati qui vengono osservati solo nei sistemi precedenti a Broadwell.

Configurazioni hardware

Per ogni versione di Windows, nel processo di analisi e ottimizzazione della combinazione per il risparmio di energia vengono usati i server di produzione più aggiornati. In alcuni casi, i test sono stati eseguiti su sistemi di pre-produzione la cui pianificazione del rilascio corrisponde a quella della versione successiva di Windows.

Dato che la maggior parte dei server viene venduta con 1-4 socket per processori e poiché l'efficienza energetica non è un aspetto decisivo per i server con scalabilità verticale, i test di ottimizzazione della combinazione per il risparmio di energia vengono eseguiti principalmente su sistemi a 2 e 4 socket. La quantità di risorse di RAM, disco e rete per ogni test viene scelta per consentire l'esecuzione di ogni sistema fino alla sua piena capacità, tenendo conto delle restrizioni dei costi che normalmente verrebbero applicate per gli ambienti server reali, ad esempio mantenendo ragionevoli le configurazioni.

Importante

Anche se il sistema può essere eseguito al picco di carico, in genere si ottimizza per livelli di carico inferiori, poiché per i server eseguiti costantemente ai livelli di carico di picco sarebbe sconsigliabile usare la combinazione per il risparmio di energia Prestazioni elevate, a meno che l'efficienza energetica non rientri tra le massime priorità.

Metriche

Tutti i benchmark testati usano la velocità effettiva come metrica delle prestazioni. Il tempo di risposta viene considerato come un requisito del contratto di servizio per questi carichi di lavoro (ad eccezione di SAP, per cui si tratta di una metrica primaria). Ad esempio, un'esecuzione del benchmark viene considerata "valida" se il tempo di risposta medio o massimo è minore di un determinato valore.

Pertanto, l'analisi di ottimizzazione di PPM usa anche la velocità effettiva come metrica delle prestazioni. Al livello di carico massimo (100% di utilizzo della CPU), l'obiettivo è che la velocità effettiva non debba diminuire più di una piccola percentuale a causa delle ottimizzazioni del risparmio energia. Ma la considerazione principale è ottimizzare l'efficienza energetica (come definito di seguito) a livelli di carico medio-basso.

power efficiency formula

L'esecuzione dei core della CPU a frequenze inferiori consente di ridurre il consumo di energia. Tuttavia, le frequenze inferiori comportano in genere una riduzione della velocità effettiva e un aumento del tempo di risposta. Per la combinazione per il risparmio di energia Bilanciata, si verifica un compromesso intenzionale della velocità di risposta e dell'efficienza energetica. I test dei carichi di lavoro SAP, nonché i contratti di servizio del tempo di risposta negli altri carichi di lavoro, verificano che l'aumento del tempo di risposta non superi una determinata soglia (5% ad esempio) per questi carichi di lavoro specifici.

Nota

Se il carico di lavoro è molto sensibile al tempo di risposta, il sistema deve passare alla combinazione per il risparmio di energia Prestazioni elevate o cambiare la combinazione per il risparmio di energia Bilanciata in modo da aumentare notevolmente la frequenza durante l'esecuzione.

Parametri predefiniti della combinazione per il risparmio di energia Bilanciata di Windows Server

A partire dai processori Intel Broadwell che eseguono Windows Server 2016, il risparmio energia di Windows Server usa HWP (Hardware Controlled P-state) di Intel come impostazione predefinita nei sistemi Intel. HWP è una nuova funzionalità per un controllo cooperativo delle prestazioni di hardware e software. Quando HWP è abilitata, la CPU monitora l'attività e la scalabilità, quindi seleziona la frequenza in base alla scala temporale dell'hardware. Il sistema operativo non è più tenuto a monitorare l'attività e a selezionare la frequenza a intervalli regolari. Il passaggio a HWP offre diversi vantaggi, ad esempio una risposta rapida e una maggiore conoscenza dell'efficienza energetica dell'hardware dei processori e di altri componenti in TDP.

Per il sistema HWP, Windows ha comunque la possibilità di impostare gli stati del processore minimo e massimo per fornire vincoli. Può anche usare il parametro EPP (Energy Performance Preference) per impostare un equilibrio tra potenza e prestazioni. Il valore inferiore favorisce le prestazioni, mentre un valore più alto favorisce la potenza. Il valore predefinito 50 bilancia potenza e prestazioni.

Parametro Windows Server 2012R2 e versioni precedenti Windows Server 2016 e versioni successive
HWP abilitata N/D Intel Broadwell e successivi
Preferenza per le prestazioni energetiche N/D 50

Per i sistemi Intel precedenti a Broadwell o per tutti i sistemi che non supportano HWP (ad esempio, i server AMD), Windows è ancora in pieno controllo e determina la frequenza del processore in base ai parametri PPM. I parametri PPM predefiniti in Windows Server 2012R2 favoriscono troppo la potenza, il che potrebbe influire significativamente sulle prestazioni del carico di lavoro, soprattutto per il carico di lavoro con picchi. In Windows Server 2016 RS2 sono stati cambiati quattro parametri PPM per consentire un aumento più veloce della frequenza in corrispondenza di un livello di carico medio.

Parametro Windows Server 2016 (RS1) e versioni precedenti Windows Server 2016 (RS2) e versioni successive
Soglia di aumento delle prestazioni del processore 90 60
Soglia di riduzione delle prestazioni del processore 80 40
Tempo di aumento delle prestazioni del processore 3 1
Criteri di aumento delle prestazioni del processore Singola Ideale

Gli algoritmi di risparmio energia basati sull'utilizzo della CPU potrebbero compromettere la latenza dei carichi di lavoro di I/O o a uso intensivo di rete. Un processore logico potrebbe rimanere inattivo durante l'attesa del completamento delle operazioni di I/O o di pacchetti di rete, riducendo così l'utilizzo complessivo della CPU. Per risolvere questo problema, Windows Server 2019 rileva automaticamente il periodo di velocità di risposta di I/O e aumenta la frequenza di base a un livello superiore. Il comportamento può essere ottimizzato con i parametri seguenti, indipendentemente dal fatto che il sistema usi o meno HWP.

Parametro Prima di Windows Server 2019 Windows Server 2019 e versioni successive
Soglia di abilitazione per l'override della velocità di risposta del processore N/D 10
Soglia di disabilitazione per l'override della velocità di risposta del processore N/D 5
Tempo di abilitazione per l'override della velocità di risposta del processore N/D 1
Tempo di disabilitazione per l'override della velocità di risposta del processore N/D 3
Tetto di preferenza delle prestazioni energetiche per l'override della velocità di risposta del processore N/D 100
Piano delle prestazioni per l'override della velocità di risposta del processore N/D 100

Suggerimenti per ottimizzazione personalizzate

Se le caratteristiche principali del carico di lavoro differiscono in modo significativo dai cinque carichi di lavoro usati per l'ottimizzazione di PPM con la combinazione per il risparmio di energia Bilanciata, è possibile sperimentare modificando uno o più parametri PPM per trovare la soluzione ottimale per l'ambiente in uso.

A causa del numero e della complessità dei parametri, questa attività può essere complessa, ma se si cerca il miglior compromesso tra consumo energetico ed efficacia del carico di lavoro per il proprio ambiente specifico, può valere la pena eseguirla.

Il set completo di parametri PPM ottimizzabili è disponibile in Ottimizzazione del risparmio energia processore. Alcuni dei parametri di risparmio energia più semplici da iniziare potrebbero essere:

Per il sistema abilitato per HWP:

  • Preferenza per le prestazioni energetiche: i valori più alti favoriscono la potenza più delle prestazioni

Per il sistema non HWP:

  • Soglia di aumento delle prestazioni del processore e Tempo di aumento delle prestazioni del processore: i valori più alti rallentano la risposta delle prestazioni per aumentare l'attività

  • Soglia di riduzione delle prestazioni del processore: i valori alti accelerano la risposta della potenza ai periodi di inattività

  • Tempo di riduzione delle prestazioni del processore: i valori più alti riducono più gradualmente le prestazioni durante i periodi di inattività

  • Criteri di aumento delle prestazioni del processore: il criterio "Single" rallenta la risposta delle prestazioni all'attività aumentata e sostenuta; il criterio "Rocket" reagisce rapidamente all'aumento dell'attività

  • Criteri di riduzione delle prestazioni del processore: il criterio "Single" riduce più gradualmente le prestazioni su periodi prolungati di inattività; il criterio "Rocket" riduce la potenza molto rapidamente quando si attiva un periodo di inattività

Importante

Prima di avviare qualsiasi esperimento, è necessario comprendere i carichi di lavoro, il che aiuterà a scegliere i parametri PPM giusti e a ridurre gli interventi di ottimizzazione.

Comprendere i requisiti generali di prestazioni e potenza

Se il carico di lavoro è "in tempo reale" (ad esempio, soggetto a errori o ad altri effetti visibili all'utente finale) o ha un requisito di velocità di risposta molto rigoroso (ad esempio, il brokeraggio azionario) e se il consumo di energia non è un criterio principale per l'ambiente, è consigliabile passare semplicemente alla combinazione per il risparmio di energia Prestazioni elevate. In caso contrario, è necessario comprendere i requisiti del tempo di risposta dei carichi di lavoro e quindi ottimizzare i parametri PPM per ottenere la migliore efficienza energetica possibile che soddisfi comunque tali requisiti.

Comprendere le caratteristiche dei carichi di lavoro sottostanti

È necessario conoscere i carichi di lavoro e progettare i set di parametri dell'esperimento per l'ottimizzazione. Ad esempio, se le frequenze dei core della CPU devono essere molto veloci (magari per un carico di lavoro con picchi e con periodi di inattività significativi, ma è necessaria una velocità di risposta molto rapida quando arriva una nuova transazione), il criterio di aumento delle prestazioni del processore potrebbe dover essere impostato su "rocket" (che, come suggerisce il nome, aumenta la frequenza dei core della CPU al valore massimo rapidamente e non gradualmente in un periodo di tempo).

Se il carico di lavoro presenta molti picchi, l'intervallo di controllo di PPM può essere ridotto per fare in modo che la frequenza della CPU inizi ad aumentare prima dell'arrivo di un picco. Se il carico di lavoro non ha una concorrenza elevata di thread, è possibile abilitare la disattivazione core per forzare l'esecuzione del carico di lavoro con un numero inferiore di core, il che potrebbe anche in teoria migliorare le percentuali di riscontri nella cache del processore.

Se si vogliono aumentare le frequenze della CPU solo a livelli di utilizzo medi (ossia, non ai livelli di carico di lavoro leggeri), le soglie di aumento/riduzione delle prestazioni del processore possono essere modificate in modo che non reagiscano fino a quando non vengono osservati determinati livelli di attività.

Informazioni sui comportamenti periodici

I requisiti di prestazioni possono essere diversi per il giorno e per la notte o per il fine settimana oppure potrebbero esserci carichi di lavoro diversi che vengono eseguiti in momenti diversi. In questo caso, un unico set di parametri PPM potrebbe non essere ottimale per tutti i periodi di tempo. Poiché è possibile progettare più combinazioni per il risparmio di energia personalizzate, è possibile anche ottimizzarle per periodi di tempo diversi e passare tra una combinazione all'altra tramite script o altri sistemi di configurazione dinamica del sistema.

Anche in questo caso, questo aggiunge complessità al processo di ottimizzazione, quindi è una questione di quanto valore si potrà ottenere da questo tipo di ottimizzazione, che probabilmente dovrà essere ripetuto quando sono presenti aggiornamenti hardware o modifiche significative del carico di lavoro.

Questo è proprio il motivo per cui Windows fornisce una combinazione per il risparmio di energia Bilanciata, perché in molti casi probabilmente non vale la pena di eseguire ottimizzazioni manuali per un carico di lavoro specifico in un server specifico.

Vedi anche