Eficiência no uso de energia no Windows


Belo post do Hara:

A cada versão lançada do Windows temos uma série de melhoramentos no que se refere ao consumo e uso eficiente da energia da máquina. A preocupação por maior tempo de bateria (no caso de notebooks e demais portáteis) e de consumo em desktops corporativos direcionaram uma série de esforços da Microsoft no desenvolvimento de cada edição do Windows, levando ao máximo da eficiência. Este artigo aborda as inovações em consumo de energia no Windows XP, Windows 7 e Windows 8, cobrindo as principais edições do Windows no atual cenário dos usuários domésticos e corporativos.

 

DIRECIONANDO O DESENVOLVIMENTO

 

Permitir que uma plataforma de sistema operacional tenha maior eficiência no uso de energia, independente do hardware dispositivos e softwares exige que sejam atendidos os seguintes requisitos:

 

  • Eficiência no modo espera:
    • Usuários gostam de manter seus computadores ligados e, mesmo que não estejam utilizando naquele momento, não gostam de desligar o computador. O motivo é que em muitos casos os computadores demoram muito para inicializar e até que o sistema operacional esteja pronto pode demorar minutos de espera. Neste ponto é importante que o sistema operacional economize energia e só utilize os recursos realmente necessários enquanto o computador estiver em modo espera.
  • Escalabilidade de cargas:
    • Uma das preocupações quando são empregadas técnicas de economia de energia é que isto em geral possa impactar em redução de desempenho. As pessoas querem economizar energia, porém sem prejudicar o desempenho, do contrário as pessoas não vão adotar.
  • Sempre disponível:
    • Como tornar um sistema operacional sempre disponível quando for necessário, levando em consideração que você queira economizar a bateria ou reduzir consumo de energia da máquina?
  • Auto Diagnosticável:
    • Quando a preocupação é o consumo de energia então é fundamental ter os controles de gerenciamento sempre precisos e detectar quais são os componentes da máquina (hardware ou software) que estejam impactando no desempenho de consumo de energia
  • Baseado em padrões de gerenciamento:
    • Muitos clientes usam ferramentas diversas para monitorar estações de rede, e é importante que o sistema operacional siga padrões de mercado para que possa ser gerenciado por diversas ferramentas.
  • Extensível, porém resiliente
    • Além de oferecer gerenciamento extensível baseado em padrões, é importante que todas as funcionalidades sejam atendidas mesmo em caso de expansão do uso dos recursos.

Baseado nestes pilares ocorreram vários investimentos no Windows visando melhor eficiência no uso de energia:

 

 

FOCO EM OCIOSIDADE DO SISTEMA

 

O principal cenário de uso de desktops corporativos e domésticos refere-se ao computador ligado, porém sem nenhuma atividade por parte do usuário. Com exceção de momentos que você está digitando ou fazendo qualquer tarefa no computador há situações frequentes no dia a dia em que você mantem o computador ligado e não realiza nenhuma ação por um tempo. O exemplo mais comum seria a saída para almoço, pois em geral as pessoas mantém o computador ligado e neste momento você não estará usando a máquina.

Um comparativo interessante para esta análise refere-se ao consumo de energia do sistema versus utilização de CPU:

Na medida em que são realizados tarefas na máquina de forma geral a cada 10% de uso de CPU impacta em média 1,25W. Em contrapartida a cada 1,25W resulta em média 8,3% de redução no tempo de duração da bateria (para notebooks). Obviamente estes dados podem sofrer variação de acordo com o hardware e demais componentes envolvidos. Entretanto já serve de alerta para administradores de rede e demais profissionais de infraestrutura ao planejar uma instalação de sistema operacional que contenha muitos processos, serviços e drivers, fazendo com que o tempo de vida da bateria seja reduzido mais rapidamente.

Quando compramos um notebook em uma loja já recebemos a máquina com o sistema operacional e diversos aplicativos e dispositivos pré-instalados. Isto oferece maior comodidade ao usuário do equipamento mas também traz um outro problema, se você pensar no gráfico mostrado acima. Muitos aplicativos desnecessários em execução na máquina vão consumir mais rapidamente a bateria de um notebook. Agora imagine este cenário para sua empresa (ou cliente, caso seja um prestador de serviço) se você comprar um notebook e apenas entregar para um usuário. Muito provavelmente em pouco tempo o usuário deste equipamento vai reclamar do tempo curto de vida da bateria.

Mesmo as instalações de sistema operacional personalizadas de notebooks em empresas também podem ser afetadas pelo mesmo problema. Em uma imagem de Sistema Operacional em ambiente corporativo você não terá os mesmos aplicativos que acompanham os equipamentos adquiridos em lojas para consumidores, entretanto você tem configurações (varreduras frequentes de antivírus, atualização automática de drivers, etc) e aplicações (softwares de gerenciamento, de inventário de hardware, etc) que vão consumir muito a CPU do equipamento.

