PRINCÍPIOS E TENDÊNCIAS EM GREEN CLOUD COMPUTING - PDF
Download "PRINCÍPIOS E TENDÊNCIAS EM GREEN CLOUD COMPUTING"
Luísa de Escobar Zagalo
1 PRINCÍPIOS E TENDÊNCIAS EM GREEN CLOUD COMPUTING PRINCIPLES AND TRENDS IN GREEN CLOUD COMPUTING (artigo submetido em janeiro de 2012) Carlos Becker Westphall Professor do Depto. de Informática e Estatística da Univ. Federal de Santa Catarina (UFSC) Sergio Roberto Villarreal Professor colaborador da Universidade do Estado de Santa Catarina (UDESC) ABSTRACT Cloud computing and green IT are two areas of computer science that are receiving increasing attention and are considered a priority for the development of computer systems. Green Cloud Computing approach takes the concepts of the two areas with the goal of providing a flexible and efficient computing environment. This article presents the fundamental principles and state of the art technologies that enable the green cloud computing, referencing some of the latest proposals from several authors and offering an overview which may serve as a framework for future research. Key-words: cloud computing; green IT; green networking; green cloud computing. RESUMO A computação em nuvem e a TI verde são duas áreas da Ciência da Computação que estão recebendo crescente atenção e são consideradas prioritárias para o desenvolvimento dos sistemas computacionais. A abordagem green cloud computing baseia-se nos conceitos destas duas áreas com o objetivo de oferecer um ambiente computacional flexível e eficiente. Neste artigo apresentam-se os princípios fundamentais e o estado da arte das tecnologias que viabilizam o desenvolvimento de green cloud computing, referenciando algumas das mais recentes propostas de vários autores e oferecendo uma visão geral com a finalidade de servir como ponto de partida para realizar pesquisas técnico-científicas neste tema. Palavras-chave: computação em nuvem; TI verde; green networking; green cloud computing. Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-mai 2013, artigo 7 1
2 1 INTRODUÇÃO O crescimento contínuo, em tamanho e complexidade, da infraestrutura de TI que suporta os sistemas de informação, tem chamado a atenção, primeiramente, para a necessidade de simplificar a administração e reduzir os custos associados a sua manutenção, e mais recentemente, para a necessidade de reduzir o impacto ambiental causado, principalmente, pelo excessivo consumo de energia. Utility computing é uma abordagem em que os serviços são oferecidos sob demanda, da mesma forma que a eletricidade e telecomunicações. Esta é uma tendência anunciada e procurada desde os primórdios da informática, já que libera os usuários da complexidade de ter que administrar os recursos computacionais e dos custos de manter uma infraestrutura sobredimensionada para atender possíveis picos de demanda, limitando-se a utilizar os recursos necessários em cada momento e pagando apenas pelo que foi utilizado. A evolução das tecnologias como grid computing, clusters computacionais, virtualização, web services e arquitetura orientada a serviços, assim como o aumento da capacidade e redução dos custos das redes de computadores e da internet, permitiram chegar a uma nova abordagem, que supera o conceito tradicional de utility computing, a qual é conhecida como computação em nuvem, ou cloud computing. A computação em nuvem pode ser descrita como a que ocorre em um ambiente computacional no qual os aplicativos, a plataforma de desenvolvimento ou a infraestrutura são fornecidos na forma de serviços acessados por meio da Internet, de forma flexível e sob demanda. Com esta abordagem, as organizações usuárias somente precisam manter uma pequena infraestrutura composta pelos dispositivos de usuário e pela rede de acesso e subscrever os serviços necessários, ficando para os fornecedores a responsabilidade de manter a infraestrutura, a plataforma e os aplicativos devidamente atualizados. Além da simplicidade e flexibilidade, este modelo gera economia pelo compartilhamento dos recursos físicos e pela alta especialização dos fornecedores. Tradicionalmente os sistemas informáticos foram desenvolvidos com foco no desempenho e sem preocupação com a eficiência energética. Mas com a chegada dos dispositivos móveis, esta característica tornou-se prioritária motivada pela necessidade de aumentar a autonomia das baterias. Recentemente a grande concentração de equipamentos nos datacenters colocou em evidência os custos do manejo ineficiente da energia na infraestrutura de TI, tanto em termos econômicos como ambientais, o que levou à adequação e aplicação das tecnologias e conceitos desenvolvidos para a computação móvel, para todos os equipamentos de TI e para a infraestrutura em geral. Uma maior consciência ambiental, a legislação mais restritiva e a necessidade de manter uma imagem positiva perante a crescente exigência da sociedade, assim como a possibilidade de reduzir custos, provocaram o 2 Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-abr 2013, artigo 7
3 aumento da preocupação com a sustentabilidade da TI, sendo cunhado o termo Green IT, ou TI Verde, para se referir aos esforços destinados a reduzir o seu impacto ecológico durante a fabricação, uso e disposição final. Além dos benefícios já citados, a computação em nuvem se apresenta como uma alternativa para melhorar a eficiência energética dos processos de negócios em geral e principalmente dos datacenters, contribuindo com os objetivos da green IT. Alguns autores propuseram modelos de gerenciamento dos recursos da nuvem alocados nos datacenters com foco na eficiência energética, dando origem a uma nova abordagem conhecida como nuvem verde ou green cloud computing. Sendo os serviços da nuvem fornecidos em forma remota, a abordagem é altamente dependente das redes de computadores e incrementa o custo energético das comunicações. Porém, a maior parte dos esforços de pesquisa em green cloud computing estão centrados no datacenter, desconsiderando-se o custo energético das comunicações, fato que chama a atenção para a necessidade de observar o modelo de forma integral e de aperfeiçoá-lo com as técnicas de outra incipiente área de pesquisa que é a green networking. Neste artigo, apresentam-se os princípios fundamentais e o estado da arte das tecnologias que viabilizam o desenvolvimento da green cloud computing, referenciando recentes propostas de vários autores, oferecendo uma visão geral e sistêmica e assinalando os principais desafios que devem ser resolvidos com a finalidade de servir como estímulo e referência para a realização de futuras pesquisas. Depois desta introdução, na seção 2, são apresentados os fundamentos de cloud computing. Na seção 3, são descritos os conceitos de green IT e as mais recentes tecnologias aplicadas e em estudo nesta área, incluindo os conceitos de green networking, que fornecem as bases para desenvolver os conceitos de green cloud computing apresentados na seção 4. Na seção 5, são feitas as considerações finais e propostas de trabalhos futuros. 2 CLOUD COMPUTING Buyya et al. (2008, p. 6) definem cloud computing como um sistema de computação distribuído orientado ao consumidor, que consiste em uma coleção de computadores virtualizados e interconectados que são fornecidos dinamicamente e apresentados como um ou mais recursos computacionais unificados, conforme acordo de nível de serviço negociado entre o provedor de serviços e o consumidor. As principais características do ambiente de cloud computing são o compartilhamento dos recursos que servem a múltiplos usuários e são fornecidos dinamicamente, segundo a capacidade contratada por cada um. A entrega dos serviços pela rede ocorre na forma de web services implementados mediante a arquitetura orientada a serviços. Isto proporciona flexibilidade caracterizada pela possibilidade de acrescentar ou reti- Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-mai 2013, artigo 7 3
4 rar recursos de forma rápida e sem maior esforço administrativo por parte do fornecedor (VOORSLUYS; BROBERG; BUYYA, 2011). No caso das nuvens comerciais, o usuário subscreve os serviços que deseja, especifica a qualidade requerida mediante um acordo de nível de serviço (SLA) negociado com o prestador e paga conforme o consumo mediante um modelo pay-per-use (BUYA; YEO; VENUGOPAL, 2008). Para possibilitar estas características, a abordagem se sustenta nas tecnologias de cluster computacional, grid computing, virtualização, SOA, web services e computação autonômica (VOORSLUYS; BROBERG; BUYYA, 2011). 2.1 CLASSES DE SERVIÇOS OFERECIDOS EM CLOUD COMPUTING Os serviços oferecidos mediante a abordagem de cloud computing podem ser diferenciados em três classes, conformando um modelo de três camadas, em que cada uma pode ser implementada utilizando os serviços da camada inferior (VOORSLUYS; BROBERG; BUYYA, 2011). A classe de serviços mais simples que pode ser oferecida é a infraestrutura como serviço. Em um segundo nível pode ser oferecida a plataforma de desenvolvimento como serviço. Finalmente, no terceiro nível, os aplicativos podem ser oferecidos como serviço. Esta classificação é explicada detalhadamente por Woorsluys et al. (2011) e também por Garg e Buyya (2012) e a seguir é descrita brevemente: Infraestructure as a Service (IaaS): neste nível são oferecidos recursos como servidores, storage e comunicação na forma de serviços. O usuário pode administrar estes recursos instalando software, acrescentando discos virtuais, configurando usuários e permissões etc. O EC2 da Amazon Web Services é um exemplo deste tipo de serviço com recursos como escalamento automático e importação de máquinas virtuais do usuário (AMAZON, 2011). Platform as a Service (PaaS): neste nível os provedores de cloud computing oferecem um ambiente de desenvolvimento para que o usuário possa criar e hospedar suas próprias aplicações e distribuí-las como serviço sem preocupação a respeito da infraestrutura necessária. Este ambiente inclui também componentes que podem ser incluídos nos aplicativos e serviços para monitorá-los e gerenciá-los. O Windows Azure da Microsoft é um exemplo deste tipo de serviço (MICROSOFT, 2011). Software as a Service (SaaS): neste nível os aplicativos são distribuídos como serviços e acessados por demanda. Neste modelo os usuários não precisam manter infraestrutura própria nem instalar software, já que o aplicativo e seus dados associados são acessados por meio da Internet, mediante um navegador que pode rodar em um thin client. Este modelo, além de liberar o usuário de toda complexidade, permite diminuir consideravelmente os preços, visto que o fornecedor pode diluir os custos compartilhando o aplicativo com um grande número de usuários. O Google Apps é um exemplo deste tipo de serviço (GOOGLE, 2011). 4 Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-abr 2013, artigo 7
5 2.2 MODELOS DE IMPLEMENTAÇÃO DE CLOUD COMPUTING A abordagem de cloud computing é um modelo comercial e público, mas suas vantagens o tornam conveniente também para administrar a infraestrutura interna das organizações o que deu origem a três modelos de implementação como descrevem Voorsluys et al. (2011): public cloud, private cloud e hybrid cloud. Public cloud: é um modelo que corresponde ao ambiente descrito até agora, no qual fornecedores implementam os serviços na sua infraestrutura e os disponibilizam publicamente pela Internet, por assinatura. Devido ao compartilhamento dos recursos e a delegação do controle para o fornecedor, os principais desafios deste modelo estão relacionados à segurança da informação e à qualidade do serviço (VOORSLUYS; BROBERG; BUYYA, 2011). Private cloud: é um modelo que consiste em implementar uma nuvem sobre a própria infraestrutura para fornecer serviços de TI aos usuários internos (GARG e BUYYA, 2012). Com esta configuração o datacenter torna-se mais ágil e flexível e obtém-se um manejo mais eficiente dos recursos, porém perde-se a característica da elasticidade da nuvem, porque a escalabilidade se vê limitada pelos recursos físicos disponíveis (VOORSLUYS; BROBERG; BUYYA, 2011). Hybrid Cloud: é um modelo que consiste em complementar uma nuvem privada com serviços de uma nuvem pública, obtendo-se as vantagens dos dois modelos. Esta abordagem é possível porque a nuvem privada pode utilizar interfaces compatíveis com as interfaces das nuvens públicas (VOORSLUYS; BROBERG; BUYYA, 2011). Em um próximo degrau de evolução, alguns autores como Rochwerger et al. (2011) têm proposto arquiteturas para a organização de nuvens públicas em federações, que permitem que um provedor utilize, quando necessário, capacidade de outros provedores para superar limitações próprias do ambiente como a falta de escalabilidade de um provedor isolado e a falta de interoperabilidade entre provedores. Do ponto de vista do consumo de energia do sistema, é importante enfatizar que esta definição de nuvem privada diz respeito ao domínio administrativo e não à localização física dos recursos, que podem ser locais ou remotos. Também é importante considerar que uma nuvem pública ou privada pode ser implementada sobre uma federação de datacenters do mesmo domínio administrativo distribuídos geograficamente, o que gera oportunidades de alocar a carga de trabalho, visando a uma maior eficiência no consumo de energia. 2.3 TECNOLOGIAS Como já mencionado, cloud computing é o fruto da evolução e uso combinado de diversas tecnologias que possibilitam aos fornecedores configurar uma estrutura flexível, criar sobre esta um ambiente isolado para cada usuário e fornecer acesso por meio de uma rede de comunicação Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-mai 2013, artigo 7 5
6 na forma de serviços contratados na modalidade self service, e faturados conforme utilização. Como descrito por Voorsluys et al. (2011), entre estas tecnologias se encontram cluster e grid, que forneceram os fundamentos de como aproveitar o hardware distribuído, virtualização do hardware, que possibilita a implementação de um ambiente isolado para cliente sobre recursos físicos compartilhados, web services e SOA (Service-Oriented Architecture), que forneceram padrões de software adequados para a entrega dos recursos como serviço, e finalmente a computação autônoma, que procura a melhoria dos sistemas pela diminuição da participação humana em sua operação e que confere ao ambiente de cloud computing algumas de suas principais características. Os mencionados autores descrevem brevemente estas tecnologias e fornecem referências a diversos trabalhos sobre elas. Embora todas sejam tecnologias maduras, do aprimoramento delas depende a evolução da cloud computing. Por isso, julga-se importante o entendimento de suas características fundamentais e de como elas se arquitetam na implementação do ambiente, para sustentar futuras pesquisas sobre a otimização do consumo de energia. 2.4 IMPLEMENTAÇÃO DE UMA NUVEM A camada mais baixa da arquitetura de cloud computing é formada pelas máquinas físicas (PM physical machine) compostas por servidores e sistemas de armazenamento interligados por uma rede local (GARG e BUYYA, 2012). Estes equipamentos estão tipicamente alojados em um datacenter que concentra uma grande quantidade de hardware e que conta com uma infraestrutura de fornecimento de energia elétrica e outra de resfriamento que são de fundamental importância para o correto funcionamento dos equipamentos e para a eficiência energética do sistema (MINAS; ELLISON, 2009). Sobre esta infraestrutura, que é clusterizada para torná-la mais flexível e simples de gerenciar, é instalado o software de virtualização (VMM virtual machine monitor), que tem como finalidade instanciar as máquinas virtuais (VM virtual machine) que serão fornecidas para o cliente. Cada máquina virtual tem seu próprio sistema operacional e deve ser configurado tanto seu software como seu ambiente de rede (CHAVES; URIARTE; WESTPHALL, 2011). Finalmente é instalado o software para computação em nuvem, também conhecido como VIM (virtual infraestruture manager), que é o middleware que gerencia os recursos físicos e virtuais, e fornece a interface para os usuários (VOORSLUYS; BROBERG; BUYYA, 2011). Entre as funcionalidades deste middleware, às vezes também chamado de cloud operating system, contam o suporte a máquinas virtuais e a múltiplos VMM, virtualização do armazenamento e dos recursos de rede, gerenciamento de clusters virtuais, alocação dinâmica de recursos, alta disponibilidade, tolerância a falhas e uma interface para o fornecimento self service 6 Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-abr 2013, artigo 7
7 dos recursos sob demanda dos usuários. Isto é detalhadamente explicado por Voorsluys et al. (2011). Chaves et al. (2011) descrevem a implantação, configuração e monitoramento de uma nuvem privada de pequeno porte, utilizando os softwares open source Linux, Xen, Eucalyptus e Nagios, a qual pode ser utilizada como laboratório para diversos fins. 3 GREEN IT Estudos recentes do Gartner Group demonstram que a emissão de gás carbônico provocada pela infraestrutura de TI representa 2% do total das emissões do planeta, tendo um volume equivalente ao das emissões do transporte aéreo, porém com uma perspectiva de crescimento muito maior (PETTEY, 2007). Outro estudo publicado pela mesma consultora sinaliza que do total do consumo de energia da TI, 23% acontece nos datacenters e 24% nas comunicações fixas e móveis (KUMAR; MIERITZ, 2007). Estes dados evidenciam a necessidade de tornar a TI mais eficiente para diminuir seu impacto ambiental, que é o foco da green IT e, ao mesmo tempo, marcam uma importante oportunidade de redução de custos o que torna a green IT viável e atrativa, inclusive para organizações voltadas ao lucro (MURUGESAN; LAPLANTE, 2011). Bianzino et al. (2010) afirmam que, do ponto de vista da engenharia, a green IT pode ser melhor interpretada como a redução da energia necessária para realizar uma determinada tarefa, mantendo o nível de desempenho. Em geral este é o foco que se observa na maioria dos trabalhos. Mas, pode-se afirmar que caminhando nesta direção se caminha também na direção dos objetivos ambientais. O início da green computing, e da aplicação deste termo, foi marcado pelo lançamento em 1992 do programa voluntário Energy Star da Agência de Proteção Ambiental dos EUA, que visava a identificar e promover produtos eficientes do ponto de vista energético para reduzir a emissão de gases (ENERGY STAR, 2011). Atualmente numerosas iniciativas de governos e da indústria impulsionam a green IT. Bolla et al. (2011) elencam os principais projetos de governos, assim como, das principais instituições de padronização relacionados com este tema. Atualmente, alguns autores mencionam uma segunda onda da Green IT voltada à aplicação criativa da TI para tornar mais sustentáveis os processos de todas as outras áreas de atividade, inclusive a produção e distribuição de energia elétrica (MURUGESAN; LAPLANTE, 2011). Deve-se observar que, embora a maioria das estratégias propostas pela Green IT contribua tanto no aspecto ambiental como no econômico, algumas têm impacto econômico, mas não representam redução na emissão de gases, como alocar a carga de trabalho em um datacenter de um país onde a energia seja mais barata. Outras têm impacto ecológico, mas Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-mai 2013, artigo 7 7
8 não reduzem custos, como colocar o datacenter em local abastecido por fontes de energia renováveis, ou próximo às fontes de energia. A seguir apresentam-se os princípios e as tecnologias básicas utilizados em green IT conforme classificados por Beloglazov et al. (2010). 3.1 TECNOLOGIAS E PRINCÍPIOS APLICADOS AO HARDWARE As técnicas de gerenciamento de energia aplicadas ao hardware podem ser classificadas como SPM (static power management), que aplicam melhorias permanentes baseadas, principalmente, no desenvolvimento e utilização de componentes mais eficientes, e como DPM (dynamic power management), que aplicam medidas temporárias baseadas no conhecimento em tempo real do uso dos recursos e da carga de trabalho (BELOGLAZOV et al., 2010). As técnicas utilizadas em DPM são DCD (dynamic component deativation), que consiste em desligar componentes nos períodos de inatividade, sleep state, e DPS (dynamic performance scaling), que consiste em reduzir gradualmente o desempenho quando a demanda diminui (BELOGLAZOV et al., 2010). Estas tecnologias permitem criar dispositivos, Energy Aware, que implementam a estratégia conhecida como computação proporcional, ou seja, dispositivos que apresentam um consumo de energia proporcional ao seu nível de utilização e baseiam-se, principalmente, na tecnologia DVFS e no padrão ACPI descritos a seguir: DVFS (dynamic voltage and frequency scaling): considerando que o consumo de um circuito em atividade é proporcional à freqüência de operação e ao quadrado da voltagem, esta técnica consiste em diminuir intencionalmente a performance do processador quando não está sendo totalmente utilizado, mediante a redução da freqüência e da tensão elétrica. Esta técnica é suportada pela maioria dos equipamentos modernos (BELOGLAZOV et al., 2010). ACPI (advanced configuration and power interface): é um padrão aberto proposto em 1996 pela Intel, Microsoft, Toshiba, HP e Phoenix para definir uma interface unificada de configuração e gerenciamento de energia centrada no sistema operacional e que descreve interfaces independentes de plataforma para descoberta de hardware, configuração, gerenciamento e monitoramento de energia (ACPI, 2010). A maior contribuição deste modelo, além da padronização, é ter deslocado a implementação das técnicas de gerenciamento dinâmico do hardware para o software, trazendo flexibilidade para a configuração de políticas e sua automação (BELOGLAZOV et al., 2010). O padrão ACPI define diferentes estados de consumo de energia que podem ser aplicados aos sistemas durante seu funcionamento, sendo os mais relevantes os c-states e os p-states. Os c-states são os estados de energia da CPU que podem ser C0 estado de operação, C1 halt, C3 stop clock e C4 sleep mode. Os p-states descrevem o estado de desempenho do processador representando diferentes combinações de configurações 8 Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-abr 2013, artigo 7
9 de DVFS. A quantidade de p-states varia entre implementações, sendo sempre P0 o estado de maior desempenho (ACPI, 2010). Conforme descrito por Beloglazov et al. (2010) as estratégias de DPM seriam simples de implementar se não fosse pelo custo de passar de um estado para outro, que representa um overhead não somente pelo atraso que afeta o desempenho do sistema, como também pelo consumo adicional de energia. Portanto uma mudança de estado somente se justifica se o período de aproveitamento for suficientemente longo para cobrir o custo da transição, fato que não é fácil de predizer. Existe uma grande quantidade de trabalhos destinados a propor métodos eficientes para resolver este problema como o de Albers (2010) e Beloglazov et al. (2010) que identificam aqui a necessidade tanto de melhorar estaticamente o custo de transição como os algoritmos de predição. De acordo com Minas e Ellison (2009) as maiores fontes de consumo de energia em computadores são a CPU, a memória RAM e as perdas na fonte de alimentação, indicando também que todos os componentes apresentam maior eficiência quando operam em uma alta taxa de utilização. As CPUs têm recebido constantes aprimoramentos, sendo que os processadores multicore são estaticamente muito mais eficientes que os tradicionais e mediante a implementação de técnicas dinâmicas podem reduzir seu consumo em até um 70%, conservando sua capacidade de executar os programas, enquanto outros componentes não suportam estados de baixa energia ativos e devem ser parcialmente ou totalmente desligados, o que leva a grandes perdas de desempenho pelo tempo de ativação (MINAS; ELLISON, 2009). Minas e Ellison (2009) indicam que o intenso uso da virtualização tem feito com que os servidores tenham grande quantidade de memória RAM e que o consumo de energia da memória seja maior que o consumo da CPU, enfatizando, portanto, a necessidade de desenvolver novas técnicas e abordagens para reduzir o consumo da memória. Sugerem também melhorias nas fontes de alimentação como área prioritária de pesquisa. Finalmente, observa-se que as técnicas de gerenciamento estático são de grande importância e devem ser levadas em conta no momento do projeto dos sistemas e da aquisição do hardware. No entanto, uma vez adquiridos, seus benefícios estão garantidos, diferentemente das técnicas de gerenciamento dinâmico, que requerem configuração, políticas e gerenciamento, que podem maximizar seu aproveitamento ou inclusive prejudicá-lo. Este fato sinaliza a necessidade de fornecer recursos mais eficazes para a medição e monitoramento do consumo de energia dos equipamentos. 3.2 TECNOLOGIAS E PRINCÍPIOS APLICADOS AO DATACENTER O consumo de energia elétrica representa o principal custo operacional dos datacenters. Esta energia é consumida, principalmente, pelos equipamentos de TI (servidores, storages e LAN), pelo sistema de resfria- Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-mai 2013, artigo 7 9
10 mento e pelo próprio sistema de distribuição de energia, sendo que em muitos casos o consumo destes dois últimos itens, considerados overhead, é maior que o dos equipamentos de TI propriamente ditos (BELOGLAZOV et al., 2010). Para quantificar o tamanho deste overhead existe um parâmetro que está se tornando padrão, o PUE (power usage effectiveness), que representa a relação entre a energia total consumida pelo datacenter e a energia efetivamente utilizada nos equipamentos de TI. Os valores típicos do PUE dos datacenters atuais variam entre 1,3 e 3,0 (GARG e BUYYA, 2012), mas grandes avanços estão acontecendo neste campo mediante melhorias na infraestrutura e na localização das instalações. Recentemente a Google anunciou um datacenter com PUE de 1.14 (GOOGLE, 2011). Considerando apenas os equipamentos de TI, a principal causa de ineficiência no datacenter é a baixa taxa de utilização média dos recursos, geralmente inferior a 50%, causada fundamentalmente pela variabilidade da carga de trabalho, que obriga a construir a infraestrutura para lidar com picos de trabalho que raramente acontecem, mas que degradariam a qualidade de serviço se o aplicativo estive-se sendo executado em um servidor totalmente ocupado (BELOGLAZOV et al., 2010). A estratégia utilizada para lidar com esta situação é a consolidação da carga de trabalho, que consiste em alocar toda a carga de trabalho na mínima quantidade possível de recursos físicos para mantê-los com a maior taxa de ocupação possível, e colocar os recursos físicos inutilizados em um estado de baixo consumo de energia. O desafio é como lidar com os picos de carga não previstos e o custo da ativação dos recursos inativos (GARG; BUYYA, 2012). A virtualização e a possibilidade de migrar máquinas virtuais, junto com a concentração dos arquivos em sistemas de armazenamento centralizados, tem contribuído para implementar esta estratégia com maior eficiência (BELOGLAZOV et al., 2010). 3.3 TECNOLOGIAS E PRINCÍPIOS APLICADOS NO NÍVEL DO SISTEMA OPERACIONAL E DE VIRTUALIZAÇÃO Beloglazov et al. (2010) referenciam, classificam e comentam uma série de trabalhos dedicados à aplicação de estratégias de DPM nos sistemas operacionais e nos sistemas de virtualização. No nível do sistema operacional, os autores citam propostas para servidores e para dispositivos móveis que têm como objetivo minimizar o consumo de energia, evitar a perda de desempenho e garantir que seja respeitado o orçamento de energia, mencionando também que algumas destas propostas são implementadas como extensões ao kernel do Linux e outras propõem sistemas operacionais específicos. No nível de virtualização, como o software de virtualização se encontra entre o hardware e o sistema operacional, ele deve assumir o gerenciamento de energia, monitorando o desempenho total do sistema e 10 Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-abr 2013, artigo 7
11 aplicando as técnicas DPS ou DCD apropriadas aos componentes de hardware ou, preferencialmente, atendendo às chamadas dos sistemas operacionais de cada VM e mapeando-as em mudanças no hardware. As principais soluções de virtualização utilizadas atualmente não suportam este último modo, que é proposto em pesquisas (BELOGLAZOV et al., 2010). Nathuji et al. (2007) propõem uma técnica chamada soft resource scaling para aplicar computação proporcional em máquinas virtuais. Esta técnica consiste em emular o DPS de hardware limitando o tempo de uso de CPU da VM e aplicando as capacidades de scheduling do VMM com base nas chamadas ACPI dos sistemas operacionais das VMs. Os autores demonstram que a combinação de scaling de hardware e de software proporciona maior economia de energia. 3.4 GREEN NETWORKING A infraestrutura de rede e de telecomunicações contribui com uma importante porcentagem do consumo de energia e das emissões da TI e possui características diferenciadas, motivo pelo qual os esforços para torná-la mais eficiente e ambientalmente correta constituem uma área especial de estudo que tem sido identificada sob o nome de green networking (BIANZINO et al., 2010). Como o ambiente de cloud computing é fortemente dependente das comunicações, os princípios de green networking são fundamentais para avançar para o conceito de green cloud computing. Segundo Bianzino et al. (2010) tradicionalmente o projeto de sistemas de rede tem seguido dois princípios totalmente opostos aos objetivos da green networking: o sobredimensionamento para suportar picos de demandas com margem para eventos imprevistos e a redundância com o único intuito de assumir a tarefa quando outro equipamento falha. Este fato torna a green networking tecnicamente desafiadora, tendo como principal objetivo introduzir o conceito de energy-aware no projeto de redes, sem comprometer o seu desempenho nem a sua confiabilidade. As principais estratégias utilizadas em green networking são as já apresentadas para o hardware de equipamentos finais, porém com particularidades na sua implementação. A computação proporcional se aplica para adequar, tanto a velocidade de processamento dos equipamentos como a velocidade dos links à carga de trabalho em um determinado momento. A consolidação da carga de trabalho é feita considerando os padrões de tráfego diário e semanal e desligando componentes não necessários. A virtualização é utilizada para consolidar recursos físicos, principalmente, roteadores (BIANZINO et al., 2010). A implementação da computação proporcional é realizada utilizando DFVS para regular a velocidade de processamento de pacotes, ALR (adaptative link rate) para regular a velocidade dos links conforme o tráfego do momento, e técnicas DCD (sleep mode) para colocar equipamentos em modo de baixo consumo de energia, complementado com técnicas Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-mai 2013, artigo 7 11
12 especiais de proxying para manter a presença na rede dos dispositivos inativos (BOLLA et al., 2011). A técnica ALR se fundamenta na observação de que o consumo de energia de um link de rede local ou de rede de acesso depende, principalmente, da sua velocidade, sendo relativamente independente da sua taxa de utilização, e propõe adaptar a capacidade do link, seja colocando-o em sleep state durante períodos de inatividade (que podem ser longos ou muito breves), seja reduzindo sua velocidade em períodos de baixa utilização(ieee, 2010). Segundo explicado em Bolla et al. (2011), em equipamentos de rede, o sleep mode, apresenta o desafio especial de que um dispositivo inativo perde sua presença na rede que é mantida mediante diferentes tipos de mensagens que geram tráfego permanente. Este tráfego constante entre equipamentos de rede também afeta a eficácia das técnicas de DPM nos equipamentos finais, onde a CPU deve ser acordada pela placa de rede para responder mensagens de certo modo triviais. Conforme Bianzino et al. (2010) para resolver esses problemas, a estratégia proposta é usar a interface proxying, que consiste em delegar o tratamento deste tráfego que muita vezes pode ser descartado ou requerer respostas simples para outra entidade mais econômica que a CPU, e a implementação desta entidade pode ser feita como mais uma funcionalidade da placa de rede, ou como uma unidade externa que pode atender a vários clientes, seja na forma de servidor dedicado, seja como uma função dos switches. Bianzino et al. (2010) e Bolla et al. (2011) explicam com detalhes diversas propostas de implementação destas funcionalidades. A técnica de ALR é a base do padrão da IEEE 802.3az (energy efficient ethernet) ratificado em setembro de 2010 (IEEE, 2010), sendo que já se encontram no mercado equipamentos que atendem este padrão, inclusive com funcionalidades extras conhecidas no mercado como Green Ethernet, como os switches da D-Link que reduzem o uso de energia em portas em que o equipamento final está sem uso e que reduzem a potência de transmissão com base no cumprimento do link (DLINK, 2011). No nível de camada física, as principais propostas são referentes à troca das redes metálicas por redes ópticas porque estas são mais eficientes, além de fornecer maior largura de banda, porém ainda não apresentam a flexibilidade das redes metálicas e do domínio eletrônico, já que no domínio óptico não é possível a bufferização (BIANZINO et al., 2010). Segundo Bianzino et al. (2010), no nível de camada de rede, várias técnicas foram propostas para implementar a estratégia energy-aware routing com a finalidade de consolidar o tráfego e de privilegiar as rotas com dispositivos energy-aware e apontam também que nesta camada são necessárias adaptações nos protocolos de roteamento para evitar a instabilidade das tabelas de roteamento provocadas pelas mudanças instantâneas introduzidas pelas técnicas de DPM. 12 Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-abr 2013, artigo 7
13 Os mesmos autores citam que na camada de transporte existem propostas para tornar energy-aware o protocolo TCP (Transport Control Protocol), com modificações como acrescentar uma opção tcp_sleep ao cabeçalho para informar que o transmissor entrará em estado de sleep, fazendo que a outra parte atrase o envio dos dados recebidos da aplicação, colocando-os em um buffer. Também explicam que existem propostas para modificar alguns protocolos de camada de aplicação para incluir esta sinalização, embora alguns autores considerem mais adequado implantálas na camada de transporte disponibilizando green sockets para os desenvolvedores. Bianzino et al. (2010) sugerem que, embora conceitualmente deva-se respeitar o princípio de independência das camadas, é importante considerar a necessidade de troca de informações entre camadas para chegar a soluções práticas que permitam a coordenação de todas as medidas para otimizar os resultados. Energy aware TCP, por exemplo, poderia enviar sleep requests mais frequentemente se estivesse sendo utilizado um link wireless. Blanquicet e Christensen (2008) propõem extensões ao protocolo SNMP (simple network management protocol), para que os agentes exponham o estado de energia dos dispositivos para a rede, incluindo suas capacidades de gerenciamento de energia, as configurações atuais e estatísticas, e afirmam que, com estas informações disponíveis, o administrador da rede pode monitorar remotamente o consumo de energia dos equipamentos de TI e fazer mudanças nas configurações. Finalmente, Bianzino et al. (2010) e Bolla et al. (2011) enfatizam a necessidade urgente de padronizar métricas (green metrics) para dimensionar a eficiência dos equipamentos e conjuntos de benchmark que permitam avaliar e comparar com eficácia diferentes soluções. 4 GREEN CLOUD COMPUTING Como já apresentado, a abordagem de cloud computing representa uma interessante alternativa para a utilização eficiente dos recursos computacionais, uma vez que permite consolidar a carga de trabalho de uma grande quantidade de usuários, e também porque seus recursos favorecem a consolidação da carga de trabalho dentro do datacenter. Conforme Werner et al. (2011), o modelo de green cloud computing supera a abordagem de nuvem convencional, colocando o foco do gerenciamento dos recursos do datacenter na economia de energia, mantendo o desempenho comprometido no acordo de nível de serviço. Esse modelo se baseia fundamentalmente na aplicação de critérios de provisionamento, alocação, redimensionamento e migração de máquinas virtuais para obter uma eficiente consolidação de carga nos servidores físicos. Estes autores propuseram uma solução para o controle integrado dos servidores e dos sistemas de suporte do datacenter baseada no modelo de Teoria da Orga- Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-mai 2013, artigo 7 13
14 nização que, validado mediante simulações, demonstrou obter até 40% de economia de energia, comparado ao modelo de nuvem tradicional. Srikantaiah et al. (2009) propõem uma estratégia de energy aware consolidation para o ambiente de cloud computing, determinando que o consumo de energia por transação responde a uma curva em forma de u. Existe ineficiência quando a taxa de utilização é baixa, mas também quando é alta demais, devido à degradação do desempenho. De acordo com estes resultados, definem que o objetivo da consolidação deve ser manter os servidores bem utilizados, o que significa a 70% de carga para a CPU e 50% para os HDs. No entanto, alguns autores chamam a atenção para o fato de que, considerando o consumo de todos os componentes envolvidos na execução de uma tarefa na nuvem, e não apenas o datacenter, para certo tipo de aplicações e determinados tipos de serviços, este ambiente não é o mais eficiente. Baliga et al. (2011) e Feng-Sen et al. (2011) demonstram esta afirmação mediante modelos analíticos comentados adiante. Baliga et al. (2011) se propõem a analisar o consumo total de energia no ambiente de cloud computing, comparando a energia necessária para realizar determinadas tarefas neste ambiente e em ambiente tradicional. Utilizam para isto, o modelo de cadeia de suprimentos de logística e consideram o custo de processar, guardar e transportar bits de dados ao invés de itens físicos. O modelo contempla três tipos de serviços (storage, software e processamento como serviço) e dois ambientes (nuvem privada ou virtual), considerando a nuvem privada sempre local e partindo da premissa de que o usuário de nuvem pública é sempre doméstico e o de nuvem privada sempre empresarial. Os autores chegam a conclusões como: apesar de o armazenamento na nuvem ser mais eficiente, o armazenamento em nuvem pública pode ser 3 ou 4 vezes mais custoso energeticamente devido ao incremento do consumo na rede quando os arquivos são grandes e frequentemente acessados. Software como serviço em nuvem pública pode ser ineficiente quando requer taxa de refresh de tela alta. Feng-Sen et al. (2011) também se propõem a determinar em que condições o consumo de energia é reduzido pelo uso do ambiente de cloud computing, propondo um modelo matemático que considera separadamente o consumo em terminais de usuário, rede e servidores, e três tipos de aplicações comparando seu consumo em ambiente convencional e em ambiente de nuvem. O modelo demonstra que nem sempre a eficiência da nuvem no datacenter compensa o custo da comunicação, inclusive considerando a economia que existe também nos terminais. Também advertem que, devido à grande proliferação de equipamentos móveis, green mobile comunications, deve ser um dos pilares da green cloud computing. Segundo Garg e Buyya (2012), o ambiente de cloud computing também apresenta ineficiência pelo overhead da virtualização, do gerenciamento e da contabilidade. A necessidade de manter réplicas para atender 14 Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-abr 2013, artigo 7
15 especificações de segurança, desempenho e disponibilidade, também é considerada uma fonte de ineficiência por estes autores, porque as réplicas ocupam recursos de servidores e storage e geram tráfego de rede adicional. Beloglazov et al. (2010) consideram que os conceitos de intercloud e datacenters geograficamente distribuídos devem ser desenvolvidos, não apenas para melhorar a escalabilidade dos fornecedores sem sobredimensionar a infraestrutura, como também para permitir a realocação da carga de trabalho para que seja executada em datacenters onde no momento a energia seja menos custosa, como por exemplo pelo uso de energia solar durante o dia em diferentes fusos horários e maior eficiência na refrigeração pelas condições climáticas externas. Estas constatações evidenciam a necessidade de maiores esforços para aplicar os conceitos de green IT ao ambiente de cloud computing, considerando a participação e interação de todos os elementos do sistema, para minimizar o uso de recursos, mantendo a qualidade do serviço requerida, que é o objetivo da green cloud computing. 5 CONCLUSÕES E TRABALHOS FUTUROS Neste artigo foram apresentados os conceitos básicos sobre a abordagem de cloud computing, mostrando que, desde o ponto de vista das organizações usuárias, o modelo de nuvem pública traz vantagens pela simplicidade, flexibilidade e economia para implementar seus sistemas de informação, e que o modelo de nuvem privada se apresenta como uma alternativa válida para gerenciar eficientemente os recursos do datacenter corporativo. Desde o ponto de vista dos provedores, constatou-se que a abordagem fornece recursos para a aplicação de estratégias de green IT no datacenter possibilitando uma flexível e eficiente consolidação da carga nos servidores pela migração das máquinas virtuais, mediante as quais se entregam os serviços aos clientes. Esta capacidade é maximizada quando aplicados os princípios de green cloud computing que propõem algoritmos de consolidação com foco na economia de energia mantendo o desempenho acordado. Também foi verificado que a maior parte das propostas de green cloud computing estão focadas no datacenter, mas pesquisas baseadas em modelos analíticos demonstram que, para certo tipo de aplicações, a economia no datacenter não compensa o consumo gerado pelo incremento da comunicação, tornando a nuvem menos eficiente que o ambiente tradicional. Este fato não tem recebido tanta atenção quanto a consolidação de carga nos servidores, e não foram identificadas pesquisas que proponham formas de medir e monitorar o consumo total das aplicações executadas no ambiente de nuvem e soluções para torná-las mais eficientes. Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-mai 2013, artigo 7 15
16 Foram apresentados também os conceitos básicos sobre green IT e as principais tecnologias e estratégias utilizadas para aumentar a eficiência energética dos sistemas no nível do hardware de dispositivos de usuário e servidores, dos equipamentos de rede, do software de rede, do sistema operacional, do software de virtualização e dos aplicativos. Visto que todas elas convivem no ambiente de cloud computing e que as técnicas de maior impacto dependem de configuração para funcionar adequadamente, verifica-se que o maior desafio é fazê-las funcionar coordenadamente de maneira a maximizar seu impacto. Para que isto seja possível, torna-se prioritário estabelecer métricas e conjuntos de benchmark que permitam relacionar a tarefa realizada com o consumo elétrico, e que todos os dispositivos incorporem funcionalidade para informar a energia consumida para realizar uma tarefa. Devido à natureza intrinsecamente distribuída do ambiente de cloud computing, acredita-se que soluções que contemplem o desempenho global do sistema deverão ser oriundas das contribuições de green networking. Portanto, propõe-se que trabalhos futuros procurem identificar métricas atualmente em uso e as principais propostas nesta área, com a finalidade de estabelecer um marco de referência para a implementação de soluções que permitam medir e gerenciar o consumo de energia por tarefa no ambiente de cloud computing. Propõe-se também pesquisas que explorem as extensões no SNMP como meio para fornecer a informação necessária para medir o consumo energético gerado para a execução de uma tarefa e para fornecer ao administrador da rede ferramentas adequadas para comparar diferentes configurações, como um green ping, que informe não apenas a possibilidade de alcançar um ponto da rede e o tempo de resposta, mas também a energia consumida. Para resolver o problema das aplicações ineficientes no ambiente de nuvem, sugere-se avaliar o efeito do uso das extensões do modelo cliente servidor propostas para superar os desafios dos sistemas distribuídos como replicação, proxy, cachê, código móvel e agentes móveis, já que contribuem para a diminuição do tráfego de rede. Observa-se também a necessidade de realizar um levantamento da localização dos datacenters e sua relação com a matriz energética de cada região, promovendo uma reflexão sobre as vantagens de hospedar os serviços em países com fontes de energia limpa e as oportunidades que isto pode gerar para o Brasil. Finalmente, embora o objetivo manifesto da green IT e de todas as suas especializações seja diminuir as emissões de gás carbônico e o impacto ambiental, verifica-se que a grande maioria dos trabalhos se concentra apenas nos aspectos referentes à eficiência energética e à redução dos custos operacionais. Desta forma, será necessário estimular também as estratégias puramente ecológicas, sem impacto econômico imediato, responsabilidade que geralmente fica restrita à esfera governamental e às instituições sem fins lucrativos. 16 Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-abr 2013, artigo 7
17 REFERÊNCIAS ACPI. Advanced configuration and power interface specification. Hewlett- Packard, Intel, Microsoft, Phoenix, Toshiba, Disponível em: Acesso em: dez ALBERS, Susanne. Energy efficient algorithm. Communications of the ACM, v. 53, n. 5, p , maio, AMAZON. Amazon elastic compute cloud (Amazon EC2). Seatle: Amazon, Disponível em: Acesso em: dez BALIGA, Jayant; AYRE, Robert; HINTON, Kerry; TUCKER, Rodney. Green cloud computing: balancing energy in processing, storage, and transport. IEEE, v. 99, n. 1, p , janeiro, BELOGLAZOV, Anton; BUYYA, Rajkumar; LEE, Young Choon; ZOMAYA, Albert. A taxonomy and survey of energy-efficient data centers and cloud computing, Technical Report CLOUDS-TR University of Melbourne, Melbourne, junho, BIANZINO, Aruna Prem; CHAUDET, Claude; ROSSI, Dario; ROUGIER, Jean- Louis. A survey of green networking research. Communications Surveys & Tutorials IEEE, outubro, BLANQUICET, Francisco; CHRISTENSEN, Ken. Managing energy use in a network with a new SNMP power state MIB. In: IEEE Conference on Local Computer Networks LCN, 33., Proceedings, outubro, BOLLA, Raffaele; BRUSCHI, Roberto; DAVOLI, Franco; CUCCHIETTI, Flavio. Energy efficiency in the future internet: a survey of existing approaches and trends in energy-aware fixed network infrastructures. Communications Surveys & Tutorials IEEE, maio, BUYYA, Rajkumar; YEO, Chee Shin; VENUGOPAL, Srikumar. Market-oriented cloud computing: vision, hype, and reality for delivering it services as computing utilities. In: IEEE International Conference on High Performance Computing and Communications, 10., Proceedings, setembro, CHAVES, Shirlei Aparecida; URIARTE, Rafael Bruno; WESTPHALL, Carlos Becker. Toward an architecture for monitoring private clouds. IEEE Communications Magazine, v. 49, n. 12, p , dezembro, D-LINK. Green technologies. D-LINK, Disponível em: Acesso em: dez ENERGY STAR. History of Energy Star. Washington: EPA, Disponível em: Acesso em: dez FENG-SEN, Chu; KWANG-CHENG, Chen; CHEN-MOU, Cheng. Toward green cloud computing. In: International Conference on Ubiquitous Information Management and Communication, 5., Nova Iorque, Proceedings, Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-mai 2013, artigo 7 17
18 GARG, Saurabh Kumar; BUYYA, Rajkumar. Green cloud computing and environmental sustainability. In: MURUGESAN, San; GANGADHARAN, G. Harnessing green IT: principles and practices. Oxford: Wiley Press, GOOGLE. Google Apps for business. Mountain View: Google Inc., Disponível em: Acesso em: dez GOOGLE. Data center efficiency. Mountain View: Google Inc., Disponível em: power-usage.html. Acesso em: dez IEEE p802.3az Energy efficient ethernet task force. New York: IEEE, Disponível em: Acesso em: dez KUMAR, Rakesh; MIERITZ, Lars. Conceptualizing green IT and data center power and cooling issues. Gartner Research Paper, MICROSOFT. What is the Windows Azure platform? Redmond: Microsoft, Disponível em: Acesso em: dez MINAS, Lauri; ELLISON, Brad. Energy efficiency for information technology: how to reduce power consumption in server and datacenter. Intel Press, MURUGESAN, San; LAPLANTE, Phillip. IT for a greener planet, IEEE Computer Society IT Professional, v. 13, n. 1, p , janeiro, NATHUJI, Ripal; SHWAN, Karsten. Virtualpower: coordinated power management in virtualized enterprise systems. ACM SIGOPS Operating System Review, v. 41, n. 6, p , dezembro, PETTEY, Christy. Gartner estimates ICT industry accounts for 2 percent of global CO2 emissions. Stanford: Gartner Group, Disponível em: Acesso em: dez ROCHWERGER, Benny; VÁZQUEZ, Constantino; BREITGAND, David; HADAS, David; VILLARI, Máximo; MASSONET, Philippe; ELIEZER, Levi; GALIS, Alex; LLORENTE, Ignacio; MONTERO, Rubén; WOLFSTHAL, Yaron; NAGIN, Kenneth; LARSSON, Lars; GALAN, Fermín. An architecture for federated cloud computing. In: BUYYA, Rajkumar; BROBERG, James; GOSCINSKY, Andrzej. Cloud computing principles and paradigms, New Jersey: Wiley Press, SRIKANTAIAH, Shekar; KANSAL, Aman; ZHAO, Feng. Energy aware consolidation for cloud computing. In: Conference on Power Aware Computing and Systems, 8. Berkeley, Proceedings, Berkeley: USENIX Association, VOORSLUYS, William; BROBERG, James; BUYYA, Rajkumar. Introducing to cloud computing. In: BUYYA, Rajkumar; BROBERG, James; GOSCINSKY, Andrzej. Cloud computing principles and paradigms, New Jersey: Wiley Press, Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-abr 2013, artigo 7
19 WERNER, Jorge; GERONIMO, Guilherme Arthur; WESTPHALL, Carlos Becker; KOCH, Fernando; FREITAS, Rafael. Simulator improvements to validate the green cloud computing approach. In: Latin American Network Operations and Management Symposium, Pontificia Universidad Católica del Ecuador, Proceedings, Quito, Revista Eletrônica de Sistemas de Informação, v. 12, n. 1, jan-mai 2013, artigo 7 19
Sergio Roberto Villarreal MODELO DE GERENCIAMENTO DA INFRAESTRUTURA DE REDE PARA OTIMIZAÇÃO DE NUVEM VERDE
Sergio Roberto Villarreal MODELO DE GERENCIAMENTO DA INFRAESTRUTURA DE REDE PARA OTIMIZAÇÃO DE NUVEM VERDE Dissertação submetida ao Programa de Pós-graduação em Ciência da Computação da Universidade Federal