Ajuste de PPM (gerenciamento de energia do processador) para o plano de energia Balanceado do Windows Server
Começando no Windows Server 2008, o Windows Server fornece três planos de energia: Balanceado, Alto Desempenho e Economia de Energia. O plano de energia Balanceado é a opção padrão que visa proporcionar 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 significativamente 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 sobre ajuste são as Considerações de energia de hardware do servidor. Como alternativa, você pode decidir que o plano de energia de Alto Desempenho é a escolha certa para seu ambiente, reconhecendo que você provavelmente terá um impacto de energia significativo em troca de algum aumento do nível de capacidade de resposta.
Importante
Aproveite as políticas de energia incluídas no Windows Server, a menos que você tenha uma necessidade específica de criar uma personalizada e tenha uma compreensão muito boa de que seus resultados vão variar dependendo das características da carga de trabalho.
Metodologia de ajuste de energia do processador Windows
Cargas de trabalho testadas
As cargas de trabalho foram selecionadas para abranger o melhor conjunto possível de cargas de trabalho "típicas" do Windows Server. Obviamente, esse conjunto não tem a finalidade de ser representativo de toda a amplitude dos ambientes de servidor do mundo real.
O ajuste em cada política de energia é controlado por dados com base nas cinco cargas de trabalho a seguir iniciadas no Windows Server 2008
Carga de trabalho do Servidor Web do IIS
Um parâmetro de comparação interno da Microsoft chamado Web Fundamentals é usado para otimizar a eficiência energética das plataformas que executam o Servidor Web do IIS. 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 da Web dinâmicas, estáticas quentes (na memória) e estáticas frias (acesso a disco necessário) baseia-se em estudos estatísticos de servidores de produção. Para levar os núcleos de CPU do servidor à utilização total (uma extremidade do espectro testado), a instalação precisa de recursos de rede e disco suficientemente rápidos.
Carga de trabalho de banco de dados do SQL Server
O parâmetro de comparação TPC-E é popular para a análise de desempenho de banco de dados. Ele é usado para gerar uma carga de trabalho OLTP para otimizações de ajuste de PPM. Essa carga de trabalho tem E/S de disco significativa e, portanto, tem requisito de alto desempenho para o sistema de armazenamento e o tamanho da memória.
Carga de trabalho do Servidor de Arquivos
Um parâmetro de comparação desenvolvido pela Microsoft chamado FSCT é usado para gerar uma carga de trabalho do servidor de arquivos SMB. Ele cria um conjunto de arquivos grande no servidor e usa muitos sistemas clientes (reais ou virtualizados) para gerar operações de abertura, fechamento, leitura e gravação de arquivos. A combinação de operações é baseada em estudos estatísticos de servidores de produção. Ela enfatiza recursos de CPU, disco e rede.
SPECpower – carga de trabalho JAVA
SPECpower_ssj2008 é o primeiro parâmetro de comparação SPEC padrão do setor que avalia conjuntamente características de energia e desempenho. É uma carga de trabalho Java do lado do servidor com diferentes níveis de carga de CPU. Ela não requer muitos recursos de disco ou de rede, mas tem certos requisitos de largura de banda de memória. Quase todas as atividades de CPU são executadas no modo de usuário; a atividade do modo kernel não tem muito impacto sobre as características de desempenho e energia dos parâmetros de comparação, exceto pelas decisões de gerenciamento de energia.
Carga de trabalho do Servidor de Aplicativos
O parâmetro de comparação 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 do servidor. Essa carga de trabalho também utiliza o tempo de resposta como uma métrica de desempenho, o que difere de outras cargas de trabalho testadas. Portanto, ela é usada para verificar o impacto dos parâmetros de PPM sobre a capacidade de resposta. No entanto, ela não tem a finalidade de representar todas as cargas de trabalho de produção sensíveis à latência.
Todos os parâmetros de comparação, exceto por SPECpower, foram projetados originalmente para análise de desempenho e, portanto, foram criados para serem executados com níveis de carga de pico. No entanto, níveis de carga leves a médios são mais comuns para servidores de produção do mundo real e são mais interessantes para otimizações de plano Balanceado. Executamos intencionalmente os parâmetros de comparação com diferentes níveis de carga de 100% até 10% (em etapas de 10%) 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 métrica de desempenho para o ajuste. Durante o estado estável, a taxa de transferência não é alterada com utilizações variadas até que o sistema esteja sobrecarregado (aproximadamente 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. Começando no Windows Server 2016, o requisito de tempo de resposta rápido aumentou drasticamente. Embora a Microsoft tenha sugerido que os usuários alternem para o plano de energia de Alto Desempenho quando precisarem 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. Portanto, o ajuste de PPM do Windows Server também inclui cargas de trabalho sensíveis ao tempo de resposta para ajuste.
GeekBench 3
O GeekBench 3 é um parâmetro de comparação de processador multiplataforma que separa as pontuações para desempenho de núcleo único e de vários núcleos. Ele simula um conjunto de cargas de trabalho, incluindo cargas de trabalho inteiras (criptografias, compactações, processamento de imagens 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 de pontuação. No sistema testado, o plano de energia Balanceado padrão do Windows Server 2008 tem cerca de 18% de regressão em testes de núcleo único e cerca de 40% de regressão 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 o parâmetro de comparação de armazenamento desenvolvido pela Microsoft. Ele é amplamente usado para gerar várias solicitações em sistemas de armazenamento para análise de desempenho do armazenamento.
Nós configuramos um [Cluster de Failover] e usamos Diskspd para gerar E/Ss aleatórias e sequenciais, de leitura e gravação, nos sistemas de armazenamento local e remoto com tamanhos de E/S diferentes. Nossos testes mostram 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 com relação ao plano de energia de Alto Desempenho sob determinadas cargas de trabalho. O plano de energia Balanceado do Windows Server 2016 remove a maioria das regressões.
Importante
A partir dos processadores Intel [Broadwell] que executam o Windows Server 2016, a maioria das decisões de gerenciamento de energia do processador é tomada no nível do processador em vez do nível do sistema operacional para obter uma adaptação mais rápida às alterações de carga de trabalho. Os parâmetros de PPM herdados usados pelo sistema operacional têm impacto mínimo sobre as decisões de frequência reais, mas informando ao processador se ele deve favorecer a energia ou o desempenho ou limitar as frequências mínima e máxima. Portanto, os resultados do ajuste de PPM mencionados aqui são observados apenas nos sistemas pré-Broadwell.
Configuração 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 executados em sistemas de pré-produção cujo agendamento de lançamento correspondia ao da próxima versão do Windows.
Considerando que a maioria dos servidores são vendidos com soquetes de 1 a 4 processadores e, como servidores de expansão são menos propensos a 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é a capacidade total, levando em conta as restrições de custo que normalmente estariam em vigor para ambientes de servidor do mundo real, como manter as configurações razoáveis.
Importante
Embora o sistema possa ser executado em seu pico de carga, normalmente otimizamos para níveis de carga mais baixos, uma vez que servidores executados consistentemente em seus níveis de carga de pico deveriam usar o plano de energia de Alto Desempenho, a menos que a eficiência energética tenha alta prioridade.
Métricas
Todos os parâmetros de comparação 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 pelo SAP, em que é uma métrica primária). Por exemplo, uma execução de parâmetro de comparação será considerada "válida" se o tempo médio ou máximo de resposta for menor que determinado valor.
Sendo assim, a análise de ajuste de PPM também usa a taxa de transferência como métrica de desempenho. No nível de carga mais alto (100% de utilização da CPU), nossa meta é que a taxa de transferência não diminua mais de alguns pontos percentuais devido a otimizações de gerenciamento de energia. No entanto, a principal consideração é maximizar a eficiência de energia (conforme definido abaixo) em níveis de carga médios e baixos.
A execução dos núcleos de 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 Balanceado, há uma compensação intencional entre capacidade de resposta e eficiência de energia. Os testes de carga de trabalho do 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%, por exemplo) para essas cargas de trabalho específicas.
Observação
Se a carga de trabalho for muito sensível ao tempo de resposta, o sistema deverá alternar para o plano de energia de Alto Desempenho ou alterar o plano de energia Balanceado para aumentar agressivamente a frequência 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 o HWP (estados P controlados por hardware) da Intel como padrão em sistemas Intel. O HWP é uma nova funcionalidade para um controle cooperativo de desempenho de hardware e software. Quando o HWP está habilitado, a CPU monitora a atividade e a escalabilidade e seleciona a frequência na escala de tempo do hardware. O sistema operacional não precisa mais monitorar a atividade e selecionar a frequência em intervalos regulares. A mudança para o HWP tem vários benefícios, como resposta rápida, melhor conhecimento da eficiência de energia de hardware dos processadores e de outros componentes em 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 EPP (preferência de desempenho de energia) para definir o equilíbrio entre potência e desempenho. Um valor mais baixo favorece o desempenho e um valor mais alto favorece a energia. O valor padrão 50 equilibra potência e desempenho.
Parâmetro | Windows Server 2012R2 e anteriores | Windows Server 2016 e posteriores |
---|---|---|
HWP habilitado | N/D | Intel Broadwell+ |
Preferência de desempenho de energia | N/D | 50 |
Para sistemas Intel pré-Broadwell ou qualquer sistema que não tenha suporte para HWP (por exemplo, servidores AMD), o Windows ainda tem controle total e determina a frequência do processador com base nos parâmetros de PPM. Os parâmetros de PPM padrão no Windows Server 2012 R2 favorecem muito a energia, o que poderia afetar significativamente o desempenho da carga de trabalho, especialmente para a carga de trabalho com intermitência. Quatro parâmetros de PPM foram alterados no Windows Server 2016 RS2 para permitir que a frequência aumente mais rapidamente em torno do nível médio de carga.
Parâmetro | Windows Server 2016 (RS1) e anteriores | Windows Server 2016 (RS2) e posteriores |
---|---|---|
Limite de aumento de desempenho do processador | 90 | 60 |
Limite de redução de desempenho do processador | 80 | 40 |
Tempo de aumento de desempenho do processador | 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 com uso intensivo de rede ou de E/S. Um processador lógico pode ficar ocioso enquanto aguarda a conclusão de E/S ou pacotes de rede, o que torna a utilização geral da CPU baixa. Para resolver esse problema, o Windows Server 2019 detecta automaticamente o período de capacidade de resposta de E/S e eleva o piso de frequência para um nível mais alto. O comportamento pode ser ajustado pelos parâmetros a seguir, quer o sistema use HWP ou não.
Parâmetro | Antes do Windows Server 2019 | Windows Server 2019 e posteriores |
---|---|---|
Limite de habilitação de substituição de capacidade de resposta do processador | N/D | 10 |
Limite de desabilitação de substituição de capacidade de resposta do processador | N/D | 5 |
Tempo de habilitação de substituição de capacidade de resposta do processador | N/D | 1 |
Tempo de desabilitação de substituição de capacidade de resposta do processador | N/D | 3 |
A capacidade de resposta do processador substitui o teto de preferência de desempenho de energia | N/D | 100 |
A capacidade de resposta do processador substitui o piso de desempenho | N/D | 100 |
Sugestões de ajuste personalizadas
Se as características de sua carga de trabalho principal forem significativamente diferentes das cinco cargas de trabalho usadas para o ajuste padrão de PPM do plano de energia Balanceado, você poderá experimentar alterar um ou mais parâmetros de PPM para encontrar a melhor opção para seu ambiente.
Devido ao número e à complexidade dos parâmetros, essa pode ser uma tarefa desafiadora, mas se você estiver procurando a melhor compensação entre o consumo de energia e a eficácia da carga de trabalho para seu ambiente específico, o esforço pode valer a pena.
O conjunto completo de parâmetros de PPM ajustáveis pode ser encontrado em Ajuste de gerenciamento de energia do processador. Alguns dos parâmetros de energia mais simples para começar podem ser:
Para um sistema habilitado para HWP:
- Preferência de desempenho de energia – valores maiores favorecem mais a energia do que o desempenho
Para um sistema sem HWP:
Limite de aumento do desempenho do processador e tempo de aumento do desempenho do processador – valores maiores retardam a resposta de desempenho em caso de aumento da atividade
Limite de redução do desempenho do processador – valores grandes aceleram a resposta de energia para períodos ociosos
Tempo de reduçã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 de desempenho para atividades aumentadas e sustentadas; a política "Foguete" reage rapidamente ao aumento da atividade
Política de Redução de Desempenho do Processador – a política "Única" diminui mais gradualmente o desempenho em períodos ociosos mais longos; a política "Foguete" reduz a energia muito rapidamente ao entrar em um período ocioso
Importante
Antes de iniciar experimentos, primeiro você precisa entender suas cargas de trabalho, o que ajudará você a fazer as escolhas de parâmetro de PPM certas e reduzir o esforço de ajuste.
Entender os requisitos de alto nível de desempenho e energia
Se sua carga de trabalho for "em tempo real" (por exemplo, suscetível a falhas ou a outros impactos visíveis do usuário final) ou tiver um requisito de capacidade de resposta muito rígido (por exemplo, uma corretora de ações) e se o consumo de energia não for um critério principal para seu ambiente, você provavelmente deverá apenas mudar para o plano de energia de Alto Desempenho. Caso contrário, você deve entender os requisitos de tempo de resposta das cargas de trabalho e, em seguida, ajustar os parâmetros de PPM para obter a melhor eficiência de energia possível que ainda atenda a esses requisitos.
Entender as características subjacentes da carga de trabalho
Você precisa 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 de CPU precisarem ser aumentadas rapidamente (talvez você tenha uma carga de trabalho com períodos ociosos significativos, mas precisa de capacidade de resposta muito rápida quando uma nova transação aparecer), a política de aumento de desempenho do processador talvez precise ser definida como "foguete" (que, como o nome implica, dispara a frequência do núcleo da CPU para seu valor máximo em vez de aumentá-la gradativamente durante um período).
Se a carga de trabalho tiver muita intermitência, o intervalo de verificação do PPM poderá ser reduzido para fazer com que a frequência da CPU comece a aumentar mais cedo após a ocorrência de uma intermitência. Se sua carga de trabalho não tiver alta simultaneidade de thread, o estacionamento de núcleos poderá ser habilitado para forçar a carga de trabalho a ser executada em um número menor de núcleos, o que também pode melhorar as taxas de ocorrências do 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 em níveis leves de carga de trabalho), os limites de aumento/redução do desempenho do processador poderão ser ajustados para não reagir até que determinados níveis de atividade sejam observados.
Entender 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 momentos diferentes. Nesse caso, um conjunto de parâmetros de PPM pode não ser ideal para todos os períodos. Como vários planos de energia personalizados podem ser elaborados, é possível até mesmo ajustar por períodos diferentes e alternar entre planos de energia por meio de scripts ou outros meios de configuração dinâmica do sistema.
Novamente, isso aumenta a complexidade do processo de otimização, portanto, é uma questão de quanto valor será obtido 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 Balanceado, pois em muitos casos provavelmente não vale a pena o esforço do ajuste manual para uma carga de trabalho específica em um servidor específico.
Consulte Também
- Considerações sobre o desempenho de hardware
- Server Hardware Power Considerations (Considerações de energia de hardware do servidor)
- Visão geral sobre ajuste de energia e desempenho para o Windows Server