[IEEE 2011 Brazilian Symposium on Computing System Engineering (SBESC) - Florianopolis, Brazil...

6
Economia de Energia em Aglomerados de Servidores (Energy Saving in Server Clusters) Giulio D. Bottari, Julius C. B. Leite Instituto de Computa¸c˜ao – Universidade Federal Fluminense, Niter´oi, Brasil Email: {gbottari, julius}@ic.uff.br Abstract —The widespread use of Web services from the last years has been increasing the energy consu- med by datacenters. This is both an economical and environmental concern, and has motivated research on techniques to make server clusters more energy- efficient. This work presents simple and scalable poli- cies to manage servers, while attending the soft real- time characteristics of the applications. The proposed control is able to service requests at the specified deadline 95% of the times, achieving an energy saving of more than 50% on some cases. All experiments were validated on a physical testbed. Keywords -green computing; energy-aware servers; I. Introdu¸ ao A Web vem se reinventando e crescendo a um passo cada vez mais r´apido. Redes sociais, distribui¸c˜ ao de flu- xos de v´ ıdeo,computa¸c˜ aonas nuvens e outras aplica¸c˜ oes que j´ a fazem parte do nosso dia-a-dia, simplesmente ao existiam h´ a alguns anos. Mas, qualquer que seja a pr´ oximaaplica¸c˜ ao difundida na Web, uma das grandes preocupa¸c˜ oes ser´a a sua demanda energ´ etica. Os datacenters precisam continuar a expandir e inovar para lidar com esse volume de processamento e arma- zenamento de dados. As motiva¸ oes para estudar esse problema s˜ao de origem econˆ omica, como escalabilidade e competitividade, e tamb´ em ambientais. Sabe-se que a matriz energ´ etica de v´ arios pa´ ıses se sustenta atrav´ es de combust´ ıveis f´ osseis. A queima desses combust´ ıveis con- tribui para o aumento do aquecimento global atrav´ es da produ¸c˜ ao de gases do efeito estufa. Portanto, a economia de energia possibilita uma menor emiss˜ ao desses gases. Nos aglomeradosde servidores, a carga de requisi¸c˜ oes varia durante o dia. De fato, raramente a sua capacidade axima ´ e exigida. Isso cria oportunidades para reduzir o n´ umero de servidores ativos ou diminuir a capacidade de processamento desses n´ os, atrav´ es de DVFS (Dyna- mic Voltage and Frequency Scaling ), de acordo com a demanda do momento. Esse ambiente pode ser modelado como um sistema soft real-time, pois uma requisi¸c˜ ao atendida al´ em do seu prazo definido ainda ´ util, por´ em degrada a experiˆ encia do usu´ ario que utiliza o servi¸co. O objetivo deste trabalho ´ e explorar t´ ecnicas para o gerenciamento de energia em servidores, como algumas das discutidas por trabalhos da Se¸c˜ ao II. Essas t´ ecnicas formam a base das duas pol´ ıticas aqui propostas: CDS e ADD, que ser˜ao detalhadas na Se¸c˜ ao III. Al´ em disso, essaSe¸c˜ ao apresenta um controle da satura¸c˜ ao do aglo- merado, que ´ e usado para atingir um valor de qualidade de servi¸co (QoS) desejado. Em seguida, na Se¸c˜ ao IV, o ambiente de testes e mecanismos de hardware utilizados ao apresentados. Experimentos s˜ao feitos nesse testbed ısico para validar a proposta do trabalho, na Se¸c˜ ao V. Por fim, a Se¸c˜ ao VI conclui este trabalho, com conside- ra¸c˜ oes finais sobre a proposta e trabalhos futuros. II. Trabalhos relacionados Barroso et al. discutiram a arquitetura de servidores do Google Search [1]. Cada requisi¸c˜ ao ´ e altamente pa- raleliz´avel, implicando que o fator de gargalo n˜ ao ´ eo poder computacional de cada m´ aquina, mas sim a vaz˜ ao derequisi¸c˜ oes. Por esse motivo, sua arquitetura consiste de milhares de servidores desktop, apresentando uma alta rela¸c˜ ao entre performance e potˆ encia. O primeiro trabalho a tratar uma arquitetura de aglo- merados de servidores heterogˆ eneos foi feito em 2006 [2]. Nesse trabalho foram desenvolvidas t´ ecnicas heur´ ısticas para o gerenciamento de energia do cluster. Um dos pontos fortes da proposta foi a realiza¸c˜ ao de testes em um ambiente f´ ısico. Trabalhos posteriores [3,4], baseados em m´ etodos exa- tos, procuram minimizar o gasto energ´ etico de um aglo- merado atrav´ esda configura¸c˜ ao de servidores e frequˆ en- cias que sejam ´ otimas para atender a um determinado valor de carga. A principal desvantagem dessa aborda- gem ´ e o seu alto custo computacional, que torna proi- bitiva a sua atua¸c˜ ao em tempo real para um ambiente com muitos servidores. Outro problema desse modelo ´ e que o chaveamento de servidores e de frequˆ encias est˜ ao submetidos ao mesmo per´ ıodo de atua¸c˜ ao. Enquanto que o per´ ıodo de troca de servidores deve ser longo para evitar o seu o overhead energ´ etico, o mecanismo de troca de frequˆ encias n˜ ao sofre do mesmo problema. Na verdade,dentro de um intervalo de atua¸c˜ ao de reconfigu- ra¸c˜ ao de servidores, a frequˆ encia pode ser trocada v´ arias vezes de maneira a acompanhar melhor o perfil de carga, traduzindo-se em maior economia de energia. III. Abordagem O objetivo deste trabalho consiste de buscar uma configura¸c˜ ao de servidores e frequˆ encias que minimize a potˆ encia gasta, mas mantendo uma QoS, i.e., tipi- camente o atendimento aos deadlines dasrequisi¸c˜ oes. 2011 Brazilian Symposium on Computing System Engineering 978-0-7695-4641-4/11 $26.00 © 2011 IEEE DOI 10.1109/SBESC.2011.31 118 2011 Brazilian Symposium on Computing System Engineering 978-0-7695-4641-4/11 $26.00 © 2011 IEEE DOI 10.1109/SBESC.2011.31 118 2011 Brazilian Symposium on Computing System Engineering 978-0-7695-4641-4/11 $26.00 © 2011 IEEE DOI 10.1109/SBESC.2011.31 118 2011 Brazilian Symposium on Computing System Engineering 978-0-7695-4641-4/11 $26.00 © 2011 IEEE DOI 10.1109/SBESC.2011.31 115

Transcript of [IEEE 2011 Brazilian Symposium on Computing System Engineering (SBESC) - Florianopolis, Brazil...

Page 1: [IEEE 2011 Brazilian Symposium on Computing System Engineering (SBESC) - Florianopolis, Brazil (2011.11.7-2011.11.11)] 2011 Brazilian Symposium on Computing System Engineering - Energy

Economia de Energia em Aglomerados de Servidores

(Energy Saving in Server Clusters)

Giulio D. Bottari, Julius C. B. LeiteInstituto de Computacao – Universidade Federal Fluminense, Niteroi, Brasil

Email: {gbottari, julius}@ic.uff.br

Abstract—Thewidespread use ofWeb services fromthe last years has been increasing the energy consu-med by datacenters. This is both an economical andenvironmental concern, and has motivated researchon techniques to make server clusters more energy-efficient. This work presents simple and scalable poli-cies to manage servers, while attending the soft real-time characteristics of the applications. The proposedcontrol is able to service requests at the specifieddeadline 95% of the times, achieving an energy savingof more than 50% on some cases. All experimentswere validated on a physical testbed.

Keywords-green computing; energy-aware servers;

I. Introducao

A Web vem se reinventando e crescendo a um passocada vez mais rapido. Redes sociais, distribuicao de flu-xos de vıdeo, computacao nas nuvens e outras aplicacoesque ja fazem parte do nosso dia-a-dia, simplesmentenao existiam ha alguns anos. Mas, qualquer que seja aproxima aplicacao difundida na Web, uma das grandespreocupacoes sera a sua demanda energetica.Os datacenters precisam continuar a expandir e inovar

para lidar com esse volume de processamento e arma-zenamento de dados. As motivacoes para estudar esseproblema sao de origem economica, como escalabilidadee competitividade, e tambem ambientais. Sabe-se que amatriz energetica de varios paıses se sustenta atraves decombustıveis fosseis. A queima desses combustıveis con-tribui para o aumento do aquecimento global atraves daproducao de gases do efeito estufa. Portanto, a economiade energia possibilita uma menor emissao desses gases.Nos aglomerados de servidores, a carga de requisicoes

varia durante o dia. De fato, raramente a sua capacidademaxima e exigida. Isso cria oportunidades para reduziro numero de servidores ativos ou diminuir a capacidadede processamento desses nos, atraves de DVFS (Dyna-mic Voltage and Frequency Scaling), de acordo com ademanda do momento. Esse ambiente pode ser modeladocomo um sistema soft real-time, pois uma requisicaoatendida alem do seu prazo definido ainda e util, poremdegrada a experiencia do usuario que utiliza o servico.O objetivo deste trabalho e explorar tecnicas para o

gerenciamento de energia em servidores, como algumasdas discutidas por trabalhos da Secao II. Essas tecnicasformam a base das duas polıticas aqui propostas: CDSe ADD, que serao detalhadas na Secao III. Alem disso,

essa Secao apresenta um controle da saturacao do aglo-merado, que e usado para atingir um valor de qualidadede servico (QoS) desejado. Em seguida, na Secao IV, oambiente de testes e mecanismos de hardware utilizadossao apresentados. Experimentos sao feitos nesse testbedfısico para validar a proposta do trabalho, na Secao V.Por fim, a Secao VI conclui este trabalho, com conside-racoes finais sobre a proposta e trabalhos futuros.

II. Trabalhos relacionados

Barroso et al. discutiram a arquitetura de servidoresdo Google Search [1]. Cada requisicao e altamente pa-ralelizavel, implicando que o fator de gargalo nao e opoder computacional de cada maquina, mas sim a vazaode requisicoes. Por esse motivo, sua arquitetura consistede milhares de servidores desktop, apresentando uma altarelacao entre performance e potencia.O primeiro trabalho a tratar uma arquitetura de aglo-

merados de servidores heterogeneos foi feito em 2006 [2].Nesse trabalho foram desenvolvidas tecnicas heurısticaspara o gerenciamento de energia do cluster. Um dospontos fortes da proposta foi a realizacao de testes emum ambiente fısico.Trabalhos posteriores [3,4], baseados em metodos exa-

tos, procuram minimizar o gasto energetico de um aglo-merado atraves da configuracao de servidores e frequen-cias que sejam otimas para atender a um determinadovalor de carga. A principal desvantagem dessa aborda-gem e o seu alto custo computacional, que torna proi-bitiva a sua atuacao em tempo real para um ambientecom muitos servidores. Outro problema desse modelo eque o chaveamento de servidores e de frequencias estaosubmetidos ao mesmo perıodo de atuacao. Enquantoque o perıodo de troca de servidores deve ser longopara evitar o seu o overhead energetico, o mecanismo detroca de frequencias nao sofre do mesmo problema. Naverdade, dentro de um intervalo de atuacao de reconfigu-racao de servidores, a frequencia pode ser trocada variasvezes de maneira a acompanhar melhor o perfil de carga,traduzindo-se em maior economia de energia.

III. Abordagem

O objetivo deste trabalho consiste de buscar umaconfiguracao de servidores e frequencias que minimizea potencia gasta, mas mantendo uma QoS, i.e., tipi-camente o atendimento aos deadlines das requisicoes.

2011 Brazilian Symposium on Computing System Engineering

978-0-7695-4641-4/11 $26.00 © 2011 IEEE

DOI 10.1109/SBESC.2011.31

118

2011 Brazilian Symposium on Computing System Engineering

978-0-7695-4641-4/11 $26.00 © 2011 IEEE

DOI 10.1109/SBESC.2011.31

118

2011 Brazilian Symposium on Computing System Engineering

978-0-7695-4641-4/11 $26.00 © 2011 IEEE

DOI 10.1109/SBESC.2011.31

118

2011 Brazilian Symposium on Computing System Engineering

978-0-7695-4641-4/11 $26.00 © 2011 IEEE

DOI 10.1109/SBESC.2011.31

115

Page 2: [IEEE 2011 Brazilian Symposium on Computing System Engineering (SBESC) - Florianopolis, Brazil (2011.11.7-2011.11.11)] 2011 Brazilian Symposium on Computing System Engineering - Energy

Isso sera feito em duas etapas: na primeira, chamadaConfiguracao Dinamica de Servidores (CDS), escolhe-se o subconjunto de servidores mais adequados paraatender a carga; na segunda etapa, chamada AlocacaoDinamica de Desempenho (ADD), escolhe-se o conjuntode frequencias de operacao dos servidores definidos pelaetapa anterior.A ideia basica da proposta e fornecer um compromisso

entre desempenho e reducao de energia para um aglo-merado de servidores. A metrica de desempenho esco-lhida foi a vazao maxima de requisicoes que um dadoconjunto de servidores consegue atender (considerandoa frequencia de operacao de cada um). A partir dessamedida, define-se saturacao como sendo a razao entre acarga atual e a vazao maxima: cargaatual

vazaomax

. Dessa maneira,uma saturacao de valor 1 ou maior indica que o aglome-rado esta operando na sua capacidade maxima. Por essemotivo, procura-se controlar essa variavel para obter,indiretamente, um valor proximo da QoS acordada. Essecontrole sera discutido na Secao III-C.

A. CDS – Configuracao Dinamica de Servidores

O objetivo dessa polıtica e dimensionar o numero deservidores ativos no cluster para que a carga seja aten-dida de maneira eficiente. O esquema proposto consistede algumas heurısticas simples, capazes de atender aoobjetivo da proposta ao mesmo tempo em que apresen-tam alta escalabilidade.Em uma primeira analise, observou-se que a potencia

estatica de um servidor e maior do que a sua potencia di-namica (aquela que varia com o trabalho realizado) paraos servidores do ambiente de testes. Por esse motivo, umaheurıstica adotada e minimizar o numero de servidoresativos [5]. Dificilmente a acao de ligar um servidor,diminuindo a potencia dinamica, compensara o aumentoda potencia estatica resultante do seu ligamento.Quando se trata de configuracao de servidores, deve-se

atentar principalmente para a sua alta latencia de recon-figuracao. Esse e o intervalo de tempo entre a atuacaoe efeito de uma acao de ligamento ou desligamento deum servidor1. Por conta disso, deve-se procurar ativarum servidor antes que o aglomerado fique saturado. Damesma forma, deve-se evitar que desligamentos ocorramquando a carga tende a aumentar logo em seguida.Alguns autores identificaram esse problema e apon-

taram tecnicas de previsao de carga para contorna-lo[3,6,7]. Em um trabalho recente foi feita analise doPrevisor Linear de Holt e um metodo de antecipacaosimples [8]. Nesse estudo foi concluıdo que o segundometodo oferece uma melhor relacao entre requisicoesatendidas no prazo estabelecido e minimizacao da po-tencia total do que o primeiro. Alem disso, esse metodo

1Esses intervalos sao de 6 e 5 segundos para ativacao e desati-vacao das maquinas do ambiente de testes, respectivamente.

apresenta um controle mais fino e intuitivo do nıvel desuperestimacao de configuracoes imposto ao sistema. Poresses motivos, a tecnica apresentada no referido trabalhosera incorporada ao gerenciamento proposto.O controle da polıtica CDS segue duas faixas de

requisicoes (deadzone). Quando a carga e maior do queum limite dmax, liga-se um novo servidor. De modoanalogo, atraves de um limiar inferior dmın, desativa-se um servidor. Quando a carga se encontra entre osdois limites, nenhuma acao e feita no sistema2. O me-todo de antecipacao proposto utiliza uma variavel desuperestimacao chamada γ. Ao inves de se ativar umnovo servidor quando o aglomerado se torna saturado,com um nıvel de requisicoes maior ou igual a dmax,essa faixa passa a ser dmax · γ. Alem disso, um servidorsera desligado somente quando a carga de requisicoes formenor do que dmın/γ, ao inves de dmın. Dessa forma,um valor de γ ∈ (0, 1) tem a semantica de anteciparativacoes de servidores e atrasar desligamentos.A implementacao do CDS define uma lista ordenada

de servidores a serem ligados. Essa lista permanece fixadurante o experimento e pode ser ordenada por algumcriterio de interesse. No caso deste trabalho, a lista foiordenada de acordo com a vazao maxima de requisicoesde cada maquina. Essa ordenacao minimiza o chave-amento de servidores, consequentemente diminuindo ooverhead energetico de reconfiguracao. Alem disso, umatendencia dos processadores mais modernos e oferecer,alem de uma capacidade de processamento maior, umaperformance por Watt superior. Sendo assim, ligar pri-meiro servidores mais robustos tende a ser uma acaoenergeticamente eficiente.

B. ADD – Alocacao Dinamica de Desempenho

A ADD e uma polıtica de reserva de recursos, ondeo recurso em questao e o desempenho que os servidoresdevem exibir para atender a uma demanda. Dessa forma,a polıtica ADD aponta a vazao maxima de cada servidorativo (escolhidos pelo algoritmo de CDS), que posterior-mente sera mapeada em uma frequencia de operacao.1) Modelo: Primeiramente, e necessario usar um mo-

delo que represente a potencia gasta pelos servidoresdo aglomerado (Pservidor). Como as requisicoes destetrabalho sao intensivas em CPU, pode-se admitir que orestante dos componentes utilizam uma potencia cons-tante (Pestatica) em relacao a vazao de requisicoes que oservidor esta atendendo. A medida que a vazao de cargaaumenta no servidor, tambem aumenta sua potenciadinamica (Pdinamica). A Equacao 1 resume esse modelo,onde V e f representam vazao e frequencia.

Pservidor(V, f) = Pestatica(f) + Pdinamica(V, f) (1)

2A atuacao do algoritmo de CDS tem perıodo de 20 segundos.Esse valor foi obtido atraves de simulacoes complementares, naomostradas aqui por limite de espaco.

119119119116

Page 3: [IEEE 2011 Brazilian Symposium on Computing System Engineering (SBESC) - Florianopolis, Brazil (2011.11.7-2011.11.11)] 2011 Brazilian Symposium on Computing System Engineering - Energy

Ha alguns problemas com o modelo representado pelaEquacao 1. Nele, a potencia estatica varia em funcaode f . Nao ha nenhum ganho em permanecer em umafrequencia que nao seja a mınima (i.e. f0) quando oservidor esta ocioso. Da mesma forma, nao ha razao parausar uma frequencia mais alta do que a necessaria paraatender a uma determinada demanda. Por esses motivos,e possıvel associar um valor de vazao a apenas umafrequencia, que corresponde ao estado mınimo capaz deoferecer a performance requerida. Assim, o modelo podeser simplificado pela Equacao 2.

Pservidor(V (f)) = Pestatica + Pdinamica(V (f)) (2)

Uma vez que Pestatica e constante (usa-sePestatica(f0)), a analise seguira sobre a potenciadinamica. E possıvel emular frequencias contınuasa partir das frequencias discretas presentes nosprocessadores comerciais [9]. Essa tecnica consisteem permanecer um determinado numero deciclos em cada frequencia adjacente aquela quese deseja simular. Portanto, dado uma frequenciacontınua f e as frequencias discretas imediatamentesuperiores e inferiores f+ e f−, respectivamente,segue que f = α · f+ + (1 − α) · f−, ondeα ∈ [0, 1]. Alem disso, a vazao maxima seradada por V (f) = α · V (f+) + (1 − α) · V (f−).Aplicando-se a potencia dinamica (renomeada, porsimplicidade, para P ) da Equacao 2, chega-se emP (V (f)) = α · P (V (f+)) + (1 − α) · P (V (f−)).Esse resultado e importante por que indica que essemecanismo forma uma combinacao convexa entre doispontos de operacao do processador. Sendo assim,frequencias contınuas estao sobre uma reta que liga doisestados de operacao discretos.

Para auxiliar o entendimento dessas propriedades, aFigura 1 mostra o perfil da potencia dinamica de umadas maquinas do ambiente de testes. Essa maquina pos-sui tres frequencias ou P-States. Estas tem suas poten-cias representadas em funcao da vazao. O “perfil otimo”representa a Equacao 2, construıdo usando frequenciascontınuas. Duas caracterısticas sao importantes nessafuncao: ela e convexa e monotonicamente crescente.Sendo assim, pode-se garantir que a taxa de variacaoentre potencia e vazao sera sempre crescente. Atravesdessa propriedade e possıvel otimizar a busca por umaconfiguracao de frequencias que minimize a potenciatotal do aglomerado.

2) Algoritmo: O algoritmo da ADD tem como ob-jetivo distribuir a demanda do aglomerado entre osservidores de uma configuracao de maneira energetica-mente eficiente. Para tanto, deve-se escolher os estadosmais eficientes de cada servidor, alocando vazao aosmesmos. Mas, como foi visto na secao anterior, nao e