Ao fazer uma instalação “limpa” do sistema operacional em uma máquina (no caso um notebook) você perceberá claramente o tempo maior de duração da bateria. Após instalar drivers, aplicativos de gerenciamento, configurações extras de varredura de vírus, etc você perceberá uma duração menor da bateria. Outros fatores afetam este consumo, principalmente drivers chunk size, etc.

Não há como deixar de ter drivers e demais aplicativos de gerenciamento e segurança em um ambiente corporativo. Entretanto saber otimizar tais processos é essencial. Os drivers são uma das partes mais críticas, e isto é a grande diferença ao comprar um hardware de marca X (que seja homologada de acordo com normas de consumo de energia, etc) em relação a uma marca Y (que não atende nenhuma especificação de consumo de energia).

O estado ocioso é predominante na maior parte dos cenários de computadores, e reduzir o consumo de energia neste estado é a chave para aumentar o tempo de vida da bateria (em notebooks) ou reduzir apenas o consumo (para desktops em geral).

Pensando nisso um dos focos de atenção são as atividades periódicas em background, que aumentam o consumo de energia do sistema. Eventos muito frequentes impactam na energia do processador, chipset, disco, etc. Eventos esporádicos de longa duração previnem que o sistema entre em modo sleep.

 

FREQUENCIA DO MODO OCIOSO

 

O Windows 7 já oferece uma série de melhoramentos (que aliás foram aperfeiçoados no Windows 8) para a frequência do modo ocioso da máquina. Os principais melhoramentos são:

  • Eliminar TCP DPC Timer em cada interrupção de timer do sistema
  • Reduzir frequência dos Timers de manutenção do driver USB
  • Intelligent Timer Tick Distribution (ITTD)
  • Timer Coalescing

 

Resolução de Timer

 

