Os data centers sangram watts e dinheiro – tudo porque têm medo de apertar um botão
O consumo de energia do data center se tornou uma grande preocupação nos últimos anos, à medida que as concessionárias lutam para atender à crescente demanda e as operadoras são forçadas a buscar meios alternativos para manter as luzes acesas.
De acordo com o Uptime Institute, reduzir o consumo de energia – e, por extensão, diminuir os custos operacionais – pode ser tão simples quanto ligar qualquer um dos mecanismos de gerenciamento de desempenho e energia incorporados aos sistemas modernos.
Não estamos falando de uma quantidade trivial de poder também. Em um postagem de blog esta semana, o analista da Uptime Daniel Bizo escreveu que simplesmente habilitar governadores e perfis de energia em nível de SO pode resultar em uma redução de 25 a 50 por cento no consumo de energia. Escalado em um datacenter inteiro, essas economias aumentam muito rapidamente.
Além disso, habilitar C-states do processador pode levar a uma redução de quase 20 por cento no consumo de energia ocioso. Em poucas palavras, C-states ditam quais aspectos do chip podem ser desligados durante períodos ociosos.
O problema, de acordo com a Bizo, é que esses recursos são desabilitados por padrão na maioria das plataformas de servidores hoje em dia, e habilitá-los geralmente está associado à instabilidade de desempenho e latência adicional.
Isso ocorre porque, quer você esteja falando sobre estados C ou P, a transição de um estado de baixo desempenho como P6 para potência máxima em P0 leva tempo. Para algumas cargas de trabalho, isso pode ter um efeito negativo no desempenho observado.
No entanto, a Bizo argumenta que, fora de algumas poucas cargas de trabalho sensíveis à latência — como computação técnica, transações financeiras, análises de alta velocidade e sistemas operacionais em tempo real — habilitar esses recursos terá impacto insignificante, se houver, no desempenho, ao mesmo tempo em que oferecerá uma redução substancial no consumo de energia.
Você realmente precisa de todo esse desempenho?
O argumento da Uptime está enraizado na crença de que os chips modernos são capazes de fornecer muito mais desempenho do que o necessário para manter uma qualidade de serviço aceitável.
“Se um segundo para uma consulta de banco de dados ainda estiver dentro da tolerância, há, por definição, valor limitado em ter uma resposta abaixo de um décimo de segundo só porque o servidor pode processar uma consulta tão rápido quando as cargas são leves. E, ainda assim, isso acontece o tempo todo”, escreveu Bizo.
Citando dados de referência publicados pela Standard Performance Evaluation Corp. e The Green Grid, a Uptime relata que os servidores modernos geralmente alcançam sua melhor eficiência energética quando seu desempenho é limitado a algo como P2.
Para dificultar ainda mais as coisas, o desempenho excessivo não é algo que normalmente é rastreado, embora existam inúmeras ferramentas disponíveis para manter SLAs e QoS.
Há um argumento a ser feito de que quanto mais rápido o cálculo for concluído, menor será o consumo de energia. Por exemplo, usar 500 watts para concluir uma tarefa em um minuto exigirá menos energia como um todo do que consumir 300 watts por dois minutos.
No entanto, Bizo ressalta que os ganhos nem sempre são tão claros. “A curva de consumo de energia para semicondutores fica mais íngreme quanto mais perto o chip chega do topo de seu envelope de desempenho.”
Em outras palavras, geralmente há um ponto de retornos decrescentes, após o qual você está queimando mais energia para ganhos mínimos. Nesse caso, executar um chip a 500 watts apenas para economizar dois ou três segundos extras em comparação com executar a 450 watts provavelmente não vale a pena.
É um pouco como cruzar a rodovia interestadual em primeira marcha. Claro que você vai chegar lá mais rápido do que se tivesse trocado para quinta ou sexta.
Muitos botões e alavancas para girar
A boa notícia é que os fornecedores de CPU desenvolveram todos os tipos de técnicas para gerenciar energia e desempenho ao longo dos anos. Muitas delas estão enraizadas em aplicativos móveis, onde o consumo de energia é uma métrica muito mais importante do que no datacenter.
De acordo com a Uptime, esses controles podem ter um grande impacto no consumo de energia do sistema e não necessariamente sobrecarregam o chip, limitando seu desempenho máximo.
Os regimes mais eficientes em termos de energia, de acordo com a Uptime, são os controles baseados em software, que têm o potencial de reduzir o consumo de energia do sistema em algo entre 25 e 50 por cento, dependendo de quão sofisticados são o regulador do sistema operacional e o plano de energia.
No entanto, esses controles de nível de software também têm o potencial de impor o maior impacto de latência. Isso potencialmente torna esses controles impraticáveis para trabalhos com rajadas ou sensíveis à latência.
Em comparação, a Uptime descobriu que implementações somente de hardware projetadas para definir metas de desempenho tendem a ser muito mais rápidas ao alternar entre estados – o que significa um menor impacto na latência. A desvantagem é que a economia de energia não é nem de longe tão impressionante, chegando a cerca de dez por cento.
Uma combinação de software e hardware oferece algo como um meio termo, permitindo que o software dê dicas ao hardware subjacente sobre como ele deve responder às demandas em mudança. A Bizo cita economias de desempenho entre 15 e 20 por cento ao utilizar recursos de gerenciamento de desempenho dessa natureza.
Embora ainda existam implicações de desempenho associadas a essas ferramentas, o impacto real pode não ser tão ruim quanto você imagina. “Indiscutivelmente, para a maioria dos casos de uso, a principal preocupação deve ser o consumo de energia, não o desempenho”, escreveu Bizo. ®