0

5

10

15

20

25

30

35

40

45

0 50 100 150 200 250 300 350

Potê

ncia

Din

âm

ica (

W)

Vazão (req/s)

P0P1P2

Perfil ótimo

Figura 1. Relacao entre potencia e vazao de um servidor

necessario pesquisar a relacao de eficiencia3 entre osestados do mesmo servidor, pois os mesmos estao emordem decrescente.O Algoritmo 1 ilustra o funcionamento da ADD. O

parametro σ da primeira linha tem uma funcao seme-lhante ao γ do CDS, e sera discutido na Secao III-C. Acada iteracao do laco da linha 2, o servidor que possuia maior eficiencia e escolhido. Em seguida, na linha 5,tenta-se alocar a vazao maxima que pode ser obtidacom o servidor naquele estado. Na linha 10, o proximoestado do servidor e selecionado, caso seja possıvel.Por fim, a vazao alocada e reduzida da carga restante(remainingLoad) e o processo recomeca.

Algoritmo 1 Atuacao da ADD

1: remainingLoad ← load / σ2: while remainingLoad > 0 do

3: sort by efficiency(servers) {Ordena a lista de servi-

dores pela eficiencia.}4: best ← servers.last()5: contribution ← min(remainingLoad, best.∆thru)

{A contribuicao do servidor nao deve ser maior que a

carga restante.}6: best.reqThru ← best.reqThru + contribution7: if best.reqThru = best.maxThru then

8: best.efficiency← -1 {O servidor se encontra na sua

frequencia maxima. Atribui-se um valor de eficiencia

negativo para que este nao seja mais escolhido.}9: else

10: best.efficiency ← best.nextStateEfficiency()11: end if

12: remainingLoad ← remainingLoad - contribution13: end while

No pior caso o Algoritmo tera de analisar F · Nfrequencias, onde F e o numero maximo de frequencias(tipicamente, em torno de 10), e N a quantidade deservidores. A cada iteracao e feita uma ordenacao entreN servidores (O(N · logN)) e, assim, a complexidade

3Entende-se como eficiencia a razao entre a variacao de vazao e

potencia de dois estados adjacentes, ouVi−Vi−1

Pi−Pi−1

= ∆V

∆P.

120120120117

Page 4: [IEEE 2011 Brazilian Symposium on Computing System Engineering (SBESC) - Florianopolis, Brazil (2011.11.7-2011.11.11)] 2011 Brazilian Symposium on Computing System Engineering - Energy

no pior caso sera O(F · N2 · logN). Todavia, e possıvelmelhora-la para O(F · N · logN) usando uma buscabinaria (O(logN)) para inserir o servidor best na posicaocorreta, usando somente uma ordenacao antes do laco.

C. Controle de saturacao