Por padrão o Windows 7 utiliza resolução de Timer de 15,6ms. Desta forma as aplicações em geral no Windows 7 tem um tempo de resposta satisfatório e não dão a impressão de lentidão para o usuário. Este padrão é especificado no Guia para Desenvolvedores, disponível no MSDN (http://www.microsoft.com/whdc/system/pnppwr/powermgmt/Timer-Resolution.mspx) . Entretanto existem aplicações que reduzem este Timer para 1ms, com o objetivo de tornar a aplicação responder a uma interação de tela mais rapidamente. Tal ajuste pode reduzir o tempo de duração da bateria em até 25%, e isto é crítico quando se pensa em uso eficiente de energia. Em geral os navegadores fazem estas alterações quando instalados na máquina (ex: o navegador opera ao ser instalado muda o Timer do Windows 7 (de 15,6ms para 2,5ms)).

 

Scheduler

 

O serviço de Scheduler do Windows permite alocar de forma dinâmica o uso dos Cores da máquina, utilizando-os na medida do necessário. Desta forma o serviço aloca os processos e threads nos núcleos que forem apenas necessários, e desativando (e ativando) demais Cores quando for solicitado. Este processo é o principal componente do Core Parking e tem maior utilização em ambientes com virtualização.

 

Timer Coalescing

 

Aplicações e Drivers em uma máquina poder ter ciclos independentes, cada um fazendo solicitação ao processador na medida que achar necessário. Com o Timer Coalescing as aplicações e drivers que utilizarem a API do mesmo especificam qual é o Delay tolerável. Desta forma as requisições dos aplicativos e drivers são preferencialmente feitas em lotes, agrupando em poucas chamadas aos Cores. Desta forma com uma quantidade menor de chamadas aos Cores há um consumo reduzido de energia

 

Serviços Inicializados via Trigger

 

Quando um sistema operacional é ligado, em background todos os serviços também são inicializados e, dependendo da quantidade de serviços, pode aumentar muito o tempo de inicialização do sistema operacional. Nem todos os serviços precisam ser inicializados junto com o sistema operacional e isto traz um desempenho melhor na inicialização e consequentemente menor consumo de energia quando for inicializar o sistema operacional. A partir do Windows 7, Windows Server 2008 R2, Windows 8 e Windows Server 2012 muitos serviços são configurados para Autostart, aguardando eventos específicos (triggers) para inicializar. O UBPM (Unified Background Process Manager) habilita os serviços inicializáveis por Trigger, baseado em alterações no ambiente. Estas alterações podem ser:

  • Inclusão/remoção de dispositivos, mudança de endereço IP, ingressar no domínio, etc.
    • Exemplos
      • Serviço de Bluetooth é inicializado apenas se um dispositivo estiver atualmente anexado
      • Serviço de criptografia BitLocker inicia apenas quando novos volumes forem detectados

 

GERENCIAMENTO DE ENERGIA EM DISPOSITIVOS

 

Além dos fatores técnicos de melhoria na arquitetura também temos outros pontos que foram levados em consideração no gerenciamento de energia no sistema operacional:

  • Brilho Adaptativo da Tela

    • A tela é uma das principais fontes de consumo de energia e merece um ponto especial de atenção. Você pode controlar o brilho da tela ou em alguns casos deixar que o próprio sistema operacional + hardware ajustem automaticamente (muitos notebooks tem este controle que é ativado na BIOS). O objetivo é reduzir o brilho da tela após um período de inatividade por parte do usuário. Em situações que o usuário estiver fazendo uma apresentação ou tocando alguma música/radio/vídeo tal recurso será desabilitado até a finalização do mesmo.
  • Áudio

    • Uma boa notícia para quem gosta de ouvir música pelo computador é que o Windows 7 e Windows 8 implementam as mais recentes especificações de baixo consumo de energia de áudio em alta definição, o que é bem vantajoso para cenários onde o computador é usado como central de multimídia da casa. Além disso os dispositivos de áudio USB suportam suspensão seletiva, ativando e desativando componentes de áudio na medida que forem necessários.
  • Bluetooth

    • Para quem tem dispositivos Bluetooth conectados também é implementado a suspensão seletiva de dispositivos quando estes estiverem em modo de escuta.
  • Detecção de rede LAN cabeada

    • A placa de rede automaticamente entra em modo D3 (desativada, sem consumo de energia) quando estiver desconectada.

 

MELHORAMENTOS EM POLITICA DE ENERGIA

 

Desde o lançamento do Windows Vista houve grande preocupação para ter flexibilidade de gerenciamento e consumo de energia da máquina de acordo com estado da bateria. O Windows implementa políticas básicas de gerenciamento de energia, e você também pode criar a sua, atendendo aos requisitos que desejar. Você pode estabelecer thresholds (ou pontos de atenção) da forma que desejar, e para cada ponto pode definir ações, mensagens, etc. Em cenários com notebooks isto é muito benéfico.

 

MELHORAMENTOS AO TOCAR MÍDIA

 

Muitas máquinas possuem leitor de mídia (DVD, CD, Blu-Ray, etc.) e a preocupação quando é inserida uma mídia é de que o motor do leitor não consuma tanta energia. Um dos melhoramentos implementados a partir do Windows 7 é o mecanismo de desativar o leitor após período de inatividade. Além disso há a possibilidade de configurar uma política de energia que force o conteúdo de vídeo a renderizar a 30fps, reduzindo uso de CPU e GPU. Além disso há outros melhoramentos no uso de CPU para conteúdos protegidos por cópia e/ou com DRM.

 

MELHORAMENTOS NO WAKE-ON-LAN

 

Por padrã0 o WoL (Wake-on-Lan) é habilitado em desktops, o que torna um recurso extra para gerenciamento de energia. Isto permite, por exemplo, ajudar o sistema a manter em Sleep Mode por mais tempo, com baixo consumo de energia. Outros recursos de hardware (TCP Offload, VMq, etc) ajudam e trabalham bem com o sistema operacional para aliviar uso de CPU, entretanto dependem de driver e só em alguns modelos de equipamento.

 

DETECTANDO OCIOSIDADE DO SISTEMA

 

Conforme vimos anteriormente existem várias tecnologias e melhoramentos no Windows para auxiliar no uso mais eficiente de energia. A partir do Windows 7 foram implementadas políticas mais agressivas de gerenciamento de energia que procuram colocar o sistema em modo Sleep sempre que estiver ocioso. Somente via interação do usuário e disponibilidade da aplicação é que o sistema permanece em modo ativo. As requisições de disponibilidade permitem que aplicações temporariamente sobrescrevam o gerenciamento de energia. Exemplos:

  • Quando o Media Center estiver gravando um programa de TV não é possível colocar o sistema em modo ocioso
  • Windows Media Player previne que a tela seja desligada enquanto estiver assistindo um DVD

 

DIAGNÓSTICOS E FERRAMENTAS PARA WINDOWS

 

O PowerCfg é um utilitário nativo no sistema operacional Windows que permite realizar diagnósticos de uso de energia, além de permitir configurações avançadas. Você também pode utilizá-lo para detectar problemas comuns de eficiência de energia como:

  • Suspensão seletiva de dispositivos USB
  • Processor Power Management (PPM)
  • Configurações de políticas de energia ineficientes
  • Capacidade de bateria
  • …e muito mais!

Duas principais funcionalidades do PowerCfg são:

 

RECOMENDAÇÕES

 

  • Use PowerCfg /ENERGY para ajustar a imagem de SO
    • Ajuste fino e controle na utilização da aplicação
  • Implantar uma política de economia de energia na sua empresa usando Group Policy
    • Configurar escurecimento da tela e exibir o “power off – desligar”
    • Configurar sistema ocioso para “dormir”
    • Definir ação do botão de energia para “dormir”
    • Definir menu Iniciar para “dormir”
  • Fazer uso de novas melhorias de “dormir” (Sleep) do Wake-on-LAN com um impacto mínimo ao usuário

Abs

Luiz

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: