Partilhar via


Ajuste de gerenciamento de energia do processador (PPM) para o plano de energia balanceado do Windows Server

A partir do Windows Server 2008, o Windows Server fornece três planos de energia: Equilibrado, Alto Desempenho e Economia de Energia. O plano de energia balanceado é a escolha padrão que visa dar a melhor eficiência energética para um conjunto de cargas de trabalho típicas do servidor. Este tópico descreve as cargas de trabalho que foram usadas para determinar as configurações padrão para o esquema Balanceado nas últimas versões do Windows.

Se você executar um sistema de servidor que tenha características de carga de trabalho ou requisitos de desempenho e energia dramaticamente diferentes dessas cargas de trabalho, convém considerar ajustar as configurações de energia padrão (ou seja, criar um plano de energia personalizado). Uma fonte de informações úteis de ajuste é o Server Hardware Power Considerations. Como alternativa, você pode decidir que o plano de energia de alto desempenho é a escolha certa para o seu ambiente, reconhecendo que você provavelmente sofrerá um impacto significativo de energia em troca de algum nível de maior capacidade de resposta.

Important

Você deve aproveitar as políticas de energia incluídas no Windows Server, a menos que tenha uma necessidade específica de criar uma personalizada e tenha uma compreensão muito boa de que seus resultados variarão dependendo das características da sua carga de trabalho.

Metodologia de ajuste de energia do processador Windows

Cargas de trabalho testadas

As cargas de trabalho são selecionadas para cobrir um conjunto de "melhor esforço" de cargas de trabalho "típicas" do Windows Server. Obviamente, este conjunto não se destina a ser representativo de toda a amplitude de ambientes de servidor do mundo real.

O ajuste em cada política de energia é baseado em dados das seguintes cinco tarefas baseadas no Windows Server 2008.

  • Carga de trabalho do Servidor Web do IIS

    Um benchmark interno da Microsoft chamado Web Fundamentals é usado para otimizar a eficiência energética de plataformas que executam o IIS Web Server. A configuração contém um servidor Web e vários clientes que simulam o tráfego de acesso à Web. A distribuição de páginas web dinâmicas, estáticas quentes (na memória) e estáticas frias (acesso ao disco necessário) baseia-se em estudos estatísticos de servidores de produção. Para empurrar os núcleos de CPU do servidor para a utilização total (uma extremidade do espectro testado), a configuração precisa de recursos de rede e disco suficientemente rápidos.

  • Carga de trabalho do Banco de Dados do SQL Server

    O benchmark TPC-E é um benchmark popular para análise de desempenho de banco de dados. Ele é usado para gerar uma carga de trabalho OLTP para otimizações de ajuste do PPM. Essa carga de trabalho tem uma E/S de disco significativa e, portanto, exige alto desempenho do sistema de armazenamento e capacidade de memória.

  • Carga de trabalho do servidor de arquivos

    Um benchmark desenvolvido pela Microsoft chamado FSCT é usado para gerar uma carga de trabalho de servidor de arquivos SMB. Ele cria um grande conjunto de arquivos no servidor e usa muitos sistemas cliente (reais ou virtualizados) para gerar operações de abertura, fechamento, leitura e gravação de arquivos. O mix de operações é baseado em estudos estatísticos de servidores de produção. Ele enfatiza os recursos da CPU, do disco e da rede.

  • SPECpower – Carga de trabalho JAVA

    SPECpower_ssj2008 é o primeiro benchmark SPEC padrão do setor que avalia conjuntamente as características de potência e desempenho. É uma carga de trabalho Java do lado do servidor com diferentes níveis de carga da CPU. Ele não requer muitos recursos de disco ou rede, mas tem certos requisitos para largura de banda de memória. Quase toda a atividade da CPU é realizada no modo de usuário; A atividade do modo kernel não tem muito impacto nas características de potência e desempenho dos benchmarks, exceto para as decisões de gerenciamento de energia.

  • Carga de trabalho do servidor de aplicativos

    O benchmark SAP-SD é usado para gerar uma carga de trabalho do servidor de aplicativos. Uma configuração de duas camadas é usada, com o banco de dados e o servidor de aplicativos no mesmo host de servidor. Essa carga de trabalho também utiliza o tempo de resposta como uma métrica de desempenho, que difere de outras cargas de trabalho testadas. Assim, é usado para verificar o impacto dos parâmetros PPM na capacidade de resposta. No entanto, não se destina a ser representativo de todas as cargas de trabalho de produção sensíveis à latência.

Todos os benchmarks, exceto SPECpower, foram originalmente projetados para análise de desempenho e, portanto, foram criados para funcionar em níveis de carga de pico. No entanto, níveis de carga médios a leves são mais comuns para servidores de produção do mundo real e são mais interessantes para otimizações do plano Balanced. Executamos intencionalmente os benchmarks em níveis de carga variáveis de 100% até 10% (em 10% etapas) usando vários métodos de limitação (por exemplo, reduzindo o número de usuários/clientes ativos).

As cargas de trabalho acima usam a taxa de transferência como a métrica de desempenho para ajuste. Durante o estado estacionário, a taxa de transferência não varia com diferentes utilizações até o sistema atingir sobrecarga (~100% de utilização). Como resultado, o plano de energia balanceado favorece bastante a energia minimizando a frequência do processador e maximizando a utilização. A partir do Windows Server 2016, a exigência de tempo de resposta rápido aumentou drasticamente. Embora a Microsoft tenha sugerido que os usuários mudassem para o plano de energia de alto desempenho quando precisassem de tempo de resposta rápido, alguns usuários não querem perder o benefício de energia durante níveis de carga leves a médios. Assim, o ajuste do PPM do Windows Server também inclui cargas de trabalho sensíveis ao tempo de resposta para ajuste.

  • GeekBench

    O GeekBench é um benchmark de processador multiplataforma que separa as pontuações de desempenho single-core e multi-core. Ele simula um conjunto de cargas de trabalho, incluindo cargas de trabalho inteiras (criptografias, compressões, processamento de imagem, etc.), cargas de trabalho de ponto flutuante (modelagem, fractal, nitidez de imagem, desfoque de imagem, etc.) e cargas de trabalho de memória (streaming).

    O tempo de resposta é uma medida importante no cálculo da pontuação. Em nosso sistema testado, o plano de energia balanceado padrão do Windows Server 2008 tem regressão de ~18% em testes de núcleo único e regressão de ~40% em testes de vários núcleos em comparação com o plano de energia de alto desempenho . O Windows Server 2016 remove essas regressões.

  • DiskSpd

    Diskspd é uma ferramenta de linha de comando para benchmarking de armazenamento desenvolvido pela Microsoft. Ele é amplamente usado para gerar várias solicitações em sistemas de armazenamento para a análise de desempenho de armazenamento.

    Configuramos um [Cluster de Failover] e usamos o Diskspd para gerar E/S aleatórias e sequenciais, além de ler e gravar E/S nos sistemas de armazenamento locais e remotos com tamanhos de E/S diferentes. Os nossos testes indicam que o tempo de resposta de E/S é sensível à frequência do processador em diferentes planos de energia. O plano de energia balanceado padrão do Windows Server 2008 pode dobrar o tempo de resposta do plano de energia de alto desempenho em determinadas cargas de trabalho. O plano de energia de equilíbrio do Windows Server 2016 remove a maioria das regressões.

Important

A partir dos processadores Intel [Broadwell] que executam o Windows Server 2016, a maioria das decisões de gerenciamento de energia do processador são tomadas no processador em vez do nível do sistema operacional para obter uma adaptação mais rápida às alterações da carga de trabalho. Os parâmetros PPM herdados usados pelo SO têm um impacto mínimo nas decisões de frequência reais, exceto dizer ao processador se ele deve favorecer a potência ou o desempenho, ou limitar as frequências mínimas e máximas. Assim, os resultados de ajuste do PPM mencionados aqui são observados apenas nos sistemas pré-Broadwell.

Configurações de hardware

Para cada versão do Windows, os servidores de produção mais atuais são usados no processo de análise e otimização do plano de energia. Em alguns casos, os testes foram realizados em sistemas de pré-produção cujo cronograma de lançamento correspondia ao da próxima versão do Windows.

Dado que a maioria dos servidores é vendida com 1 a 4 soquetes de processador, e como os servidores scale-up têm menos probabilidade de ter a eficiência energética como uma preocupação principal, os testes de otimização do plano de energia são executados principalmente em sistemas de 2 soquetes e 4 soquetes. A quantidade de RAM, disco e recursos de rede para cada teste é escolhida para permitir que cada sistema seja executado até sua capacidade total, levando em consideração as restrições de custo que normalmente estariam em vigor para ambientes de servidor do mundo real, como manter as configurações razoáveis.

Important

Embora o sistema possa ser executado em sua carga de pico, normalmente otimizamos para níveis de carga mais baixos, uma vez que os servidores que executam consistentemente em seus níveis de carga de pico seriam bem aconselhados a usar o plano de energia de alto desempenho , a menos que a eficiência energética seja uma alta prioridade.

Metrics

Todos os benchmarks testados usam a taxa de transferência como métrica de desempenho. O Tempo de Resposta é considerado um requisito de SLA para essas cargas de trabalho (exceto para SAP, onde é uma métrica primária). Por exemplo, uma execução de benchmark é considerada "válida" se o tempo de resposta médio ou máximo for inferior a determinado valor.

