Navegação : Página Inicial : Imprensa (546) : Boletins (85)
2011/05 - Edição 47 - O seu software é eficiente no consumo de energia?
Leia aqui a 47a edição do boletim "Assespro em Destaque"

O seu software é eficiente no consumo de energia?
Surpreendentemente, constata-se que os softwares ainda têm muito a progredir em relação à utilização geral da energia de um PC. No caso de PCs portáteis, o menor consumo de energia também se traduz em maior duração da bateria, o que desempenha um enorme papel na criação de uma experiência de usuário final positiva. Mas, você pode questionar: não é a função do sistema operacional gerenciar a energia determinando quando entrar em uma condição de Standby com menor consumo de energia, por exemplo? É verdade, mas o que acontece é que, embora um PC em média passe a maior parte do tempo em uma condição de hibernação, só é preciso um aplicativo se comportar de maneira inconveniente para prejudicar as tecnologias mais avançadas de gerenciamento de energia do sistema e da CPU.
Em particular, os aplicativos que realizam atividades supérfluas como estatísticas de eventos ou animação de exibição de gráficos, quando estão supostamente na condição de hibernação, podem efetivamente prejudicar a tecnologia de gerenciamento de energia destinada a maximizar a quantidade de tempo gasta pela CPU na condição de menor consumo de energia. Outro exemplo é o de aplicativo de multimídia, VOIP ou antivírus que pode alterar o cronômetro do sistema operacional para um valor menor quando ativo e 'esquecer' de retornar o cronômetro ao seu valor maior padrão quando está na condição de hibernação, resultando em um despertar desnecessário da CPU de uma condição de baixo consumo de energia. De maneira ideal, um aplicativo ocioso com bom comportamento requer um aumento mínimo de consumo de energia, se houver, em relação à linha básica de ociosidade do sistema para assegurar a menor utilização de energia possível e, no caso de um sistema portátil, máxima duração da bateria.
Além do comportamento em hibernação, as cargas de trabalho ativas do aplicativo também merecem ser examinadas do ponto de vista de eficiência em energia. A utilização de extensões de conjuntos de instruções de CPU, como SSE ou Intel® Advanced Vector Extensions (Intel® AVX), pode melhorar o desempenho e a eficiência em energia de certos aplicativos com utilização intensiva de computação. A minimização da utilização de ciclos de estatísticas em contrapartida de um design voltado para eventos pode ter um efeito positivo sobre a relação desempenho/energia do aplicativo. O manuseio eficiente de dados é outra abordagem para reduzir a quantidade de energia necessária para uma determinada tarefa, como pré-busca e armazenamento de dados em buffer para dispositivos de armazenamento visando evitar frequentes leituras/gravações, permitindo maior tempo ocioso ao dispositivo. Finalmente, as sub-rotinas equilibradas de um aplicativo lhe permitem aproveitar os múltiplos núcleos do processador para execução mais rápida e permitem ao sistema permanecer mais tempo em ociosidade.
Embora os exemplos acima não representem de maneira nenhuma um sumário exaustivo, essas técnicas comuns de design de software podem fazer uma diferença significativa na redução da utilização de energia do sistema e maximização da duração da bateria. Com uma base instalada de mais de 2 bilhões de PCs prevista para o futuro, a capacidade do software de ter um impacto positivo na redução do nosso consumo de energia nunca foi tão importante. Acrescentando-se o fato de que a maior duração da bateria é um recurso necessário para a maioria dos usuários de dispositivos portáteis, fica claro que o software 'ecologicamente correto' não é apenas melhor para o planeta – é um bom negócio!
Consulte mais informações à respeito de consumo de energia na página do Programa Intel Software Partner: http://software.intel.com/partner
*Dave Valdovinos é Gerente de Produto da Software and Services
Group/ Scale Programs Organization e desempenhou nos últimos 25 anos várias funções de marketing e
tecnologia de produto na Intel. Sua formação educacional inclui graduações em Matemática / Ciência da
Computação (B.S.) e Mestrado em Administração de Empresas (MBA).
Para visualizar o 47º Boletim clique aqui