Uma vez que o funcionamento dos algoritmos CDS eADD foi especificado, resta saber de que forma sera feitoo controle de QoS. Esse controle e feito indiretamente,atraves da variavel saturacao. Essa variavel determinaa utilizacao de um recurso, que no caso e a vazao derequisicoes do aglomerado. Quando essa utilizacao seaproxima de 1, o tempo de resposta cresce exponencial-mente, degradando a QoS. Sendo assim, deve-se apenasmanter a saturacao em um nıvel abaixo de 1. Ha umcompromisso entre energia e qualidade de servico, de-pendendo do alvo de saturacao escolhido. Considerandoque oscilacoes na carga fazem com que a saturacao flutueem torno do alvo, a probabilidade de haver perdas deQoS cresce a medida que este se aproxima de 1.O controle de saturacao se da pelas variaveis γ e σ. De

acordo com o funcionamento do CDS, o fator γ modificao nıvel de carga que engatilhara a reconfiguracao. Maisespecificamente, multiplica-se o limiar de saturacao daconfiguracao atual d por γ, obtendo-se d ·γ. Assim, paramanter uma saturacao γ, basta controlar a configuracaopara exibir uma vazao maxima de load/γ. De modoanalogo, dada uma saturacao σ pode-se obter a vazaodesejada atraves de load/σ.Visando uma interacao equilibrada e simplificada en-