Portanto, a análise de ajuste do PPM também usa a taxa de transferência como sua métrica de desempenho. No nível de carga mais alto (100% de utilização da CPU), nosso objetivo é que a taxa de transferência não diminua mais do que alguns por cento devido a otimizações de gerenciamento de energia. Mas a principal consideração é maximizar a eficiência energética (conforme definido abaixo) em níveis de carga média e baixa.

fórmula de eficiência energética

Executar os núcleos da CPU em frequências mais baixas reduz o consumo de energia. No entanto, frequências mais baixas normalmente diminuem a taxa de transferência e aumentam o tempo de resposta. Para o plano de energia equilibrado , há uma troca intencional de capacidade de resposta e eficiência energética. Os testes de carga de trabalho SAP, bem como os SLAs de tempo de resposta nas outras cargas de trabalho, garantem que o aumento do tempo de resposta não exceda determinado limite (5% como exemplo) para essas cargas de trabalho específicas.

Note

Se a carga de trabalho for muito sensível ao tempo de resposta, o sistema deve mudar para o plano de energia de Alto Desempenho ou alterar o plano de energia Balanceado para aumentar a frequência de forma muito agressiva quando estiver em execução.

Parâmetros padrão do plano de energia balanceado do Windows Server

A partir dos processadores Intel Broadwell que executam o Windows Server 2016, o gerenciamento de energia do Windows Server usa os estados P controlados por hardware (HWP) da Intel como padrão nos sistemas Intel. HWP é um novo recurso para um controle de desempenho cooperativo de hardware e software. Quando o HWP está ativado, a CPU monitora a atividade e a escalabilidade e seleciona a frequência na escala de tempo do hardware. O SO não é mais necessário para monitorar a atividade e selecionar a frequência em intervalos regulares. Mudar para HWP tem vários benefícios, como resposta rápida, melhor conhecimento da eficiência energética do hardware de processadores e outros componentes sob TDP.

Para o sistema HWP, o Windows ainda tem a opção de definir os estados mínimo e máximo do processador para fornecer restrições. Ele também pode usar o parâmetro de preferência de desempenho energético (EPP) para definir o equilíbrio entre potência e desempenho. Menor valor favorece o desempenho, e maior valor favorece o poder. O valor padrão 50 que é para equilibrar potência e desempenho.

Parameter Windows Server 2012R2 e anteriores Windows Server 2016 e posterior
HWP ativado N/A Intel Broadwell+
Preferência pelo desempenho energético N/A 50

Para sistemas Intel pré-Broadwell ou quaisquer sistemas que não tenham suporte a HWP (por exemplo, servidores AMD), o Windows ainda tem controle total e determina a frequência do processador com base nos parâmetros PPM. Os parâmetros PPM padrão no Windows Server 2012R2 favorecem o excesso de energia que pode afetar significativamente o desempenho da carga de trabalho, especialmente a carga de trabalho intermitente. Quatro parâmetros PPM foram alterados no Windows Server 2016 RS2 para permitir que a frequência aumente mais rapidamente em torno do nível de carga médio.

Parameter Windows Server 2016 (RS1) e anteriores Windows Server 2016 (RS2) e posterior
Limite de aumento de desempenho do processador 90 60
Limite de redução de desempenho do processador 80 40
O desempenho do processador aumenta o tempo 3 1
Política de aumento de desempenho do processador Single Ideal

Os algoritmos de gerenciamento de energia baseados na utilização da CPU podem prejudicar a latência de cargas de trabalho de E/S ou de rede intensiva. Um processador lógico pode ficar ocioso enquanto aguarda a conclusão de E/S ou pacotes de rede, o que torna baixa a utilização geral da CPU. Para resolver esse problema, o Windows Server 2019 deteta automaticamente o período de resposta de E/S e eleva o piso de frequência para um nível mais alto. O comportamento pode ser ajustado pelos seguintes parâmetros, não importa se o sistema usa HWP ou não.

Parameter Antes do Windows Server 2019 Windows Server 2019 e posterior
A capacidade de resposta do processador substitui o limite de ativação N/A 10
A capacidade de resposta do processador substitui o limite de desativação N/A 5
A capacidade de resposta do processador substitui o tempo de ativação N/A 1
A capacidade de resposta do processador substitui o tempo de desativação N/A 3
A capacidade de resposta do processador substitui o teto de preferência de desempenho energético N/A 100
A reatividade do processador sobrepõe-se ao piso de desempenho N/A 100

Sugestões de ajuste personalizadas

Se as características principais da carga de trabalho diferirem significativamente das cinco cargas de trabalho usadas para o ajuste padrão do PPM do plano de energia balanceado , você poderá experimentar alterando um ou mais parâmetros do PPM para encontrar o melhor ajuste para seu ambiente.

Devido ao número e complexidade dos parâmetros, esta pode ser uma tarefa desafiadora, mas se você estiver procurando o melhor compromisso entre consumo de energia e eficácia da carga de trabalho para seu ambiente específico, pode valer a pena o esforço.

O conjunto completo de parâmetros ajustáveis do PPM pode ser encontrado em Ajuste de gerenciamento de energia do processador. Alguns dos parâmetros de potência mais simples para começar podem ser:

Para um sistema com HWP ativado:

  • Preferência pelo desempenho energético – valores maiores favorecem mais a potência do que o desempenho

Para o sistema não-HWP:

  • Limite de Aumento de Desempenho do Processador e Tempo de Aumento de Desempenho do Processador – valores maiores diminuem a resposta do desempenho quando a atividade aumenta.

  • Limite de Redução de Desempenho do Processador – valores grandes aceleram a resposta de energia a períodos ociosos

  • Tempo de Diminuição do Desempenho do Processador – valores maiores diminuem mais gradualmente o desempenho durante períodos ociosos

  • Política de Aumento de Desempenho do Processador – a política "Única" retarda a resposta do perf a uma atividade aumentada e sustentada; a política "Rocket" reage rapidamente ao aumento da atividade

  • Política de Diminuição do Desempenho do Processador – a política "Única" diminui mais gradualmente o perf durante períodos ociosos mais longos; a política "Rocket" perde energia muito rapidamente ao entrar em um período ocioso

Important

Antes de iniciar qualquer experimento, você deve primeiro entender suas cargas de trabalho, o que o ajudará a fazer as escolhas corretas de parâmetros do PPM e reduzir o esforço de ajuste.

Compreender os requisitos de desempenho e energia de alto nível

Se a sua carga de trabalho for "em tempo real" (por exemplo, suscetível a interrupções ou outros impactos visíveis no utilizador final) ou tiver requisitos de capacidade de resposta muito apertados (por exemplo, uma corretora de valores) e caso o consumo de energia não seja um critério primário para o seu ambiente, provavelmente deve simplesmente mudar para o plano de energia de alto desempenho. Caso contrário, você deve entender os requisitos de tempo de resposta de suas cargas de trabalho e, em seguida, ajustar os parâmetros do PPM para obter a melhor eficiência energética possível que ainda atenda a esses requisitos.

Compreender as características subjacentes da carga de trabalho

Você deve conhecer suas cargas de trabalho e projetar os conjuntos de parâmetros do experimento para ajuste. Por exemplo, se as frequências dos núcleos da CPU precisarem ser aumentadas rapidamente (talvez você tenha uma carga de trabalho intermitente com períodos ociosos significativos, mas precisa de uma resposta muito rápida quando uma nova transação surgir), então a política de aumento de desempenho do processador pode precisar ser definida como "rocket" (que, como o nome indica, dispara a frequência do núcleo da CPU para seu valor máximo em vez de aumentá-la durante um período de tempo).

Se a sua carga de trabalho for muito intensa, o intervalo de verificação do PPM pode ser reduzido para fazer com que a frequência da CPU comece a aumentar mais cedo após a chegada de uma intermitência. Se a sua carga de trabalho não tiver uma alta simultaneidade de threads, o parqueamento de núcleos pode ser ativado para forçar a execução da carga de trabalho em um número menor de núcleos, o que também pode melhorar as taxas de acerto da cache do processador.

Se você quiser apenas aumentar as frequências da CPU em níveis médios de utilização (ou seja, não níveis leves de carga de trabalho), os limites de aumento/diminuição do desempenho do processador podem ser ajustados para não reagir até que certos níveis de atividade sejam observados.

Compreender comportamentos periódicos

Pode haver diferentes requisitos de desempenho para o dia e a noite ou nos fins de semana, ou pode haver cargas de trabalho diferentes que são executadas em horários diferentes. Nesse caso, um conjunto de parâmetros PPM pode não ser ideal para todos os períodos de tempo. Uma vez que vários planos de energia personalizados podem ser concebidos, é possível até mesmo ajustar para diferentes períodos de tempo e alternar entre planos de energia através de scripts ou outros meios de configuração dinâmica do sistema.

Novamente, isso aumenta a complexidade do processo de otimização, então é uma questão de quanto valor será ganho com esse tipo de ajuste, que provavelmente precisará ser repetido quando houver atualizações significativas de hardware ou alterações na carga de trabalho.

É por isso que o Windows fornece um plano de energia equilibrado em primeiro lugar, porque em muitos casos provavelmente não vale a pena o esforço de ajuste manual para uma carga de trabalho específica em um servidor específico.

Ver também