tre esses dois parametros, determinou-se que a saturacaoalvo, sat, sera sat = γ = σ. Como sera visto naSecao V-B, essa abordagem funciona bem na maioriados casos. Porem, o controle de ADD e dependente daconfiguracao escolhida pelo CDS. Dessa forma, podemocorrer situacoes em que o ADD nao sera capaz demanter uma vazao load/σ. Esse fato demanda umaanalise mais profunda da relacao entre γ e σ, que seradeixada para trabalhos futuros.

IV. Ambiente de testes

O objetivo do ambiente de testes e emular, em menorescala, o funcionamento da camada de aplicacao de umaglomerado de servidores heterogeneos. Um front-ende responsavel por receber requisicoes vindas de umamaquina geradora de carga, que simula o acesso de usua-rios. Em seguida, esse servidor distribui as requisicoesentre os trabalhadores (ou workers). Essa distribuicaode requisicoes e feita de forma proporcional a capacidadealocada pelo algoritmo de ADD. Alem disso, trabalha-secom a hipotese de que o aglomerado e bem dimensionadoem relacao ao numero maximo de requisicoes.Cada servidor roda o SO Gentoo Linux (kernel 2.6.22),

uma distribuicao leve e enxuta. Alem disso, cada um

Tabela IPropriedades dos computadores do ambiente de testes

Maquina Freqs. Processadorwatt (front-end) n/a AMD Athlon 64 3200+ampere (worker) 3 AMD Athlon 64 X2 3800+coulomb (worker) 5 AMD Athlon 64 3800+hertz (worker) 5 AMD Athlon 64 3800+joule (worker) 4 AMD Athlon 64 3500+ohm (worker) 6 AMD Athlon 64 X2 5000+camburi (carga) n/a Intel Pentium 4 2.80GHz

deles possui o servidor Web Apache juntamente com ointerpretador PHP. As requisicoes servidas pelo Apachesao do tipo estatico e intensivas em CPU4. A Tabela Iresume as principais caracterısticas dos servidores desk-top utilizados no ambiente de testes. Apesar dos workersescolhidos pertencerem a mesma famılia, eles apresentamrelacoes entre performance e potencia diferentes, sendoo aglomerado resultante efetivamente heterogeneo.

A. Mecanismos de hardware

Durante o experimento, um servidor pode ser desati-vado pelo Suspend-to-RAM. Nesse estado, o contexto doprocessador e salvo em memoria RAM e, em seguida,o mesmo e desligado. Nesse momento, o servidor eincapaz de atender requisicoes, mas consome em mediaapenas 6W de potencia, segundo medidas realizadas.Para o processador voltar a operar normalmente usa-sea tecnica Wake-on-LAN. Atraves dela, um quadro MACespecial e enviado ate a placa de rede do servidor que,por sua vez, acorda o sistema. A potencia e medidaatraves de um sistema de aquisicao de dados (DAQ) e aplataforma LabVIEW, em uma abordagem semelhantea outros trabalhos [3,10].

V. Experimentos

A. Traces

Para validar um trabalho como este e importanteutilizar um padrao real de acessos de usuarios. Por isso,foram utilizados trechos de traces de acessos a paginasda Copa do Mundo de Futebol de 1998 (WC 98) esites diversos da NASA. Esses traces foram construıdosa partir de logs de acessos [11]. Os trechos utilizadospodem ser vistos na Figura 2. Cada um deles apresentaum perfil com caracterısticas distintas. O primeiro deles,WC 98, apresenta uma media de requisicoes superior, aose comparar com os demais. NASA 3 tem a maior dis-persao de requisicoes dentre os quatro traces utilizadose representa um desafio para as polıticas propostas. Ostraces NASA 1 e 2 possuem um perfil mais previsıvel,com poucas variacoes bruscas.

4A tarefa realizada por cada requisicao consiste em calcular aquantidade de numeros primos entre 2 e 200, o que certamenterepresenta uma simplificacao de uma aplicacao.

121121121118

Page 5: [IEEE 2011 Brazilian Symposium on Computing System Engineering (SBESC) - Florianopolis, Brazil (2011.11.7-2011.11.11)] 2011 Brazilian Symposium on Computing System Engineering - Energy

0

400

800

1200

0 500 1000 1500

Re

qu

isiç

õe

s/s

Tempo (s)

(a) WC 98

0

400

800

1200

0 500 1000 1500 2000 2500

Re

qu

isiç

õe

s/s

Tempo (s)

(b) NASA 1

0

400

800

1200

0 500 1000 1500 2000 2500

Re

qu

isiç

õe

s/s

Tempo (s)

(c) NASA 2

0

400

800

1200

0 500 1000 1500 2000 2500

Re

qu

isiç

õe

s/s

Tempo (s)

(d) NASA 3

Figura 2. Traces adotados nos experimentos

0.4

0.5

0.6

0.7

0.8

0.9

1

0.5 0.6 0.7 0.8

Qo

S

Saturação Alvo

WC 98NASA 1NASA 2NASA 3

Figura 3. Relacao entre saturacao e QoS

B. Relacao entre QoS e Saturacao

A proposta se baseia em um mapeamento entre onıvel de saturacao alvo e um valor de QoS. A Figura 3mostra esse mapeamento para os experimentos realiza-dos. Percebe-se nessa figura que tres dos quatro tracesutilizados possuem resultados semelhantes. Ja o NASA 3indica que o controle proposto apresenta dificuldadesem situacoes com alta oscilacao de carga. Os pontosacima da saturacao 0,7 comecam a divergir. Isso sedeve ao fato do controle CDS subestimar cada vez maisfrequentemente a carga. Todavia, valores acima de 0,7apresentam QoS abaixo de 90%, que geralmente nao saode interesse para aplicacoes desse tipo.

C. Comparacao com o Modo Performance

O primeiro conjunto de testes realizados compara aProposta (CDS e ADD) com o chamado Modo Perfor-mance. Esse e o modo de operacao onde a maioria dosaglomerados operam, procurando manter a QoS no nıvelcontratado. Nesse modo, nenhuma polıtica de reducao deconsumo de energia esta em vigor e todos os servidoresse encontram ligados e operando em suas frequenciasmaximas (nesse caso, a QoS sera sempre 1). A Proposta,por sua vez, tenta alcancar uma QoS de 95%.

Pode-se observar, atraves da Tabela II, que a economiade energia (expressa em Wh) gira em torno de 50% namaioria dos casos. Porem, no trace WC 98, a econo-mia tem um valor menor. Isso se deve ao fato que asrequisicoes estao, em media, em um valor superior emrelacao aos outros traces. Por esse motivo, o mecanismode CDS, que e responsavel pela maior parte da economiade energia, tem menos espaco de atuacao. Esse caso servepara valorizar a importancia do mecanismo de ADD, esua atuacao frequente para otimizar o gasto de energia.No trace NASA 3 nao foi possıvel manter uma relacaoentre QoS e saturacao semelhante aos outros casos, como

Tabela IIEconomia de energia em relacao ao Modo Performance

Trace Sat.Energia Energia

Economia QoSMP Proposta

WC 98 0,6 160,61 121,61 24% 0,943NASA 1 0,6 277,01 119,72 57% 0,948NASA 2 0,6 279,51 125,03 55% 0,953NASA 3 0,5 281,88 149,31 47% 0,949

foi apontado na Secao V-B. Por esse motivo, um valordiferente foi usado para a saturacao alvo.

D. Comparacao com o Modo Ondemand

Em seguida, e feita uma comparacao com o contro-lador de frequencias ondemand [12]. Esse controlador eusado por padrao na maioria das distribuicoes Linuxe tem como objetivo manter a utilizacao de CPU emum determinado nıvel (80%, por padrao). Ele nao tem acapacidade de variar a quantidade de servidores ativosno aglomerado; portanto sera usada a potencia dinamicacomo criterio de comparacao.

Alguns trabalhos anteriores obtiveram uma QoS pro-xima de 1 com o ondemand [3,4]. Nessa situacao eimpossıvel avaliar o nıvel de superestimacao obtido comessa tecnica. Porem, esse controlador possui uma varia-vel chamada powersave bias que permite trocar perfor-mance por economia de potencia. Ao fazer uso dela epossıvel explorar melhor o potencial desse controlador.Assim, o valor de powersave bias foi fixado de formaa forcar uma QoS menor do que 1. A partir do valorda QoS obtida, usa-se a variavel σ da polıtica ADDpara atingir uma QoS proxima. Atraves desse esquema,denominado Modo Ondemand, procura-se comparar demaneira mais justa a proposta com esse controlador.

A Tabela III resume os resultados obtidos com o ModoOndemand (MO) e ADD. Em primeiro lugar, pode-se observar que os valores de energia estao cerca decinco a onze vezes menores que os da Tabela II. Issoocorre pois a comparacao e feita apenas sobre a potenciadinamica do aglomerado. Na maioria dos casos, o metodoADD mostrou-se superior ao MO, como se pode observarna coluna “Economia”. Isso se deve, principalmente,a propriedade power-aware do metodo ADD. Todavia,MO mostrou desempenho semelhante ao ADD no traceNASA 1. Deve-se considerar que o MO tem atuacaomais frequente que o ADD (1,24 contra 3 segundos,respectivamente).

122122122119

Page 6: [IEEE 2011 Brazilian Symposium on Computing System Engineering (SBESC) - Florianopolis, Brazil (2011.11.7-2011.11.11)] 2011 Brazilian Symposium on Computing System Engineering - Energy

Tabela IIIEconomia de energia em relacao ao Modo Ondemand

TraceEnergia Energia

EconomiaQoS QoS

ADD MO ADD MOWC 98 26,14 27,14 3,7% 0,945 0,933NASA 1 25,06 24,96 -0,4% 0,964 0,961NASA 2 24,37 25,69 5,1% 0,999 0,993NASA 3 24,54 25,30 3,0% 0,957 0,955

E. Escalabilidade

Dentre os algoritmos da Secao III, o ADD apresentaa maior complexidade temporal. Alem disso, esse algo-ritmo tem um perıodo de atuacao mais curto do queo CDS. Sendo assim, o ADD e responsavel pela maiorparte do custo computacional da proposta e a analise deescalabilidade seguira somente com ele.Na maquina que servia de front-end para o aglome-

rado foi medido o tempo medio de 1000 execucoes dapolıtica ADD para o pior caso. Variou-se o numero deservidores da entrada do algoritmo, atraves de replica-coes das maquinas da Tabela I. Atraves dos experimentosrealizados observou-se que o algoritmo consegue proces-sar ate 805 servidores em menos de 1 segundo, o que otorna bastante escalavel.

VI. Conclusao

Este trabalho apresentou um conjunto de polıticasde economia de energia em aglomerados de servidores,CDS e ADD. Essas polıticas sao escalaveis e simples,cumprindo bem o seu papel quando testadas em umambiente real. Acredita-se que a polıtica ADD possa serincorporada de maneira complementar em trabalhos daliteratura [3,4]. Entre perıodos de atuacao dos seus me-todos de otimizacao, a ADD poderia ajudar a manter asaturacao do aglomerado sob controle, ao mesmo tempoem que otimiza a energia gasta.Gracas a independencia entre os metodos de CDS

e ADD, pode-se escolher conjuntos distintos de ser-vidores para sua atuacao. Por exemplo, podem haverservidores que precisam permanecer sempre ligados maspodem sofrer variacao de frequencia. Alem disso, ja queas polıticas nao guardam nenhum estado interno, naoe necessario interromper sua execucao para realizar amanutencao de servidores. Basta remover ou adicionarum novo servidor na entrada dos algoritmos de CDS ouADD, ja que os mesmos sao executados em tempo real.Foi apresentado tambem o chamado controle de sa-

turacao, que controla a QoS do aglomerado de ma-neira indireta. O metodo proposto oferece apenas umparametro de controle para ajustar simultaneamente asvariaveis γ e σ. Apesar desse metodo simples funcionarbem na maioria dos casos, e possıvel estende-lo parauma relacao assimetrica entre γ e σ, visando uma maiorrobustez. Pelos resultados obtidos, acredita-se que astecnicas apresentadas podem ser utilizadas de forma

transparente em sistemas reais (application agnostic), esao uma solucao escalavel e eficiente para aglomeradoscom caracterısticas soft real-time.

Referencias

[1] L. Barroso, J. Dean e U. Holzle,“Web search for a planet:The Google cluster architecture,” IEEE Micro, vol. 23,pp. 22–28, Marco 2003.

[2] C. Rusu, A. Ferreira, C. Scordino e A. Watson, “Energy-efficient real-time heterogeneous server clusters,” inIEEE Real-Time and Embedded Technology and Appli-cations Symposium, San Jose, CA, EUA, Abril 2006, pp.418–428.

[3] C. Santana, L. Bertini, J. C. B. Leite e D. Mosse, “Loadforecasting applied to soft real-time web clusters,” inACM Symposium on Applied Computing, Sierre, Suıca,Marco 2010, pp. 346–350.

[4] V. Petrucci, E. Carrera, O. Loques, J. C. B. Leite eD. Mosse, “Optimized management of power and perfor-mance for virtualized heterogeneous server clusters,” in11th IEEE/ACM International Symposium on Cluster,Cloud and Grid, Maio 2011.

[5] E. Pinheiro, R. Bianchini, E. Carrera e T. Heath, “Loadbalancing and unbalancing for power and performance incluster-based systems,” in Workshop on Compilers andOperating Systems for Low Power, vol. 180, 2001, pp.182–195.

[6] Y. Baryshnikov, E. Coffman, G. Pierre, D. Rubenstein,M. Squillante e T. Yimwadsana, “Predictability of web-server traffic congestion,” in International Workshop onWeb Content Caching and Distribution, Washington,DC, EUA, Setembro 2005, pp. 97–103.

[7] G. Dhiman, K. Mihic e T. Rosing, “A system for on-line power prediction in virtualized environments usingGaussian mixture models,” in 47th ACM Design Auto-mation Conference, 2010, pp. 807–812.

[8] G. Bottari e J. C. B. Leite, “Previsao de carga para con-figuracao dinamica de aglomerados de servidores web,”SBC Revista Eletronica de Iniciacao Cientıfica, 2011.

[9] T. Ishihara e H. Yasuura, “Voltage scheduling problemfor dynamically variable voltage processors,” in Interna-tional Symposium on Low Power Electronics and Design,Monterey, CA, EUA, Agosto 1998, pp. 197–202.

[10] L. Bertini, J. C. B. Leite e D. Mosse, “Generalizedtardiness quantile metric: Distributed DVS for soft real-time web clusters,” in Euromicro Conference on Real-Time Systems, Dublin, Irlanda, Julho 2009, pp. 227–236.

[11] LBNL, “The Internet traffic archive,” http://ita.ee.lbl.gov/index.html, 2011.

[12] V. Pallipadi e A. Starikovskiy,“The ondemand governor:past, present and future,” in Linux Symposium, Ottawa,Canada, Julho 2006, pp. 223–238.

123123123120