MARÍA ELENA VILLARREAL

Tamanho: px
Começar a partir da página:

Download "MARÍA ELENA VILLARREAL"

Transcrição

1 MARÍA ELENA VILLARREAL NETPOWERCLOUDSIM: EXTENSÃO DO CLOUDSIM PARA VALIDAÇÃO DE UM MODELO DE GERENCIAMENTO DE EQUIPAMENTOS DE REDE LEGADOS EM NUVEM VERDE Rio do Sul 2013

2 MARÍA ELENA VILLARREAL NETPOWERCLOUDSIM: EXTENSÃO DO CLOUDSIM PARA VALIDAÇÃO DE UM MODELO DE GERENCIAMENTO DE EQUIPAMENTOS DE REDE LEGADOS EM NUVEM VERDE Trabalho de Curso apresentado ao curso de graduação em Ciência da Computação do Instituto Federal de Educação, Ciência e Tecnologia Catarinense Campus Rio do Sul para a obtenção do título de Bacharel em Ciência da Computação. Orientador: Prof. Rodrigo Curvêllo, Msc Rio do Sul 2013

3 MARÍA ELENA VILLARREAL NETPOWERCLOUDSIM: EXTENSÃO DO CLOUDSIM PARA VALIDAÇÃO DE UM MODELO DE GERENCIAMENTO DE EQUIPAMENTOS DE REDE LEGADOS EM NUVEM VERDE Este Trabalho de Curso foi julgado adequado para a obtenção do título de Bacharel em Ciência da Computação e aprovado em sua forma final pelo curso de Ciência da Computação do Instituto Federal de Educação, Ciência e Tecnologia Catarinense Campus Rio do Sul., de de 20. Prof. Rodrigo Curvêllo, Msc (Orientador) Instituto Federal Catarinense Campus Rio do Sul Prof. Tiago Boechel, Msc Instituto Federal Catarinense Campus Rio do Sul Prof. Paulo César Rodacki Gomes, Dr Instituto Federal Catarinense Campus Blumenau

4 AGRADECIMENTOS trabalho. A Deus. À minha família pelo apoio e incentivo. Ao meu orientador, Rodrigo Curvêllo, pelo auxílio no desenvolvimento deste

5 RESUMO A Computação em Nuvem é um paradigma que fornece infraestrutura, plataforma de desenvolvimento e aplicativos como serviço, sob demanda e cobrados conforme a medição de uso. Na prática, a Nuvem é implementada em datacenters, onde se concentram servidores físicos que executam máquinas virtuais através das quais são prestados os serviços de computação. A abordagem de Nuvem Verde incrementa o modelo com a proposta de reduzir o consumo elétrico sem prejudicar a qualidade de serviço, mediante a concentração da carga de trabalho na menor quantidade possível de equipamentos e desligando ou colocando em estado de baixo consumo de energia os equipamentos ociosos. Simuladores são utilizados para validar os algoritmos e estratégias de gerenciamento de nuvem verde. Este trabalho teve como principal objetivo estender o CloudSim, um simulador de código aberto de ambientes computacionais em nuvem, para que suporte a realização dos testes necessários para a validação de um modelo de gerenciamento de equipamentos de rede legados em nuvem verde. A metodologia utilizada consistiu em pesquisa bibliográfica, levantamento dos requisitos funcionais e não funcionais, projeto e implementação das extensões em linguagem Java e validação mediante testes e experimentos. Foram desenvolvidas classes que incorporam ao CloudSim a capacidade de representar os equipamentos da rede e a sua topologia e uma classe para gerenciá-los conforme as mudanças de estado dos servidores físicos. As extensões foram validadas através de testes e da comparação dos resultados de simulações em diferentes cenários, que demonstraram seu correto funcionamento. Palavras-chave: Computação em Nuvem. Nuvem Verde. Simulação. CloudSim. Datacenter. Gerenciamento de rede.

6 LISTA DE FIGURAS Figura 1 Camadas da implementação de uma nuvem Figura 2 Arquitetura de nuvem verde e seus componentes Figura 3 Políticas de alocação: (a) Espaço compartilhado para MVs e tarefas, (b) Espaço compartilhado para MVs e tempo compartilhado para tarefas, (c) Tempo compartilhado para MVs e espaço compartilhado para tarefas, (d) Tempo compartilhado para MVs e tarefas Figura 4 Diagrama de sequência do processamento de aplicações Figura 5 Diagrama de sequência da comunicação entre entidades Figura 6 Arquitetura de camadas do CloudSim Figura 7 Diagrama de classes UML do CloudSim Figura 8 Diagrama de classes UML do núcleo do CloudSim Figura 9 Topologia de rede padrão de um datacenter Figura 10 Diagrama de casos de uso da interação do usuário com o simulador Figura 11 Diagrama de casos de uso da interação da interação do CloudSim com as extensões Figura 12 Diagrama de classes do NetPowerCloudSim Figura 13 Diagrama de sequência da aplicação principal Figura 14 Diagrama de atividades do processo de reconfiguração da rede Figura 15 Tela principal do NetPowerCloudSim Figura 16 Resultados dos testes de unidade da classe TopologiaRede Figura 17 Gráfico da evolução do consumo da rede no Experimento Figura 18 Gráfico da evolução do consumo da rede no Experimento

7 LISTA DE QUADROS Quadro 1 Requisitos funcionais Quadro 2 Requisitos não funcionais Quadro 3 Código do método que calcula a energia consumida por um switch durante um frame da simulação Quadro 4 Trecho de código para atualizar o consumo atual do switch Quadro 5 Trecho de código do método verificamudancaestadohost Quadro 6 Trecho do método que calcula as quantidades de racks, de switches de acesso, de switches de agregação, de switches de núcleo e de módulos por switch de núcleo Quadro 7 Código do método que calcula os ids dos switches de acesso e o número das portas aos quais uma máquina física está conectada Quadro 8 Trecho de código do método desligaportassemuso que desliga as portas sem uso dos dois últimos switches de acesso Quadro 9 Código gerado pelo JUnit para teste do método calculaswitchacessoeporta e adaptado com id de máquina física e resultados esperados Quadro 10 Resultados do Experimento Quadro 11 Resultados do Experimento Quadro 12 Resultados do Experimento Quadro 13 Detalhamento do caso de uso UC Quadro 14 Detalhamento do caso de uso UC Quadro 15 Detalhamento do caso de uso UC Quadro 16 Detalhamento do caso de uso UC Quadro 17 Detalhamento do caso de uso UC Quadro 18 Detalhamento do caso de uso UC Quadro 19 Detalhamento do caso de uso UC Quadro 20 Detalhamento do caso de uso UC Quadro 21 Detalhamento do caso de uso UC Quadro 22 Detalhamento do caso de uso UC Quadro 23 Detalhamento do caso de uso UC Quadro 24 Detalhamento do caso de uso UC Quadro 25 Detalhamento do caso de uso UC Quadro 26 Detalhamento do caso de uso UC

8 LISTA DE SIGLAS BRITE Boston university Representative Internet Topology generator CIS Cloud Information Service CM Cloud Manager CPU Central Processing Unit EC2 Elastic Compute Cloud IaaS Infrastructure as a Service LAN Local Access Network MF Máquina Física MV Máquina Virtual NIST National Institute of Standards and Technology OTM Organization Theory Model PaaS Platform as a Service PE Processing Element QoS Quality of Service RAM Random Access Memory SaaS Software as a Service SLA Service Level Agreement UML Unified Modeling Language VIM Virtual Infrastructure Manager VMM Virtual Machine Manager

9 SUMÁRIO 1 INTRODUÇÃO PROBLEMA OBJETIVOS Objetivo Geral Objetivos Específicos JUSTIFICATIVA METODOLOGIA FUNDAMENTAÇÃO TEÓRICA COMPUTAÇÃO EM NUVEM Características da abordagem de nuvem Modelos de serviços Modelos de implantação Implementação de uma nuvem Computação em Nuvem Verde SIMULAÇÃO Conceitos relacionados Vantagens e desvantagens CLOUDSIM Funcionamento do CloudSim Modelagem da nuvem Modelagem da alocação de máquinas virtuais Modelagem do comportamento da rede Modelagem de cargas de trabalho dinâmicas Modelagem do consumo de energia do datacenter Processamento interno do datacenter Comunicação entre entidades Arquitetura do CloudSim Estrutura do CloudSim TRABALHOS CORRELATOS Modelos de Gerenciamento de Nuvem Verde TeachCloud CloudReports... 38

10 2.4.4 NetworkCloudSim DESENVOLVIMENTO DESCRIÇÃO REQUISITOS ESPECIFICAÇÃO Casos de Uso Diagrama de Classes Diagrama de Sequência Diagrama de Atividades IMPLEMENTAÇÃO Técnicas e ferramentas Codificação das extensões PowerSwitch NetPowerDatacenter TopologiaRede GerenciadorRede Classe principal e interface gráfica TESTES Testes de Unidade Testes de Integração Validação de requisitos SIMULAÇÕES E RESULTADOS Experimento Experimento Experimento CONCLUSÕES REFERÊNCIAS APÊNDICE A Detalhamento dos Casos de Uso... 68

11 10 1 INTRODUÇÃO Com a crescente preocupação por sustentabilidade e, consequentemente, pelo consumo consciente de energia, o conceito de Green Cloud, ou Nuvem Verde, tem ganhado destaque na comunidade científica. Esta abordagem une os conceitos de Computação em Nuvem (Cloud Computing) e TI Verde (Green IT) com o intuito de oferecer um ambiente computacional flexível e eficiente (WESTPHALL, VILLARREAL, 2013, p. 1). De acordo com Geronimo (2012), o modelo de computação em nuvem verde visa, além da economia de consumo energético, a redução de custos operacionais e o prolongamento da vida útil de equipamentos em ambientes computacionais em nuvem. Refere-se, portanto, à utilização consciente e sustentável da tecnologia de Cloud Computing (GERONIMO, 2012, p. 39). Esta, por sua vez, pode ser definida como uma categoria de serviços computacionais sofisticados oferecidos sob demanda através da Internet em que a infraestrutura computacional é vista como uma nuvem e cujo princípio central é prover computação, armazenamento e software as a service 1 (VOORSLUYS; BROBERG; BUYYA, 2011, p. 3). Na prática, segundo Westphall e Villarreal (2013), a nuvem é implementada em datacenters, que concentram grande quantidade de máquinas físicas sobre as quais são executadas as máquinas virtuais que são fornecidas aos clientes. Na computação em nuvem verde, utiliza-se o conceito de consolidação de carga, que consiste em alocar a carga de trabalho na menor quantidade possível de máquinas físicas para permitir desligar os recursos ociosos ou colocá-los em estado de baixo consumo de energia elétrica (WESTPHALL; VILLARREAL, 2013). No entanto, segundo Villarreal e Westphall (2013), as estratégias de gerenciamento de Nuvem Verde não têm dado suficiente atenção ao consumo dos equipamentos de rede e à consolidação do tráfego e propuseram um modelo para o gerenciamento dos recursos de rede dos datacenters, tanto os legados quanto os de tecnologia verde. Segundo Calheiros et al. (2011), diversos tipos de serviços podem ser oferecidos em ambientes computacionais em nuvem e cada um possui diferentes exigências de composição, configuração e implantação. Assim, a realização de testes em ambientes reais para avaliar o desempenho destes serviços sob condições variáveis, frequentemente, não é uma tarefa viável, visto que demanda muito tempo e é limitada pela rigidez física da estrutura. 1 Tradução: como um serviço.

12 11 As ferramentas de simulação, por outro lado, facilitam a reprodução de resultados ao permitirem testar distintos cenários em ambientes repetíveis e controláveis antes da implantação dos serviços em infraestruturas reais (CALHEIROS et al., 2011). O CloudSim é um framework 2 que permite modelar e simular ambientes computacionais em nuvem. De acordo com Calheiros et al. (2011), este conjunto de ferramentas foi desenvolvido na linguagem de programação Java e suporta a simulação de componentes de ambientes em nuvem como datacenters, máquinas virtuais e políticas de provisionamento de recursos. O simulador permite ainda que seus recursos sejam estendidos, o que possibilita a modelagem de ambientes de computação em nuvem personalizados e a realização de testes baseados em cenários e configurações específicos para atender a uma determinada pesquisa (CALHEIROS et al., 2011). Neste trabalho, são realizadas extensões ao simulador CloudSim para permitir a validação do modelo de gerenciamento de equipamentos de redes citado anteriormente. Nas seções seguintes são descritos o problema, os objetivos, a justificativa e a metodologia. No capítulo 2, é apresentada a fundamentação teórica, que aborda os conceitos de Computação em Nuvem e Nuvem Verde, o processo de simulação, a estrutura e o funcionamento do CloudSim e os trabalhos correlatos. No capítulo 3, é relatado o desenvolvimento das extensões, incluindo os requisitos funcionais e não funcionais; a especificação da implementação; os testes realizados; as simulações executadas e os resultados obtidos. Por fim, no capítulo 4, são feitas as considerações finais e propostas de trabalhos futuros. 1.1 PROBLEMA Villarreal e Westphall (2013) propuseram uma ampliação a uma abordagem de alocação e distribuição de máquinas virtuais em ambiente de nuvem computacional verde. Esta abordagem, baseada no modelo de Teoria da Organização, foi desenvolvida pelo Laboratório de Redes e Gerência (LRG) da Universidade Federal de Santa Catarina e apresentada e validada por Werner (2011). A extensão proposta incorpora estratégias de eficiência energética ao modelo mediante o acréscimo de mecanismos para o gerenciamento de recursos de rede de datacenters, tanto os legados quanto os de tecnologia verde (VILLARREAL; WESTPHALL, 2013). 2 Aplicação parcialmente completa e reutilizável que pode ser adaptada para o desenvolvimento de aplicações personalizadas (FAYAD; SCHMIDT, 1997).

13 12 No entanto, para medir os ganhos de eficiência obtidos com a otimização do consumo dos equipamentos de rede e validar o modelo ampliado, é necessário estender o simulador CloudSim, que não possui capacidade para representar os equipamentos e a topologia da rede e realizar seu gerenciamento, recursos necessários para os testes que devem ser realizados a fim de verificar os efeitos do modelo proposto. 1.2 OBJETIVOS Objetivo Geral Este trabalho tem como objetivo estender o simulador CloudSim de forma que permita a realização dos testes necessários para a validação de um modelo de gerenciamento de equipamentos de rede legados em um ambiente computacional de nuvem verde Objetivos Específicos Os objetivos específicos do trabalho são: a) implementar classes para a representação de entidades de rede conforme as necessidades do modelo e para a geração da topologia da rede a partir de regras previamente definidas; b) incluir as funcionalidades de ativação e desativação de equipamentos de rede e portas em função da consolidação de carga dos servidores; c) permitir a configuração da velocidade das portas dos equipamentos de rede de acordo com as regras e crenças do modelo; d) calcular o consumo de energia dos equipamentos de rede e da rede em geral; e) interagir com as classes já existentes no simulador; f) integrar os resultados aos das classes do CloudSim. 1.3 JUSTIFICATIVA Através do gerenciamento dos recursos de rede em ambientes de nuvem computacional verde proposta por Villarreal e Westphall (2013), é possível diminuir o consumo energético de equipamentos de rede e servidores e, por conseguinte, obter significativos ganhos de eficiência em datacenters e reduzir o impacto ambiental. Para

14 13 mensurar e validar estes ganhos a fim de possibilitar a implantação do modelo em ambientes reais, é necessário realizar simulações que permitam testar os efeitos da aplicação desta abordagem em diferentes cenários com diferentes exigências de desempenho e com diferentes regras e crenças (VILLARREAL; WESTPHALL, 2013, p. 11). Estender o simulador CloudSim permitirá, além da validação do modelo mencionado, a realização de simulações para oferecer suporte a pesquisas da área de computação em nuvem verde realizadas pelo Laboratório de Redes e Gerência do departamento de Ciência da Computação da Universidade Federal de Santa Catarina. Além das contribuições ambientais e acadêmicas já citadas, as extensões realizadas ao CloudSim em conjunto com sua devida documentação podem servir como base para novas extensões, bem como para a criação de ferramentas completas de simulação específicas para ambientes computacionais em nuvem verde. 1.4 METODOLOGIA Para a elaboração deste trabalho, será realizada uma pesquisa bibliográfica em livros, artigos científicos publicados e monografias acadêmicas acerca dos temas de Computação em Nuvem e Computação em Nuvem Verde, bem como sobre os conceitos básicos de simulação. Também serão estudados e descritos a estrutura e o funcionamento do simulador CloudSim e trabalhos correlatos. Serão definidos os requisitos funcionais e não funcionais que devem ser atendidos pelas extensões e as classes a serem implementadas ou estendidas serão modeladas através de Diagramas UML de Classes, de Casos de Uso, de Atividades e de Sequência. Visto que o simulador CloudSim foi desenvolvido em Java, as extensões serão implementadas nesta linguagem e o paradigma de programação a ser utilizado é a orientação a objetos. Com o intuito de validar as extensões realizadas ao CloudSim, serão efetuados testes e experimentos de acordo com as regras e crenças definidas no modelo de simulação da abordagem proposta por Villarreal e Westphall (2013). Uma vez verificado e comprovado o correto funcionamento das extensões realizadas, estas serão documentadas com o auxílio do gerador de documentação Javadoc, desenvolvido pela Sun Microsystems.

15 14 2 FUNDAMENTAÇÃO TEÓRICA Neste capítulo, é abordado o tema de Computação em Nuvem, através da definição do paradigma e da descrição de suas características fundamentais, dos tipos de serviços oferecidos e das formas de implantação. São descritas ainda a arquitetura e a implementação de uma nuvem. Em relação ao processo de simulação, são definidos conceitos básicos e relacionados, bem como seus aspectos positivos e negativos. Para o entendimento do funcionamento e da estrutura do simulador CloudSim, são apresentadas suas características e arquitetura, as principais classes de sua implementação e a forma como se relacionam. 2.1 COMPUTAÇÃO EM NUVEM A Computação em Nuvem, do inglês Cloud Computing, apresenta diversas definições na literatura. Com o intuito de conceituar o paradigma, duas delas são apresentadas a seguir: Computação em nuvem é um modelo que permite acesso ubíquo, conveniente e sob demanda através de uma rede a um conjunto compartilhado de recursos computacionais configuráveis (como redes, servidores, armazenamento, aplicações e serviços) que podem ser rapidamente provisionados e liberados com um esforço mínimo de gestão ou de interação com o provedor de serviço (MELL; GRANCE, 2011, p.2) 3. Uma nuvem é um tipo de sistema de computação paralelo e distribuído que consiste em uma coleção de computadores virtualizados e interconectados que são provisionados dinamicamente e apresentados como um ou mais recursos computacionais unificados baseado em acordos de nível de serviço estabelecidos através de negociação entre o provedor de serviços e o consumidor (BUYYA; YEO; VENUGOPAL, 2008, p. 2) 4. Com base nestas definições, observa-se que a Computação em Nuvem abrange tanto as aplicações que são fornecidas como serviço através da Internet quanto o hardware e o software dos datacenters responsáveis pelo fornecimento de tais serviços (ARMBRUST et al., 2010). 3 Texto original traduzido por esta autora: Cloud computing is a model for enabling ubiquitous, convenient, ondemand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. 4 Texto original traduzido por esta autora: "A Cloud is a type of parallel and distributed system consisting of a collection of inter-connected and virtualised computers that are dynamically provisioned and presented as one or more unified computing resources based on service-level agreements established through negotiation between the service provider and consumers.

16 15 Em relação à origem do conceito, a Computação em nuvem é resultado da evolução e integração de diferentes tecnologias, como computação em grade, processamento paralelo, computação autônoma, virtualização e browsers. Já o termo surgiu em 2006 em uma palestra sobre como era realizado o gerenciamento dos datacenters da Google, ministrada pelo funcionário da empresa, Eric Schmidt, e ganhou maior destaque com o lançamento do serviço EC2 (Elastic Cloud Computing) da Amazon no mesmo ano (TAURION, 2009) Características da abordagem de nuvem O NIST (National Institute of Standards and Technology) define cinco características essenciais que devem ser contempladas por uma nuvem (MELL; GRANCE, 2011). São elas: autoatendimento sob demanda: uma nuvem permite que seus usuários utilizem seus serviços de forma automática e sob demanda, sem a necessidade de interação com operadores humanos; amplo acesso à rede: os recursos são fornecidos através da rede e acessados por mecanismos padronizados, que permitem o uso por plataformas heterogêneas; agrupamento de recursos: os recursos computacionais (físicos e virtuais) do provedor de serviços são agrupados de forma a atender dinamicamente as demandas dos consumidores, que, na maior parte das vezes, não têm conhecimento da localização exata de tais recursos, mas podem ser capazes de determiná-la em um nível de abstração mais alto (como país, estado ou datacenter); rápida elasticidade: os recursos fornecidos através de uma nuvem podem ser provisionados e liberados rapidamente para ajustarem-se à variação da demanda. Como resultado, frequentemente, o usuário tem a impressão de que os recursos oferecidos são ilimitados; serviço medido: sistemas em nuvem controlam e otimizam o uso dos recursos automaticamente através de medições e podem monitorar e reportar a utilização de recursos de forma transparente aos consumidores e provedores. Para que uma nuvem atenda às expectativas dos consumidores, Voorsluys, Broberg e Buyya (2011) definem ainda como atributos indispensáveis:

17 16 medição e cobrança por uso: os recursos oferecidos por uma nuvem devem ser medidos de acordo com o tipo de serviço e cobrados conforme o uso; customização: como há grandes disparidades entre as necessidades dos usuários, os serviços da nuvem devem ser altamente personalizáveis Modelos de serviços Os serviços oferecidos em um ambiente computacional em nuvem são divididos em três modelos ou níveis de abstração, que podem ser vistos como uma arquitetura de camadas na qual os serviços de uma camada mais baixa compõem serviços de uma camada mais alta (VOORSLUYS; BROBERG; BUYYA, 2011). Os modelos de serviços são descritos a seguir: Infraestrutura como Serviço (IaaS Infrastructure as a Service): de acordo com Voorsluys, Broberg e Buyya (2011), é considerada a camada inferior dos sistemas computacionais em nuvem e oferece recursos virtualizados de servidores de computação, armazenamento e comunicação sob demanda. Como exemplo deste modelo de serviço, pode-se citar o EC2 da Amazon Web Services, que permite aos usuários utilizar servidores virtuais e configurar e escalonar a capacidade do ambiente computacional (AMAZON, 2013); Plataforma como Serviço (PaaS Platform as a Service): esta camada, com nível de abstração intermediário, oferece um ambiente de desenvolvimento e hospedagem que permite aos usuários criar aplicações sem preocupar-se com requisitos de infraestrutura, como quantidade de processadores ou memória necessários (VOORSLUYS; BROBERG; BUYYA, 2011). É exemplo deste tipo de serviço o Windows Azure, da Microsoft, que possibilita criar, implantar e gerenciar aplicativos através de uma rede global de datacenters (MICROSOFT, 2013); Software como Serviço (SaaS Software as a Service): é a camada superior da arquitetura, na qual os serviços oferecidos consistem em aplicações que podem ser acessadas pelos usuários finais através da Web, sem a necessidade de instalá-las localmente e com as mesmas funcionalidades de programas tradicionais para desktop (VOORSLUYS; BROBERG; BUYYA, 2011). Assim, de acordo com Mell e Grance (2011,

18 17 p. 2), o serviço fornecido ao consumidor é o uso de aplicações do provedor que executam em uma infraestrutura de nuvem. O Google Apps constitui um exemplo deste modelo, uma vez que oferece como serviço aplicativos de , agenda, criação e compartilhamento de documentos, entre outros (GOOGLE, 2013) Modelos de implantação Com base nas formas de implantação e acesso, e a despeito do modelo de serviço oferecido, uma nuvem pode ser classificada como: pública: modelo de nuvem disponibilizado por organizações empresariais, acadêmicas ou governamentais para o público em geral (MELL; GRANCE, 2011). De acordo com Sun Microsystems (2009), este tipo de nuvem permite que empresas utilizem infraestruturas muito maiores do que as que poderiam possuir e transfere os riscos destas para o provedor de serviços; privada: neste modelo, a infraestrutura da nuvem pode ser utilizada apenas por membros de uma determinada organização. No entanto, pode ser gerenciada pela própria organização ou por terceiros (MELL; GRANCE, 2011); comunitária: é compartilhada por um grupo de consumidores de organizações distintas, mas com objetivos ou políticas em comum e pode ser gerenciada e operada por uma ou mais organizações pertencentes à comunidade ou por terceiros (MELL; GRANCE, 2011); híbrida: uma nuvem híbrida, segundo Mell e Grance (2011), é composta por dois ou mais tipos diferentes de nuvens (pública, privada ou comunitária), que, apesar de unidas por tecnologias proprietárias ou padronizadas, permanecem como entidades únicas Implementação de uma nuvem De acordo com Taurion (2009, p.44), o fundamento básico da Computação em Nuvem é a virtualização dos recursos computacionais e, para que esta virtualização seja

19 18 possível, são empregadas distintas tecnologias, que formam uma estrutura de camadas. Esta estrutura e seus componentes são mostrados na Figura 1. A camada mais baixa compreende as Máquinas Físicas (MFs), que compõem o datacenter e consistem em servidores de computação e armazenamento que fornecem a infraestrutura de hardware para criar recursos virtualizados (BUYYA; BELOGLAZOV; ABAWAJY, 2010). A segunda camada contém o software de virtualização, denominado VMM (Virtual Machine Manager), que executa em cada servidor físico e tem como função instanciar as Máquinas Virtuais (MVs) que são fornecidas aos consumidores (CELESTI et al., 2013). Segundo Chaves, Uriarte e Westphall (2011) o VMM, também chamado de monitor, permite executar o sistema operacional hóspede em cada máquina virtual e fornece a interface entre os recursos virtuais e reais do sistema hospedeiro. Na terceira camada, encontra-se o VIM (Virtual Infrastructure Manager), cuja finalidade é o gerenciamento de recursos físicos e virtuais. Este middleware define quais MVs serão instanciadas e em qual servidor físico e é responsável por configurá-las (CELESTI et al., 2013). Voorsluys, Broberg e Buyya (2011) comparam o VIM a um sistema operacional tradicional, com a diferença de que este agrega recursos de diferentes computadores e os apresenta como um sistema uniforme a usuários e aplicações. A última camada é constituída pelo CM (Cloud Manager), que age como a interface entre os usuários e a infraestrutura, implementa a lógica de negócio do provedor e aborda questões de segurança e QoS (Quality of Service) (CELESTI et al., 2013). Esta camada é, portanto, responsável pelo Acordo de Nível de Serviço (SLA Service Level Agreement), que é o acordo legal firmado entre o provedor de serviços e o cliente a fim de garantir a qualidade de serviço requerida. O SLA define uma lista de serviços e seus respectivos atributos de qualidade, como tempo de resposta, disponibilidade, confiabilidade e custo (MENASCE; ALMEIDA; DOWDY, 2004).

20 19 Figura 1 Camadas da implementação de uma nuvem. Fonte: Acervo do autor Computação em Nuvem Verde A Computação em Nuvem Verde, do inglês Green Cloud Computing, visa o uso eficiente da infraestrutura de computação em nuvem. Assim, difere da abordagem de nuvem convencional, uma vez que leva em consideração a eficiência energética em datacenters, cujos recursos devem ser alocados de forma que não apenas se cumpram os requisitos de QoS definidos no SLA, mas também que seja possível reduzir o uso de energia elétrica (BUYYA; BELOGLAZOV; ABAWAJY, 2010). De acordo com Beloglazov et al. (2011, p. 11), a principal causa de ineficiência energética em datacenters é a baixa média de utilização dos recursos 5 ocasionada devido à variabilidade da carga de trabalho, que obriga os datacenters a serem equipados para suprir picos de carga que raramente acontecem na prática. Como consequência, os recursos computacionais encontram-se subutilizados a maior parte do tempo e, nesta condição, a eficiência energética das máquinas físicas é mínima. Estas afirmações estão baseadas na constatação de que o consumo de energia do hardware não é proporcional à carga de trabalho. Como descrito por Bose et al. (2011), ambientes de nuvem convencional utilizam técnicas de balanceamento de carga, que distribuem igualmente as solicitações recebidas entre um grupo de MFs. Dessa forma, os servidores operam com o mínimo possível de carga para garantir alta performance e, consequentemente, atender às exigências de qualidade de serviço. O modelo de nuvem verde, por outro lado, baseia-se na consolidação de carga, que consiste 5 Texto original traduzido por esta autora: The main reason of the power inefficiency in data centers is low average utilization of the resources.

21 20 em agrupar a carga de trabalho no menor número possível de recursos físicos e desligar ou colocar em modo de baixo consumo energético os recursos ociosos a fim de reduzir o consumo de energia elétrica sem violar o SLA (BUYYA; BELOGLAZOV; ABAWAJY, 2010). Portanto, segundo Werner et al. (2012, p. 1), o desafio em nuvem verde é a operação com o montante mínimo de recursos ativos, sem deixar de atender às exigências de qualidade de serviço e de robustez. Em relação à arquitetura de uma nuvem verde, Buyya, Beloglazov e Abawajy (2010) propõem um modelo composto por quatro entidades: os Consumidores ou os Brokers que os representam, que solicitam o serviço da Nuvem; o Alocador de Serviço Verde, que funciona como uma interface entre a infraestrutura da nuvem e os consumidores; as Máquinas Virtuais, que podem ser dinamicamente ativadas ou desativadas em uma máquina física ou migradas entre diferentes MFs a fim de consolidar a carga de trabalho; e as Máquinas Físicas. Para que o Alocador de Serviço Verde possa gerenciar os recursos de forma eficiente energeticamente, é necessária a interação entre alguns componentes, como o Monitor de Energia, que observa e determina quais máquinas físicas devem ser ligadas ou desligadas; e o Escalonador de Serviço, que atribui solicitações a MVs, determina direitos de recursos alocados para MVs e decide quando adicionar ou remover MVs para atender à demanda. Este modelo é demonstrado na Figura 2. Figura 2 Arquitetura de nuvem verde e seus componentes. Fonte: Adaptado de BUYYA; BELOGLAZOV; ABAWAJY, Como o desafio da Computação em Nuvem Verde é consolidar a carga de trabalho sem violar o SLA, diferentes algoritmos e políticas de consolidação são propostos

22 21 por pesquisadores. Para validá-los, contudo, é essencial que sejam avaliados em infraestruturas virtualizadas de grande escala. Logo, por ser extremamente complicado conduzir experimentos em infraestruturas reais, simulações têm sido utilizadas como forma de avaliar o desempenho de tais propostas, visto que possibilitam a realização de testes em ambientes de larga escala e garantem que experimentos possam ser reproduzidos e repetidos (BELOGLAZOV, 2013). 2.2 SIMULAÇÃO A simulação, como definido por Shannon (1998, p. 1), é o processo de projetar um modelo de um sistema real e conduzir experimentos com este modelo a fim de entender o comportamento do sistema e/ou avaliar diversas estratégias para o seu funcionamento 6. A simulação pode ser vista como uma metodologia experimental e aplicada que imita o funcionamento de um processo ou sistema real ao longo do tempo (BANKS, 1999). Simulações são utilizadas para, além de descrever e analisar o funcionamento de um sistema, prever comportamentos futuros deste e responder questões do tipo O que aconteceria se?, a fim de resolver problemas reais (Banks, 1999). De acordo com Carson (2004), a avaliação, a comparação e a análise são os principais motivos para a realização de simulações, enquanto que a predição do desempenho e a identificação de problemas do sistema, bem como suas causas, constituem os principais resultados Conceitos relacionados Há diversos termos e conceitos fundamentais envolvidos na modelagem e na simulação de sistemas (BANKS, 1999). Os mais relevantes para este trabalho são descritos a seguir: sistema: consiste em um grupo ou coleção de elementos inter-relacionados que cooperam entre si para atingir um determinado objetivo (SHANNON, 1998). Freitas Filho (2008, p. 25) define um sistema como um grupo de componentes que recebem estímulos ou entradas (inputs) e produzem respostas ou saídas (outputs) ; 6 Texto original traduzido por esta autora: the process of designing a model of a real system and conducting experiments with this model for the purpose of understanding the behavior of the system and/or evaluating various strategies for the operation of the system.

23 22 modelo: é uma representação descritiva de um processo ou sistema real, que geralmente apresenta parâmetros que o tornam configurável (CARSON, 2004). O modelo deve ser projetado de forma que o seu comportamento imite o comportamento de resposta do sistema real a eventos que ocorrem ao longo do tempo (SHANNON, 1998) e deve ser simples, porém o suficientemente complexo para responder as questões levantadas (BANKS, 1999). Segundo Carson (2004), o excesso de detalhes em um modelo pode conduzir o projeto ao fracasso; estado do sistema: é uma lista de valores capazes de definir o sistema em qualquer instante. Na prática, é definido implicitamente pelos status internos de todas as entidades pertencentes à simulação (CARSON, 2004); eventos: são acontecimentos que, de acordo com Carson (2004), mudam o estado do sistema e podem ser classificados como primários (programados para ocorrer em um momento futuro através de dados e suposições estatísticas) e secundários (programados para ocorrer imediatamente segundo a lógica interna do modelo); entidade: representa um objeto real no modelo e pode ser dinâmica, quando se move através do sistema; ou estática, quando serve a outras entidades (BANKS, 1999). Tarefas que chegam e deixam a CPU (Central Processing Unit) depois de processadas são exemplos de entidades dinâmicas e a própria CPU, de entidade estática (FREITAS FILHO, 2008); atributos: constituem características associadas a uma entidade específica, como nome, prioridade ou tempo de processamento necessário (SHANNON, 1998). Os atributos devem, portanto, ser considerados como valores locais (BANKS, 1999); variável de estado: é toda informação necessária para determinar o que está acontecendo no sistema em um determinado momento (BANKS, 1999). Para que a execução de uma simulação interrompida possa ser retomada do ponto em que foi parada, todas as variáveis de estado devem ter seus valores conhecidos no momento da interrupção, uma vez que estes representam o estado do sistema (FREITAS FILHO, 2008); recurso: constitui uma entidade estática que fornece serviços a uma ou mais entidades dinâmicas simultaneamente e pode apresentar diversos

24 23 estados. Os mais comuns são ocupado e ocioso, mas há outras possibilidades, como falhado, bloqueado ou indisponível (BANKS, 1999); tempo de atividade: período que corresponde a uma ação cuja duração é predeterminada, ou seja, é conhecida antes do início da atividade. Esta duração pode ser uma constante ou resultado de uma expressão matemática (FREITAS FILHO, 2008); tempo de espera ou delay: período que corresponde a uma ação cuja duração é indefinida, pois depende de outros eventos. Logo, constitui o oposto de uma atividade (BANKS, 1999); processo: é uma sequência de eventos, atividades e tempos de espera associados a uma entidade à medida que esta se move pelo sistema (CARSON, 2004); processamento de listas: corresponde à forma como uma fila de entidades que estão aguardando os recursos solicitados é gerenciada. As filas são representadas por listas ordenadas e a política de processamento mais utilizada é a FIFO (First In, First Out), na qual o primeiro a chegar é o primeiro a ser atendido (FREITAS FILHO, 2008); modelo de simulação de eventos discretos: modelo no qual as variáveis de estado são modificadas apenas em momentos definidos, ou seja, permanecem inalteradas durante intervalos de tempo e mudam quando um evento ocorre (BANKS, 1999); modelo de simulação contínuo: modelo no qual as variáveis de estado são modificadas continuamente ao longo do tempo (FREITAS FILHO, 2008); simuladores: são softwares que realizam simulações e, muitas vezes, contêm pacotes com modelos que necessitam apenas de dados de entrada para funcionar (BANKS, 1999) Vantagens e desvantagens A simulação para a análise de sistemas apresenta diversas vantagens em comparação com os modelos analíticos ou matemáticos e com a realização de testes em ambientes reais (SHANNON, 1998). Os principais benefícios citados na literatura são descritos a seguir:

25 24 a simulação permite avaliar, uma vez criado o modelo de simulação, políticas e métodos de funcionamento sem as despesas e o transtorno de realizar experimentos com o sistema real (BANKS, 1999); simulações possibilitam a identificação de gargalos e, por conseguinte, a descoberta das causas de demoras em diversos processos (BANKS, 1999); através de simulações, é possível testar hipóteses sobre como ou por que um determinado fenômeno ocorre no sistema (SHANNON, 1998); o processo de simular permite controlar o tempo, comprimindo-o ou expandindo-o de forma a acelerar ou retardar um fenômeno para que este possa ser meticulosamente investigado (BANKS, 1999). Conforme Shannon (1998), é possível simular meses ou anos de operação de um sistema em questão de segundos, bem como desacelerar um fenômeno momentâneo para estudá-lo; estudos de simulação mostram como um sistema realmente opera, em vez de indicar previsões sobre seu funcionamento realizadas por um indivíduo (BANKS, 1999) e auxiliam na identificação das variáveis mais relevantes para o seu desempenho (SHANNON, 1998); simulações permitem estudar como um sistema se modifica ao longo do tempo e como seus subsistemas e componentes interagem (CARSON, 2004); o ato de simular possibilita entender por que um determinado fenômeno ocorre, uma vez que permite ver e controlar o sistema em sua totalidade (BANKS, 1999); a simulação permite diagnosticar problemas através de modelos complexos e, portanto, de alta fidelidade; bem como compreender seus efeitos no sistema (BANKS, 1999); normalmente, o custo de um estudo de simulação corresponde a menos de 1% do total gasto para a implementação de um sistema e é, portanto, um investimento inteligente (BANKS, 1999); um estudo de simulação permite testar todos os aspectos de um sistema sem que seja necessário adquirir e implantar os recursos físicos (BANKS, 1999);

26 25 um modelo de simulação fornece o único método para estudar sistemas dinâmicos complexos que ainda não foram implementados e para os quais os modelos analíticos ou estáticos apresentam baixas fidelidade e acurácia (CARSON, 2004); Embora o processo de simulação seja uma excelente ferramenta de análise, apresenta algumas desvantagens (FREITAS FILHO, 2008). Entre elas: a criação de modelos exige treinamento especializado (BANKS, 1999); como as saídas das simulações são, geralmente, variáveis aleatórias, seus resultados podem ser difíceis de interpretar (BANKS, 1999). Em muitos casos, é trabalhoso determinar se uma saída está associada a alguma relação significante no sistema ou a processos aleatórios construídos e embutidos no modelo (FREITAS FILHO, 2008, p. 27); a modelagem e a análise de simulações podem consumir muitos recursos, como tempo e capital (CARSON, 2004); modelos de simulação não fornecem uma solução otimizada, mas uma ferramenta de análise do comportamento de um sistema sob condições específicas (SHANNON, 1998); simulações podem ser usadas de forma inapropriada. Há situações em que uma solução analítica, por exemplo, seria adequada ou até melhor (BANKS, 1999). 2.3 CLOUDSIM O CloudSim é uma ferramenta extensível de código aberto para simulação de sistemas computacionais em nuvem desenvolvida na Universidade de Melbourne, na Austrália. Este framework foi projetado especificamente para modelagem e simulação de infraestruturas de computação em nuvem, visto que os simuladores então disponíveis eram voltados à Computação em Grade (Grid Computing) e, portanto, não ofereciam suporte ao isolamento das abstrações das camadas de serviços (SaaS, PaaS e IaaS) e à simulação de ambientes virtualizados, nem ferramentas para a modelagem de datacenters com grandes quantidades de servidores (CALHEIROS et al., 2011). O simulador CloudSim, segundo Calheiros et al. (2011), oferece como principais recursos: suporte à modelagem e simulação de ambientes computacionais em nuvem de grande escala em um único computador e com baixo consumo de recursos computacionais;

27 26 plataforma autônoma para modelagem de nuvens, agentes de serviços e políticas de alocação; mecanismo de virtualização, que auxilia na criação e no gerenciamento de múltiplos serviços em um nó do datacenter; flexibilidade de troca entre diferentes políticas de alocação de núcleos de processamento; e criação dinâmica de entidades. A partir da versão 2.0, através de extensões, o CloudSim permite realizar simulações que levam em consideração o consumo de energia elétrica (capacidade que não era contemplada pelo núcleo do framework). Foi incorporada também a possibilidade de simular aplicações com cargas de trabalho dinâmicas (BELOGLAZOV, 2013) Funcionamento do CloudSim Para dar sustento à realização das extensões e simulações propostas, nesta seção, são explicados os métodos de modelagem de componentes, o processamento interno de aplicações e o fluxo de comunicação entre entidades do CloudSim conforme descrito por Calheiros et al. (2011) Modelagem da nuvem No CloudSim, uma entidade é uma instância de um componente. Este, por sua vez, pode ser uma classe ou um conjunto de classes que representam um modelo. Assim, na modelagem de uma nuvem, Datacenter é uma entidade que gerencia máquinas físicas, às quais são atribuídas máquinas virtuais por meio de uma política de alocação definida pelo provedor de Nuvem. As máquinas físicas, por sua vez, são representadas pelo componente Host, que possui atributos como capacidade de processamento, memória, armazenamento e política de alocação de núcleos de processamento a máquinas virtuais. A alocação de máquinas virtuais em uma nuvem refere-se ao processo de criar instâncias destas em máquinas físicas que atendem aos requisitos de hardware, como número de núcleos de processamento e quantidade de memória. Assim, cada componente Host instancia um componente VmScheduler, que representa uma política de alocação de núcleos a MVs (por espaço ou tempo compartilhado).

28 Modelagem da alocação de máquinas virtuais A alocação de máquinas virtuais leva em consideração a capacidade de processamento e a largura de banda disponíveis na máquina física, uma vez que as MVs, apesar de executarem em contextos isolados, compartilham os núcleos de processamento e o barramento de sistema. No CloudSim, a alocação é realizada em dois níveis: na máquina física e na máquina virtual. No primeiro, é especificada a quantidade de poder de processamento de cada núcleo que será atribuído a cada MV. No segundo, cada tarefa recebe um valor fixo do poder de processamento disponível na máquina virtual. Em ambos os níveis, são implementadas duas políticas básicas de provisionamento: tempo compartilhado e espaço compartilhado. Na Figura 3, são mostrados os quatro cenários possíveis para o uso de tais políticas. O simulador permite também que políticas personalizadas sejam criadas por desenvolvedores por meio de extensões às classes existentes. Figura 3 Políticas de alocação: (a) Espaço compartilhado para MVs e tarefas, (b) Espaço compartilhado para MVs e tempo compartilhado para tarefas, (c) Tempo compartilhado para MVs e espaço compartilhado para tarefas, (d) Tempo compartilhado para MVs e tarefas. Fonte: Adaptado de CALHEIROS et al., Modelagem do comportamento da rede A inclusão da topologia de rede e seu comportamento no modelo é uma consideração importante, uma vez que a latência das mensagens trocadas entre entidades da nuvem afeta o desempenho geral das aplicações e pode ocasionar violações ao SLA.

29 28 No CloudSim, a latência do tráfego da rede é simulada através de informação armazenada em uma matriz de latência m x n, em que cada posição e ij representa o tempo de transferência de uma mensagem da entidade i para a entidade j. Assim, um evento é transmitido entre i e j pelo mecanismo de gerenciamento de eventos quando o tempo total da simulação é igual ao tempo em que a mensagem foi enviada mais a latência de rede entre as duas entidades. A topologia da rede é armazenada em um arquivo BRITE (Boston university Representative Internet Topology generator). Este arquivo contém os nós da rede, que representam entidades do CloudSim, como máquinas físicas e datacenters, e é lido pelo simulador e utilizado para gerar a matriz de latência. Mensagens enviadas entre entidades do CloudSim constituem eventos e são processadas por um objeto NetworkTopology, que possui a informação sobre a topologia da rede. Este objeto acrescenta o valor de latência ao evento e o transfere para o motor de gerenciamento de eventos para processamento adicional Modelagem de cargas de trabalho dinâmicas O CloudSim suporta a simulação de aplicações que apresentam comportamentos dinâmicos em relação à carga de trabalho, à disponibilidade e à escalabilidade. Para tanto, é necessário implementar um modelo de utilização, que define a demanda de processamento de uma aplicação, ou utilizar um dos modelos já disponíveis no simulador. O simulador permite também a modelagem e a simulação de violações ao SLA, através de políticas que definem quando estas violações podem ocorrer; e da contagem do número de violações e de recursos que foram requisitados, mas não alocados Modelagem do consumo de energia do datacenter Ambientes de computação em nuvem, com sua infraestrutura e sistemas de refrigeração, podem consumir grande quantidade de energia elétrica. No CloudSim, é possível gerenciar tal consumo através do objeto PowerModel, que pode ser estendido para suportar a definição e a simulação de diferentes modelos de consumo e técnicas de gerenciamento de energia. O simulador permite ainda a criação de políticas de provisionamento e o cálculo da energia total consumida por um sistema durante o período de simulação.

30 Processamento interno do datacenter O processamento das aplicações é feito pelas máquinas virtuais, que monitoram e atualizam seu progresso continuamente. Um evento interno é gerado para informar à entidade Datacenter que uma aplicação será finalizada em breve. Assim, a cada passo da simulação, esta entidade chama um método que faz com que todas as máquinas físicas atualizem os status de suas máquinas virtuais e aciona outro método. Este, por sua vez, faz com que as máquinas virtuais atualizem os status de suas aplicações ativas e retornem o tempo do próximo evento. As máquinas físicas, então, enviam os menores tempos de finalização para o Datacenter. Estes tempos são armazenados em uma fila, que é consultada pela entidade Datacenter após cada processamento de evento. A Figura 4 exibe esta sequência de atualização do processamento de aplicações. Figura 4 Diagrama de sequência do processamento de aplicações. Fonte: Adaptado de CALHEIROS et al., Comunicação entre entidades O CloudSim é um simulador baseado em eventos e, portanto, as diferentes entidades de um sistema simulado comunicam-se por meio do envio de eventos. O fluxo

31 30 básico desta comunicação, demonstrado na Figura 5, inicia-se com o registro da entidade Datacenter no CIS (Cloud Information Service). Em seguida, quando uma aplicação é enviada pelo usuário, o DatacenterBroker consulta o CIS para identificar os provedores de nuvem cujas infraestruturas atendam aos requisitos de software, hardware e QoS desta. Quando identificados, o DatacenterBroker negocia e realiza a implantação de máquinas virtuais, que executarão a aplicação, em uma ou mais máquinas físicas de um Datacenter sugerido pelo CIS. Depois de finalizada a execução das tarefas, as MVs são destruídas. Figura 5 Diagrama de sequência da comunicação entre entidades. Fonte: Adaptado de CALHEIROS et al., Arquitetura do CloudSim O framework CloudSim possui uma arquitetura constituída por três camadas: camada do núcleo do simulador: é a camada inferior, onde a simulação é processada. Nesta camada, é realizado o controle da execução e das filas de eventos; camada de simulação do CloudSim: é a camada intermediária, que contém as classes de entidades que compõem o ambiente de computação em nuvem, como máquinas físicas, máquinas virtuais, datacenter e PE (Processing Element), e estão distribuídas entre as subcamadas Estruturas de Interface do Usuário, Serviços da Máquina Virtual, Serviços da Nuvem, Recursos da Nuvem e Rede. Esta camada é ainda responsável pela

32 31 alocação de MVs a máquinas físicas, pelo gerenciamento da execução de aplicativos e pelo monitoramento do estado do sistema dinâmico; camada de usuário: é a camada superior da arquitetura, na qual é definido o cenário da simulação através da configuração de entidades básicas, como máquinas físicas (quantidade e suas especificações); aplicações (números de tarefas e suas requisições); máquinas virtuais; número de usuários; tipos de aplicações; e políticas de escalonamento. A Figura 6 ilustra as três camadas do CloudSim e seus componentes. Figura 6 Arquitetura de camadas do CloudSim. Fonte: CALHEIROS et al., Estrutura do CloudSim As principais classes que compõem o simulador, de acordo com Calheiros et al. (2011), são descritas a seguir: BwProvisioner: classe abstrata que representa a política de provisionamento de largura de banda a máquinas virtuais. Por padrão, é estendida pela classe BwProvisionerSimple (que permite a uma máquina virtual reservar a largura de banda necessária desde que esta quantidade esteja disponível na máquina física), mas pode ser estendida por outras

33 32 classes criadas por pesquisadores e desenvolvedores para modelar novas políticas que atendam às necessidades de determinadas aplicações; Cloudlet: classe que modela as aplicações que executam na nuvem. Cada aplicação possui um tamanho de instrução predeterminado e overhead de transferência de dados e armazena informações como o id da máquina virtual na qual é executada, o tamanho, o número de núcleos de processamento requeridos para sua execução e seu status; CloudletScheduler: classe abstrata que pode ser estendida de forma a implementar diferentes políticas de compartilhamento do poder de processamento de uma máquina virtual entre as aplicações que nela são executadas. Duas classes que a estendem são oferecidas pelo CloudSim: CloudletSchedulerSpaceShared (espaço compartilhado) e Cloudlet- SchedulerTimeShared (tempo compartilhado); Datacenter: classe que modela a infraestrura oferecida como serviço pelos provedores de computação em nuvem e consiste em um conjunto de máquinas físicas com configurações de hardware (como memória, quantidade de núcleos e capacidade de armazenamento) que podem ser homogêneas ou heterogêneas; DatacenterBroker: classe que modela um agente que opera em nome do usuário e é responsável pela mediação das negociações entre ele e o provedor de nuvem. Primeiro, o agente busca provedores de serviços apropriados no CIS e, em seguida, realiza negociações de alocação de recursos e serviços para atender aos requisitos de QoS. É possível estender esta classe para a implementação de políticas de mediação personalizadas; DatacenterCharacteristics: classe que contém as propriedades dos recursos do datacenter, como arquitetura, sistema operacional, política de alocação, VMM e custos; Host: classe que modela um recurso físico (servidores de computação ou armazenamento) e seus atributos, como quantidade de memória e capacidade de armazenamento; política para o compartilhamento do poder de processamento entre MVs; e políticas de provisionamento de memória e largura de banda para MVs;

34 33 NetworkTopology: classe que armazena informações sobre o comportamento da rede em uma simulação, através de matrizes de latência e de largura de banda e sobre sua topologia, gerada a partir de um arquivo BRITE; RamProvisioner: classe abstrata que representa a política de provisionamento de memória RAM (Random Access Memory) a máquinas virtuais e é responsável por verificar se o recurso físico possui memória (livre) suficiente para a implantação e execução de determinada MV. É estendida pela classe RamProvisionerSimple, que aloca a quantidade de memória requisitada pela máquina virtual, exceto se esta for maior que a memória disponível. Neste caso, o pedido é simplesmente rejeitado; HarddriveStorage: classe que representa uma rede de armazenamento composta por um conjunto de discos rígidos conectados através de uma LAN (Local Access Network). Implementa uma interface que pode ser utilizada para simular armazenamento e recuperação de qualquer quantidade de dados, desde que a rede disponha da largura de banda necessária; Vm: classe que modela uma máquina virtual, gerenciada e hospedada por uma máquina física. Possui características como número de processadores, quantidade de memória RAM e política de alocação interna; VmAllocationPolicy: classe abstrata que representa a política de alocação de máquinas virtuais a máquinas físicas e tem como principal função selecionar um recurso físico que atenda às exigências de memória, armazenamento e disponibilidade para a implantação de uma MV. Este processo é realizado em dois estágios: primeiro, a máquina física é reservada e, depois da confirmação do usuário, a máquina virtual é efetivamente alocada. A política padrão utilizada é implementada pela classe VmAllocationPolicySimple e escolhe a máquina física com menor número de PEs em uso para alocar uma máquina virtual; VmScheduler: classe abstrata que representa a política de compartilhamento do poder de processamento entre as máquinas virtuais que executam em uma mesma máquina física. Pode ser estendida para suportar políticas específicas.

35 34 entre elas. A Figura 7 apresenta as classes do CloudSim descritas anteriormente e as relações Figura 7 Diagrama de classes UML do CloudSim. Fonte: Adaptado de CALHEIROS et al., No núcleo da arquitetura, encontra-se o motor de simulação do CloudSim, responsável pela criação e gerenciamento de eventos. As classes que compõem tal motor são descritas a seguir: CloudSim: classe principal, que é responsável por gerenciar filas de eventos e controlar a execução destes passo a passo. Cada evento gerado por esta entidade em tempo de execução é armazenado em uma fila de eventos futuros, ordenada pelo atributo tempo. Quando o tempo de simulação coincide com o tempo em que um evento está agendado para ocorrer, este é transferido para a fila de eventos diferidos e um método de processamento de eventos é chamado para realizar as ações necessárias; DeferredQueue: classe que implementa a fila de eventos diferidos usada pela entidade CloudSim; FutureQueue: classe que implementa a fila de eventos futuros usada pela entidade CloudSim; CloudInformationService: classe que permite o registro de entidades e a descoberta de recursos disponíveis de outras entidades;

36 35 SimEntity: classe abstrata que representa uma entidade da simulação capaz de enviar mensagens a outras entidades; processar mensagens recebidas; e disparar e manipular eventos; CloudSimTags: classe que contém etiquetas de comando que indicam o tipo de ação que deve realizada por entidades ao receberem ou enviarem eventos; SimEvent: classe que representa um evento enviado entre entidades e possui atributos como tipo, tempo de inicialização, tempo em que o evento deve ocorrer e tempo de finalização; CloudSimShutdown: classe responsável por indicar o término de uma simulação ao CIS; Predicate: classe usada para determinar a seleção de eventos da fila de eventos deferidos. É estendida pelas classes: PredicateAny (qualquer evento da fila é selecionado); PredicateFrom (seleciona eventos disparados por uma entidade específica); PredicateNone (não corresponde a nenhum evento da fila); PredicateNotFrom (seleciona eventos que não foram enviados por uma dada entidade); PredicateNotType (eventos que não correspondem a determinados marcadores são selecionados); e PredicateType (seleciona eventos com marcadores específicos). A Figura 8 demonstra o diagrama de classes UML do núcleo de simulação do CloudSim, formado por suas classes principais e pelos seus predicados. Figura 8 Diagrama de classes UML do núcleo do CloudSim. Fonte: CALHEIROS et al., 2011.

37 TRABALHOS CORRELATOS Nesta seção, são descritos os principais trabalhos relacionados a esta pesquisa. Os dois primeiros consistem em modelos de gerenciamento para a redução do consumo de energia elétrica em ambientes de nuvem verde e estão relacionados à motivação deste projeto. Os demais referem-se a simuladores desenvolvidos a partir do CloudSim: TeachCloud, CloudReports e NetworkCloudSim Modelos de Gerenciamento de Nuvem Verde Werner (2011) propõe um modelo de alocação e distribuição de máquinas virtuais como solução para o controle integrado de servidores e sistemas de suporte em nuvem verde. Esta abordagem considera um sistema de gerenciamento com múltiplos componentes e é baseada no OTM (Organization Theory Model), através do qual são definidos os padrões de interação entre tais componentes e as regras de funcionamento. Com base em normas, papéis, regras e crenças, este modelo prevê quando máquinas virtuais devem ser desligadas, redimensionadas ou migradas e quando máquinas físicas devem ser ligadas ou desligadas em função da carga de trabalho e das exigências do SLA. A abordagem define ainda quando o desligamento ou o religamento dos sistemas de suporte é necessário. A proposta foi validada por meio de simulações de diferentes cenários e, segundo Werner (2011), demonstrou ser eficiente, com uma economia de até 40% de energia elétrica em comparação com o modelo de nuvem convencional. Villarreal e Westphall (2013) realizaram extensões à proposta de Werner (2011) a fim de acrescentar-lhe o gerenciamento dos equipamentos de rede legados, cujo consumo é praticamente independente da carga de trabalho. O novo modelo visa tornar o consumo destes equipamentos aproximadamente proporcional à carga e fazer com que a energia elétrica por eles economizada contribua para a eficiência total do sistema. Para a consolidação do tráfego da rede, foram elaboradas regras e crenças que regem a correta configuração desta em função da consolidação de carga nos servidores. Os autores desenvolveram ainda um modelo para gerar a topologia da rede do datacenter em função do número de servidores físicos e definiram regras e fórmulas para calcular o consumo dos switches e da rede completa.

38 37 O modelo proposto é baseado na topologia de rede padrão de um datacenter, mostrada na Figura 9, que é composta por três camadas de switches: acesso, agregação e núcleo. Nesta configuração, existe redundância nas conexões entre camadas e cada rack acomoda até 40 máquinas físicas e dois switches de camada de acesso, sendo que cada MF possui uma placa de rede conectada a cada switch de acesso do rack ao qual pertence. Os autores consideram que cada switch de acesso possui 48 portas downlink, isto é, portas para conexão com a camada imediatamente inferior, com velocidade Giga Ethernet e 2 portas uplink (para conexão com a camada superior) com velocidade 10 Giga Ethernet. Os switches da camada de agregação, por sua vez, possuem 24 portas downlink 10 Giga Ethernet e 2 portas uplink 40 Giga Ethernet. Já os switches de núcleo são compostos por módulos de 24 portas com velocidade 40 Giga Ethernet. Assim, o modelo estabelece que até 12 racks podem ser atendidos por 2 switches de camada de agregação; que, com menos de 12 racks, não são necessários switches de camada de núcleo; e que até 144 racks podem ser atendidos por dois switches de camada de núcleo com um módulo cada. Desta forma, é possível determinar a quantidade de cada tipo de switch e suas interconexões a partir da quantidade de máquinas físicas. Figura 9 Topologia de rede padrão de um datacenter. Fonte: Adaptada de VILLARREAL; WESTPHALL, A economia energética proposta pelo sistema baseia-se no desligamento de portas, módulos e switches inativos e na redução da velocidade de portas. O cálculo do consumo dos switches é realizado através da soma do consumo base de cada tipo de switch com o

39 38 somatório dos consumos das portas. Este último depende da quantidade de portas ativas e da velocidade configurada para cada porta. Esta abordagem foi validada com um modelo analítico simples. No entanto, os autores descrevem um modelo de simulação e sugerem como trabalhos futuros realizar extensões ao simulador CloudSim para implementar tal modelo e executar experimentos a fim de determinar tanto as regras mais eficientes quanto a contribuição e o impacto do modelo em cenários com diferentes cargas de trabalho TeachCloud O TeachCloud é uma ferramenta para modelagem e simulação de ambientes de computação em nuvem voltada para o ensino e construída sobre a plataforma do CloudSim. Entre os aprimoramentos e extensões introduzidas ao CloudSim pelo TeachCloud, pode-se citar: interface gráfica para auxiliar os alunos a criarem os componentes de uma nuvem; gerador de carga de trabalho Rain; módulos para a especificação de SLA; modelos de redes para representar topologias existentes em ambientes de nuvem reais; monitoramento da maior parte dos componentes de um sistema; e um módulo que permite aos estudantes reconfigurar a nuvem e estudar o impacto das mudanças no desempenho do sistema (JARARWEH et al., 2012). O código do TeachCloud, segundo os autores, seria disponibilizado para pesquisadores e estudantes. No entanto, o desenvolvimento foi descontinuado e todo o conteúdo foi retirado do website do simulador CloudReports O CloudReports, desenvolvido na Universidade Federal do Ceará, é uma ferramenta que utiliza o CloudSim como motor de simulação e provê atributos como: interface gráfica, geração de relatórios e criação de extensões através de plugins que podem ser conectados em tempo de execução sem a necessidade de recompilar o código fonte. No entanto, o conjunto de extensões suportadas limita-se a apenas determinados tipos de algoritmos, como: políticas de alocação de VMs e de provisionamento de recursos; 7 Endereço do website do TeachCloud: https://code.google.com/p/teachcloud/.

40 39 escalonadores de MVS e aplicações; e modelos de consumo de energia e modelos de utilização (SÁ, 2013) NetworkCloudSim O NetworkCloudSim é um framework de simulação de ambientes de computação em nuvem, cujos componentes foram implementados como parte do simulador CloudSim a fim de dotá-lo de recursos para a modelagem do comportamento de aplicações e da rede interna do datacenter. Foi desenvolvido por Garg e Buyya (2011) com o intuito de fornecer um modelo escalável e generalizado de aplicação e de rede. Para a modelagem de diferentes topologias de rede, o NetworkCloudSim apresenta as classes: Switch, que representa uma entidade que pode ser configurada como um roteador ou um switch e modela atrasos no encaminhamento de dados a outras entidades; e NetworkPacket e HostPacket, que modelam, respectivamente, pacotes que viajam pela rede virtual e pacotes que são transmitidos de um servidor a outro e, portanto, representam um fluxo de dados entre MVs em um datacenter. Já para a modelagem de aplicações, foram desenvolvidas as classes: NetworkCloudlet, que é uma extensão da classe Cloudlet do CloudSim e representa uma tarefa generalizada com vários estágios; e AppCloudlet, que representa uma aplicação com múltiplas tarefas (GARG; BUYYA, 2011). O NetworkCloudSim, contudo, é voltado para a representação do tráfego da rede e não suporta o gerenciamento e o cálculo do consumo elétrico dos equipamentos.

41 40 3 DESENVOLVIMENTO Neste capítulo, é detalhado o desenvolvimento das extensões realizadas ao simulador CloudSim. São relacionados os requisitos funcionais e não funcionais que devem ser atendidos por tais extensões e é apresentada a especificação do projeto, através dos diagramas de casos de uso, de classes, de sequência e de atividades. São descritos ainda a implementação e o funcionamento das classes e dos algoritmos desenvolvidos, bem como os testes realizados. Por fim, são demonstradas e discutidas as simulações executadas e os resultados obtidos. 3.1 DESCRIÇÃO As extensões desenvolvidas adicionam ao CloudSim a capacidade de definir uma topologia de rede e representar e gerenciar seus componentes para realizar simulações que consideram o consumo energético da rede do datacenter a fim de validar o sistema proposto por Villarreal e Westphall (2013). Este sistema, conforme descrito no capítulo 2, propõe extensões a um modelo de gerenciamento de nuvem verde para gerenciar equipamentos de rede legados de forma a tornar seu comportamento aproximadamente proporcional à carga de trabalho e baseia-se na desconexão de portas, módulos e switches inativos e na redução da velocidade de portas. Os autores propõem também um modelo de simulação baseado na topologia padrão de um datacenter que, a partir da quantidade de máquinas físicas, determina os equipamentos de rede necessários e suas interconexões e em uma fórmula para o cálculo do consumo dos switches em função da quantidade de portas ativas e das velocidades das mesmas. Desta forma, as extensões implementadas permitem simular e modelar a rede de acordo com a topologia padrão definida, gerenciá-la conforme as regras estabelecidas no modelo em função das mudanças de estados das máquinas físicas do datacenter e calcular a energia consumida durante sua operação. 3.2 REQUISITOS Os requisitos que devem ser atendidos pelas extensões ao CloudSim foram levantados e revisados junto aos pesquisadores responsáveis pelo modelo de gerenciamento mediante entrevistas e são especificados nos Quadros 1 e 2:

42 41 Quadro 1 Requisitos funcionais. REQUISITOS FUNCIONAIS RF01: Permitir definir o cenário da simulação, incluindo características das máquinas físicas, das máquinas virtuais, das aplicações e dos equipamentos de rede do datacenter. RF02: Definir a topologia da rede a partir do número de máquinas físicas. RF03: Representar os switches de acesso, agregação e núcleo e suas mudanças de estado. RF04: Interagir com o CloudSim para que os eventos da simulação provoquem as mudanças correspondentes no estado da rede. RF05: Ligar e desligar equipamentos de rede e portas em função da consolidação de carga das máquinas físicas. RF06: Configurar a velocidade das portas dos equipamentos de rede em função da utilização das máquinas físicas e da largura de banda agregada. RF07: Calcular o consumo de energia elétrica dos equipamentos de rede. RF08: Em cada passo da simulação, acrescentar o consumo da rede ao consumo total do datacenter. RF09: Permitir a realização de simulações sem gerenciamento da rede. RF10: Informar as características da topologia e o consumo da rede em sua condição inicial. RF11: Gerar e salvar registros (logs) das mudanças de estado da rede. RF12: Salvar os resultados da simulação. Quadro 2 Requisitos não funcionais. REQUISITOS NÃO FUNCIONAIS RNF01: Executar em microcomputador convencional. RNF02: Permitir simulações de 6 horas de operação de um datacenter com até máquinas físicas com tempo de resposta menor que 1 hora. RNF03: Permitir extensão para atender outras necessidades de pesquisas. RNF04: Permitir fácil manutenção do código. RNF05: Interface gráfica para definição do cenário da simulação e exibição dos resultados. 3.3 ESPECIFICAÇÃO Para a especificação das extensões desenvolvidas, foram elaborados diagramas de acordo com a linguagem de modelagem UML e com auxílio da ferramenta Astah Community. Nesta seção, são apresentados os diagramas de casos de uso, de classes, de sequência e de atividades.

43 Casos de Uso Os casos de uso apresentados nesta seção, e detalhados no Apêndice A, estão relacionados aos requisitos funcionais relatados na seção anterior e demonstram as interações entre o sistema e os agentes externos. O primeiro diagrama, exibido na Figura 10, tem como ator o usuário que deseja realizar simulações e compreende os casos de uso relacionados à interação deste com o simulador através de uma interface gráfica. No segundo diagrama, apresentado na Figura 11, o ator é o próprio simulador CloudSim, que interage com as extensões desenvolvidas para reconfigurar a rede a cada mudança de estado e calcular seu consumo. Figura 10 Diagrama de casos de uso da interação do usuário com o simulador.

44 Figura 11 Diagrama de casos de uso da interação da interação do CloudSim com as extensões. 43

45 Diagrama de Classes O diagrama de classes, mostrado na Figura 12, representa as classes implementadas e as relações entre elas. Figura 12 Diagrama de classes do NetPowerCloudSim.

46 Diagrama de Sequência O diagrama a seguir (Figura 13) mostra a sequência de criação dos objetos e as chamadas de métodos necessários para executar uma simulação com o NetPowerCloudSim. Figura 13 Diagrama de sequência da aplicação principal Diagrama de Atividades O diagrama UML apresentado na Figura 14 demonstra o fluxo de atividades do processo de reconfiguração da rede, realizado pelo gerenciador de rede de acordo com a mudança de estado de cada máquina física do datacenter em cada frame da simulação.

47 Figura 14 Diagrama de atividades do processo de reconfiguração da rede. 46

48 IMPLEMENTAÇÃO Nesta seção, são apresentadas as técnicas e as ferramentas utilizadas e é detalhada a implementação das extensões realizadas ao simulador Técnicas e ferramentas Para o desenvolvimento das extensões, foi utilizada a linguagem de programação orientada a objetos Java e o ambiente de desenvolvimento Netbeans IDE 7.3.1, em conjunto com o framework CloudSim e a biblioteca gráfica Swing. A fim de auxiliar na compreensão do código e do funcionamento dos algoritmos, bem como facilitar futuras extensões, todas as classes criadas foram detalhadamente comentadas, e foi gerada documentação com a ferramenta Javadoc, fornecida pela Sun Microsystems. Os testes de unidade realizados sobre as classes desenvolvidas foram criados com auxílio do framework JUnit Codificação das extensões Para a codificação, foram consideradas duas extensões do CloudSim: o NetworkCloudSim e o PowerCloudSim. O primeiro permite representar equipamentos de rede, porém, como descrito no capítulo 2, é focado no tráfego da rede e não possui recursos para modelar o consumo de energia, o que obrigaria alterar todas as classes existentes, além de criar novas. Já o segundo, apesar de não possuir recursos para representar equipamentos de rede, permite o cálculo do consumo energético do datacenter e a migração de máquinas virtuais. Foi decidido, então, utilizar como base o PowerCloudSim, de Beloglazov e Buyya (2012), e estender suas funcionalidades para representar, gerenciar e calcular o consumo da rede. O simulador estendido foi chamado NetPowerCloudSim e acrescenta as classes PowerSwitch, herdada pelas classes PowerSwitchAcesso, PowerSwitchAgregacao e PowerSwitchNucleo; NetPowerDatacenter; GerenciadorRede; e TopologiaRede, descritas nas subseções a seguir.

49 PowerSwitch Esta classe representa um equipamento de rede do tipo switch e é estendida pelas classes PowerSwitchAcesso, PowerSwitchAgregacao e PowerSwitchNucleo, que representam switches das camadas de acesso, de agregação e de núcleo, respectivamente. Cada switch armazena seu estado, que pode ser ligado ou desligado; o estado de cada porta, que indica se está desativada ou sua velocidade (Fast Ethernet, Giga Ethernet, 10 Giga Ethernet, 40 Giga Ethernet ou 100 Giga Ethernet); seu consumo atual; seu consumo quando o frame iniciou; a largura de banda agregada; a quantidade de portas; a quantidade de portas de uplink; e a quantidade de portas ativas. Os switches possuem métodos que permitem ligá-los e desligá-los, bem como ligar e desligar portas específicas e reduzir ou aumentar sua velocidade. É possível ainda calcular seu consumo atual, a energia consumida durante um frame da simulação e a largura de banda agregada. Esta última constitui a soma das larguras de banda de todas as portas de downlink ativas. A energia consumida por um switch durante um frame da simulação é calculada por interpolação linear dos valores de consumo do switch no início do frame e o consumo atual. O Erro! Autoreferência de indicador não válida. exibe o código do método que realiza este cálculo. Quadro 3 Código do método que calcula a energia consumida por um switch durante um frame da simulação. As classes PowerSwitchAcesso e PowerSwitchAgregacao possuem métodos para verificar se a largura de banda agregada ultrapassou ou baixou do limite estabelecido, que são usados pelo gerenciador da rede para decidir se a velocidade das portas de uplink dos switches da camada imediatamente superior deve ser, respectivamente, aumentada ou reduzida. A classe PowerSwitchNucleo possui métodos que permitem ao gerenciador da rede ligar um módulo quando está desligado e uma porta é ligada e desligar um módulo quando não possui mais portas ativas.

50 49 Para manter a eficiência do código, o consumo atual e a largura de banda agregada são calculados apenas quando o objeto é criado e são atualizados a cada modificação realizada em uma porta. Se os valores não fossem mantidos atualizados, ao final de cada frame da simulação, seria necessário percorrer as portas de todos os switches para calcular seus consumos e suas larguras de banda agregada. O Quadro 4 mostra o trecho do código para atualizar o consumo de um switch quando a velocidade de uma porta é aumentada. Quadro 4 Trecho de código para atualizar o consumo atual do switch NetPowerDatacenter Classe que representa um datacenter com uma rede composta por máquinas físicas, switches de acesso, switches de agregação e switches de núcleo e permite calcular o seu consumo durante uma simulação. Possui como atributos o consumo total da rede, o consumo inicial da rede, o gerenciador da rede, as listas de switches e a informação sobre o gerenciamento da rede, que pode estar habilitado ou desabilitado. Esta classe estende a classe PowerDatacenter, que, por sua vez, estende a classe Datacenter para acrescentar-lhe a capacidade de calcular o consumo energético do datacenter e de realizar migração de máquinas virtuais. Assim como as classes que estende, a NetPowerDatacenter é uma entidade e, portanto, pode comunicar-se com outras entidades do CloudSim por meio da criação de eventos e do envio de mensagens e é responsável pelo avanço da simulação. Esta classe sobrescreve os métodos updatecloudletprocessing e processvm- Migrate do PowerDatacenter, que são responsáveis por processar eventos da simulação, isto é, realizar as ações necessárias quando finaliza a execução de uma aplicação ou a migração de uma máquina virtual, respectivamente. Os métodos sobrescritos são invocados pelo núcleo do simulador ao final de cada frame da simulação, de acordo com o tipo de evento que o provocou. Após chamar o método correspondente da classe pai para atualizar o estado das máquinas físicas e virtuais e do datacenter, invocam os métodos verificamudancaestadohost e calculaconsumoredeframe para atualizar o estado da rede.

51 50 O método verificamudancaestadohost (Quadro 5) verifica a mudança de estado de cada máquina física do datacenter e a informa ao gerenciador da rede para que este a reconfigure. Quadro 5 Trecho de código do método verificamudancaestadohost. O método calculaconsumoredeframe, por sua vez, calcula a quantidade de energia elétrica consumida por cada switch durante o frame e acumula os valores em uma variável que representa o consumo da rede no frame. Se o gerenciamento da rede não estiver habilitado, a energia consumida em cada frame é calculada diretamente através da multiplicação do consumo inicial da rede pela duração do frame TopologiaRede Classe responsável por definir e representar a topologia da rede através das quantidades de racks, de switches de acesso, de switches de agregação, de switches de núcleo e de módulos por switch de núcleo e das interconexões entre seus componentes. Antes de iniciar a simulação, a partir da quantidade de máquinas físicas presentes no datacenter, o método definetopologia calcula a quantidade de racks necessários para

52 51 acomodá-las. As quantidades de switches de acesso, de agregação e de núcleo são, então, calculadas a partir da quantidade de racks. O Quadro 6 apresenta o trecho de código no qual são realizados estes cálculos. Quadro 6 Trecho do método que calcula as quantidades de racks, de switches de acesso, de switches de agregação, de switches de núcleo e de módulos por switch de núcleo. Devido à topologia padrão estabelecida no modelo, existe uma relação matemática entre o id de cada elemento da rede e o id do equipamento e o número das portas aos quais está conectado. Portanto, não há necessidade de armazenar as interconexões entre todos os componentes em estruturas de dados na classe. Quando a informação é requerida pelo simulador, a classe calcula os switches e as portas correspondentes através de fórmulas. Considera-se que os componentes da rede não podem ser conectados a uma porta diferente da que lhe corresponde de acordo com a topologia padrão. Como exemplo, é exibido no Quadro 7 o código do método que calcula os ids dos switches de acesso e o número das portas correspondentes a uma máquina física a partir de seu id.

53 52 Quadro 7 Código do método que calcula os ids dos switches de acesso e o número das portas aos quais uma máquina física está conectada GerenciadorRede Classe que representa um gerenciador cuja função é reconfigurar a rede ao final de cada frame da simulação de acordo com as mudanças de estado das máquinas físicas. O gerenciador da rede age de acordo com as regras definidas no modelo, que determinam quando reduzir ou aumentar a velocidade de portas; ligar ou desligar portas; e ligar ou desligar módulos e switches. Antes de iniciar a simulação, o método desligaportassemuso, com o auxílio da classe TopologiaRede determina quais são as portas que não possuem equipamentos conectados e as desliga (Quadro 8). Este método também verifica se a largura de banda agregada dos switches que tiveram portas desligadas baixou do limite estabelecido para determinar se a velocidade de suas portas de uplink deve ser reduzida. Quadro 8 Trecho de código do método desligaportassemuso que desliga as portas sem uso dos dois últimos switches de acesso.

54 53 O método atualizarede, invocado pela classe NetPowerDatacenter quando há uma mudança de estado em uma máquina física, recebe o id da máquina e o tipo de mudança ocorrida e chama os métodos do objeto TopologiaRede para calcular a hierarquia de conexões entre equipamentos e o método correspondente para reconfigurar a rede. Quando uma máquina física é desligada, por exemplo, o gerenciador da rede desliga as portas dos switches de acesso às quais a máquina está conectada e verifica se ainda há portas ligadas em tais switches. Se não houver, o gerenciador desliga os switches. Se houver, verifica se a largura de banda agregada dos switches de acesso baixou do limite estabelecido. Caso esta condição seja verdadeira, a velocidade das portas é reduzida. O gerenciador, então, realiza as verificações e configurações necessárias nos switches de agregação e de núcleo, se estes existirem. A lógica completa do processo de reconfiguração da rede de acordo com as mudanças de estado das MFs está representada no diagrama de atividades apresentado na seção Classe principal e interface gráfica Para a realização de experimentos, foi desenvolvida uma classe principal, responsável por criar o cenário, iniciar a simulação e recuperar os resultados. Nela são configuradas as características de todos os objetos necessários para a simulação e os parâmetros da mesma. A fim de facilitar a execução de simulações, esta classe recebe valores ingressados através de uma interface gráfica, que possibilita definir o cenário e as características das simulações sem a necessidade de modificar ou criar código-fonte. Esta interface permite determinar a quantidade e características das máquinas físicas, das máquinas virtuais e das aplicações; indicar se a simulação deve considerar a rede e como esta deve ser gerenciada; habilitar a migração de MVs; e definir o tempo de operação do datacenter a ser simulado. É possível ainda, através desta interface, modificar os consumos base de cada tipo de switch e os consumos das portas de acordo com sua velocidade. Ao executar uma simulação, a topologia da rede gerada, seu consumo inicial e os resultados são mostrados na interface e podem ser salvos em arquivos de texto. É possível ainda definir onde os logs da simulação devem ser salvos. Na Figura 15, é mostrada a tela principal do simulador.

55 54 Figura 15 Tela principal do NetPowerCloudSim. 3.5 TESTES Nesta seção, são apresentados os testes de unidade e de integração realizados no código implementado e a validação dos requisitos funcionais e não funcionais Testes de Unidade Os testes de unidade foram realizados com o framework JUnit para verificar a correção do código de cada classe usando valores que levam a condições limítrofes e percorrem todos os caminhos possíveis. Como exemplo, são apresentados os testes realizados na classe TopologiaRede. O método definetopologia foi testado verificando se os valores dos atributos modificados por ele correspondiam aos valores esperados. Para os testes deste método, foram utilizadas as seguintes quantidades de máquinas físicas: 1, 20, 40, 41, 60, 80, 81, 300, 480, 481, 5760, 5761 e 7000.

56 55 Para testar o método calculaswitchacessoeporta, os ids de máquinas físicas utilizados foram: 0, 1, 20, 39, 40, 60, 79, 479, 480 e O código gerado pelo JUnit para este método e adaptado para o teste com id igual a 479 é apresentado no Quadro 9. Já os métodos calculaswitchagregacaoeporta e calculamoduloswitchnucleoeporta foram testados com a mesma série de valores de ids de switches de acesso e de agregação, respectivamente: 0, 1, 22, 23, 24, 30 e 100. Quadro 9 Código gerado pelo JUnit para teste do método calculaswitchacessoeporta e adaptado com id de máquina física e resultados esperados. classe TopologiaRede. A seguir, na Figura 16, são apresentados os resultados dos testes de unidade da

57 56 Figura 16 Resultados dos testes de unidade da classe TopologiaRede Testes de Integração Para verificar a correção dos algoritmos criados para definir a topologia e para reconfigurar a rede, bem como as rotinas de criação e de cálculo do consumo dos componentes da rede, foi implementada uma classe que permite testar o modelo da rede e seu funcionamento interagindo com as classes do CloudSim mas sem iniciar uma simulação. A partir da definição da quantidade de máquinas físicas desejada, esta classe permite realizar testes de integração, criando um datacenter e os demais objetos necessários para compor um cenário de simulação. Com o cenário definido, a classe calcula a topologia e o consumo inicial da rede; desliga as portas sem uso e informa o consumo com esta configuração, além de mostrar os atributos e o estado de cada porta de todos os switches. Para testar a interação dos métodos de reconfiguração da rede da classe GerenciadorRede com os switches e com o datacenter, esta classe permite também ligar e desligar uma máquina física ou um conjunto de máquinas físicas informando, entre outros atributos, o consumo e o estado das portas dos switches que foram modificados.

Computação em Nuvem & OpenStack

Computação em Nuvem & OpenStack Computação em Nuvem & OpenStack Grupo de Pesquisa em Software e Hardware Livre Ação Computação em Nuvem: Charles Christian Miers André Rover de Campos Glauber Cassiano Batista Joinville Roteiro Definições

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA

UNIVERSIDADE FEDERAL DE SANTA CATARINA UNIVERSIDADE FEDERAL DE SANTA CATARINA Uso Eficiente De Energia Para Cloud Computing Através De Simulações Rafael Rodrigues de Freitas Florianópolis SC 2011/2 UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO

Leia mais

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores Disciplina - Sistemas Distribuídos Prof. Andrey Halysson Lima Barbosa Aula 12 Computação em Nuvem Sumário Introdução Arquitetura Provedores

Leia mais

Planejamento Estratégico de TI. Felipe Pontes felipe.pontes@gmail.com

Planejamento Estratégico de TI. Felipe Pontes felipe.pontes@gmail.com Planejamento Estratégico de TI Felipe Pontes felipe.pontes@gmail.com VPN Virtual Private Network Permite acesso aos recursos computacionais da empresa via Internet de forma segura Conexão criptografada

Leia mais

O que é Cloud Computing?

O que é Cloud Computing? O que é Cloud Computing? Referência The Economics Of The Cloud, Microsoft, Nov. 2010 Virtualização, Brasport, Manoel Veras, Fev. 2011. 2 Arquitetura de TI A arquitetura de TI é um mapa ou plano de alto

Leia mais

Computação em Grid e em Nuvem

Computação em Grid e em Nuvem Computação em Grid e em Nuvem Computação em Nuvem Molos 1 Definição Um grid computacional é uma coleção recursos computacionais e comunicação utilizados para execução aplicações Usuário vê o grid como

Leia mais

ANÁLISE COMPARATIVA DE PLATAFORMAS DE COMPUTAÇÃO EM NUVEM

ANÁLISE COMPARATIVA DE PLATAFORMAS DE COMPUTAÇÃO EM NUVEM ANÁLISE COMPARATIVA DE PLATAFORMAS DE COMPUTAÇÃO EM NUVEM Igor dos Passos Granado¹, Ricardo de Melo Germano¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavai PR Brasil

Leia mais

Arquitetura e Sistema de Monitoramento para

Arquitetura e Sistema de Monitoramento para Arquitetura e Sistema de Monitoramento para 1 Computação em Nuvem Privada Mestranda: Shirlei A. de Chaves Orientador: Prof. Dr. Carlos Becker Westphall Colaborador: Rafael B. Uriarte Introdução Computação

Leia mais

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer lugar e independente da plataforma, bastando para isso

Leia mais

2 Computação na Nuvem

2 Computação na Nuvem 18 2 Computação na Nuvem 2.1 Definição A ideia essencial da computação na nuvem é permitir um novo modelo onde o consumo de recursos computacionais, e.g., armazenamento, processamento, banda entrada e

Leia mais

CloudSimDB: Um Simulador para o Provisionamento de Máquinas Virtuais para o Processamento de Aplicações Centradas em Banco de Dados *

CloudSimDB: Um Simulador para o Provisionamento de Máquinas Virtuais para o Processamento de Aplicações Centradas em Banco de Dados * CloudSimDB: Um Simulador para o Provisionamento de Máquinas Virtuais para o Processamento de Aplicações Centradas em Banco de Dados * Humberto Lima, Felipe Aragão, Jonas Lima, Flávio R.C. Sousa, José Maria

Leia mais

The Eucalyptus Open- source Cloud-computing System. Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva

The Eucalyptus Open- source Cloud-computing System. Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva The Eucalyptus Open- source Cloud-computing System Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva Sumário Introdução Trabalhos Correlatos Eucalyptus Design Conclusões Visão Geral Introdução:

Leia mais

Computação em Nuvem. (Cloud Computing) Pesquisa & Desenvolvimento

Computação em Nuvem. (Cloud Computing) Pesquisa & Desenvolvimento Computação em Nuvem (Cloud Computing) Pesquisa & Desenvolvimento Santo André: 20 de fevereiro de 2013 Características de um bom Data Center Bom Desempenho Escalabilidade Alta Disponibilidade Economia Gerência

Leia mais

O que é Cloud Computing (Computação nas Nuvens)?

O que é Cloud Computing (Computação nas Nuvens)? O que é Cloud Computing (Computação nas Nuvens)? Introdução A denominação Cloud Computing chegou aos ouvidos de muita gente em 2008, mas tudo indica que ouviremos esse termo ainda por um bom tempo. Também

Leia mais

ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS

ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS Cleverson Nascimento de Mello¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

COMPUTAÇÃO EM NUVEM. Michele Marques Costa 1,2, Julio César2 ¹Universidade paranaense (Unipar)

COMPUTAÇÃO EM NUVEM. Michele Marques Costa 1,2, Julio César2 ¹Universidade paranaense (Unipar) COMPUTAÇÃO EM NUVEM Michele Marques Costa 1,2, Julio César2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil Mih_nai@hotmail.com juliocesar@unipar.br Resumo. Este artigo contém a definição e citação

Leia mais

Gerenciamento e Interoperabilidade de Redes

Gerenciamento e Interoperabilidade de Redes EN-3610 Gerenciamento e Interoperabilidade de Redes Computação em Nuvem Introdução Centralização do processamento Surgimento da Teleinformática Década de 60 Execução de programas localmente Computadores

Leia mais

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com Cloud Computing Andrêza Leite andreza.lba@gmail.com Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing O

Leia mais

Computação em Nuvem. Henrique Ruschel, Mariana Susan Zanotto, Wélton Costa da Mota. Especialização em Redes e Segurança de Sistemas 2008/2

Computação em Nuvem. Henrique Ruschel, Mariana Susan Zanotto, Wélton Costa da Mota. Especialização em Redes e Segurança de Sistemas 2008/2 Computação em Nuvem Henrique Ruschel, Mariana Susan Zanotto, Wélton Costa da Mota Especialização em Redes e Segurança de Sistemas 2008/2 Pontifícia Universidade Católica do Paraná Curitiba, Abril de 2010

Leia mais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais Computação em Nuvem Computação em nuvem: gerenciamento de dados Computação em nuvem (Cloud Computing) é uma tendência recente de tecnologia cujo objetivo é proporcionar serviços de Tecnologia da Informação

Leia mais

Fernando Seabra Chirigati. Universidade Federal do Rio de Janeiro EEL879 - Redes de Computadores II Professores Luís Henrique Costa e Otto Duarte

Fernando Seabra Chirigati. Universidade Federal do Rio de Janeiro EEL879 - Redes de Computadores II Professores Luís Henrique Costa e Otto Duarte Fernando Seabra Chirigati Universidade Federal do Rio de Janeiro EEL879 - Redes de Computadores II Professores Luís Henrique Costa e Otto Duarte Introdução Grid x Nuvem Componentes Arquitetura Vantagens

Leia mais

Levantamento sobre Computação em Nuvens

Levantamento sobre Computação em Nuvens Levantamento sobre Computação em Nuvens Mozart Lemos de Siqueira Doutor em Ciência da Computação Centro Universitário Ritter dos Reis Sistemas de Informação: Ciência e Tecnologia Aplicadas mozarts@uniritter.edu.br

Leia mais

OCEL001 Comércio Eletrônico Módulo 9_2: Nuvens Computacionais. Prof. Charles Christian Miers. e-mail: charles.miers@udesc.br

OCEL001 Comércio Eletrônico Módulo 9_2: Nuvens Computacionais. Prof. Charles Christian Miers. e-mail: charles.miers@udesc.br OCEL001 Comércio Eletrônico Módulo 9_2: Nuvens Computacionais Prof. Charles Christian Miers e-mail: charles.miers@udesc.br Data Centers e Computação sob demanda Data Centers fornecem uma grande capacidade

Leia mais

Estratégias em Tecnologia da Informação

Estratégias em Tecnologia da Informação Estratégias em Tecnologia da Informação Capítulo 08 Alternativas de Investimento em TI Fábricas de software, Softwarehouses, Virtualização, Computação em Nuvem Datacenter Material de apoio 2 Esclarecimentos

Leia mais

Constate todo o potencial de aplicações Java virtualizadas

Constate todo o potencial de aplicações Java virtualizadas Um White Paper da Oracle Abril de 2010 Constate todo o potencial de aplicações Java virtualizadas Oracle WebLogic Server Virtual Edition Oracle Virtual Assembly Builder O Oracle WebLogic Server Virtual

Leia mais

CLOUD COMPUTING PEDRO MORHY BORGES LEAL. MAC0412 - Organização de Computadores Prof. Alfredo Goldman 7 de dezembro de 2010

CLOUD COMPUTING PEDRO MORHY BORGES LEAL. MAC0412 - Organização de Computadores Prof. Alfredo Goldman 7 de dezembro de 2010 CLOUD COMPUTING PEDRO MORHY BORGES LEAL MAC0412 - Organização de Computadores Prof. Alfredo Goldman 7 de dezembro de 2010 0 CLOUD COMPUTING 1 1. Introdução Com o grande avanço da tecnologia de processadores,

Leia mais

COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE

COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE Andressa T.R. Fenilli 1, Késsia R.C.Marchi 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR Brasil andressa.trf@gmail.com, kessia@unipar.br Resumo. Computação em

Leia mais

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br CLOUD COMPUTING Andrêza Leite andreza.leite@univasf.edu.br Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing

Leia mais

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM Rogério Schueroff Vandresen¹, Willian Barbosa Magalhães¹ ¹Universidade Paranaense(UNIPAR) Paranavaí-PR-Brasil rogeriovandresen@gmail.com, wmagalhaes@unipar.br

Leia mais

Cloud Computing. Edy Hayashida E-mail: edy.hayashida@uol.com.br

Cloud Computing. Edy Hayashida E-mail: edy.hayashida@uol.com.br Cloud Computing Edy Hayashida E-mail: edy.hayashida@uol.com.br Facebook 750 milhões de usuários 42% de todos os usuários do Facebook estão localizado na América, 27% na Ásia e 25% na Europa 4% na África

Leia mais

CLOUD COMPUTING NAS EMPRESAS: NUVEM PÚBLICA OU NUVEM PRIVADA? nubeliu.com

CLOUD COMPUTING NAS EMPRESAS: NUVEM PÚBLICA OU NUVEM PRIVADA? nubeliu.com CLOUD COMPUTING NAS EMPRESAS: NUVEM PÚBLICA OU NUVEM PRIVADA? nubeliu.com SUMÁRIO Introdução... 4 Nuvem pública: quando ela é ideal... 9 Nuvem privada: quando utilizá-la... 12 Alternativas de sistemas

Leia mais

Acelere o valor da computação em nuvem com a IBM

Acelere o valor da computação em nuvem com a IBM Acelere o valor da computação em nuvem com a IBM Obtenha soluções em nuvem comprovadas para as suas prioridades mais urgentes Destaques da solução Saiba sobre os benefícios mais comuns de implementações

Leia mais

Um arcabouço para gerenciamento automático de máquinas virtuais em CPDsbaseado em perfil

Um arcabouço para gerenciamento automático de máquinas virtuais em CPDsbaseado em perfil VIII WORKSHOP DE PÓS-GRADUAÇÃO E PESQUISA DO CENTRO PAULA SOUZA São Paulo, 9 e 10 de outubro de 2013 Sistemas produtivos: da inovação à sustentabilidade ISSN: 2175-1897 Um arcabouço para gerenciamento

Leia mais

Cisco Intelligent Automation for Cloud

Cisco Intelligent Automation for Cloud Dados técnicos do produto Cisco Intelligent Automation for Cloud Os primeiros a adotarem serviços com base em nuvem buscavam uma economia de custo maior que a virtualização e abstração de servidores podiam

Leia mais

otimizando níveis de serviço em implantações na nuvem pública

otimizando níveis de serviço em implantações na nuvem pública DOCUMENTAÇÃO TÉCNICA otimizando níveis de serviço em implantações na nuvem pública chaves para o gerenciamento de serviços efetivo agility made possible sumário resumo executivo 3 Introdução: modelos de

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS

CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS João Antônio Bezerra Rodrigues¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavaí

Leia mais

Naomi - GT8 HARDWARE & SISTEMAS DISTRIBUÍDOS

Naomi - GT8 HARDWARE & SISTEMAS DISTRIBUÍDOS Naomi - GT8 HARDWARE & SISTEMAS DISTRIBUÍDOS INTEGRANTES Aniel Cruz Claudio Sant Anna José Eurique Ribeiro Roberto Nou HARDWARE & SISTEMAS DISTRIBUÍDOS Clusters Conceito; Desempenho, Disponibilidade, Balanceamento

Leia mais

COMPUTAÇÃO EM GRID COM BANCO DE DADOS ORACLE 10g

COMPUTAÇÃO EM GRID COM BANCO DE DADOS ORACLE 10g COMPUTAÇÃO EM GRID COM BANCO DE DADOS ORACLE 10g Daniel Murara Barcia Especialista em Sistemas de Informação Universidade Federal do Rio Grande do Sul daniel@guaiba.ulbra.tche.br Resumo. Esse artigo aborda

Leia mais

Imagem Gustavo Santos. Observe Bombinhas SC.

Imagem Gustavo Santos. Observe Bombinhas SC. Imagem Gustavo Santos. Observe Bombinhas SC. 1 2 1. Uma nova modalidade de prestação de serviços computacionais está em uso desde que a computação em nuvem começou a ser idealizada. As empresas norte-

Leia mais

Consolidação inteligente de servidores com o System Center

Consolidação inteligente de servidores com o System Center Consolidação de servidores por meio da virtualização Determinação do local dos sistemas convidados: a necessidade de determinar o melhor host de virtualização que possa lidar com os requisitos do sistema

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

EUCALYPTUS: UMA PLATAFORMA CLOUD COMPUTING PARA

EUCALYPTUS: UMA PLATAFORMA CLOUD COMPUTING PARA EUCALYPTUS: UMA PLATAFORMA CLOUD COMPUTING PARA QUALQUER TIPO DE USUÁRIO Gustavo Henrique Rodrigues Pinto Tomas 317624 AGENDA Introdução: Cloud Computing Modelos de Implementação Modelos de Serviço Eucalyptus

Leia mais

Segurança da Informação

Segurança da Informação INF 108 Segurança da Informação Computação em Nuvem Prof. João Henrique Kleinschmidt Introdução Centralização do processamento Surgimento da Teleinformática Década de 60 Execução de programas localmente

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

Beauclair @ IMPA. Junho/2012

Beauclair @ IMPA. Junho/2012 Beauclair @ IMPA Junho/2012 2 O que é Cloud Computing? Não é um conceito claramente definido; Não é uma tecnologia pronta que saiu dos laboratórios de pesquisa e foi disponibilizada no mercado pelos fabricantes;

Leia mais

14/IN01/DSIC/GSIPR 00 30/JAN/12 1/7

14/IN01/DSIC/GSIPR 00 30/JAN/12 1/7 14/IN01/DSIC/GSIPR 00 30/JAN/12 1/7 PRESIDÊNCIA DA REPÚBLICA Gabinete de Segurança Institucional Departamento de Segurança da Informação ORIGEM e Comunicações Departamento de Segurança da Informação e

Leia mais

EXIN Cloud Computing Fundamentos

EXIN Cloud Computing Fundamentos Exame Simulado EXIN Cloud Computing Fundamentos Edição Maio 2013 Copyright 2013 EXIN Todos os direitos reservados. Nenhuma parte desta publicação pode ser publicado, reproduzido, copiado ou armazenada

Leia mais

4 Solução Proposta. 4.1 Escopo Proposto

4 Solução Proposta. 4.1 Escopo Proposto 30 4 Solução Proposta 4.1 Escopo Proposto Neste trabalho propomos um arcabouço genérico que permite implementar leques de serviços baseados na Simulação de Monte Carlo, utilizando o ambiente de computação

Leia mais

Universidade Agostinho Neto Faculdade de Ciências Departamento de Ciências da Computação

Universidade Agostinho Neto Faculdade de Ciências Departamento de Ciências da Computação Universidade Agostinho Neto Faculdade de Ciências Departamento de Ciências da Computação Nº 96080 - Adário de Assunção Fonseca Muatelembe Nº 96118 - Castelo Pedro dos Santos Nº 96170 - Feliciano José Pascoal

Leia mais

Transformação da Indústria

Transformação da Indústria Conceitos Transformação da Indústria Hoje Cloud Anos 2000 Web Anos 1990 Cliente / Servidor Anos 1970 e 80 Mainframe Novas possibilidades O momento atual do país é favorável para que as empresas passem

Leia mais

NUVEM NO DNA COM A. pág. 8 NASCIDO PARA NUVEM. FUTURO Sistema operacional vai além da virtualização convencional dos recursos dos servidores

NUVEM NO DNA COM A. pág. 8 NASCIDO PARA NUVEM. FUTURO Sistema operacional vai além da virtualização convencional dos recursos dos servidores NASCIDO PARA NUVEM. INFORME PUBLICITÁRIO Windows Server 2012 março de 2013 COM A NUVEM NO DNA WINDOWS SERVER 2012 É A RESPOSTA DA MICROSOFT PARA O NOVO CENÁRIO DOS DATACENTERS pág. 4 FUTURO Sistema operacional

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

CA Server Automation. Visão geral. Benefícios. agility made possible

CA Server Automation. Visão geral. Benefícios. agility made possible FOLHA DE PRODUTOS: CA Server Automation agility made possible CA Server Automation O CA Server Automation é uma solução integrada de gerenciamento de data center que automatiza o provisionamento, a aplicação

Leia mais

Uso de Computação em Nuvem no SISP

Uso de Computação em Nuvem no SISP Uso de Computação em Nuvem no SISP STI-MP Brasília, 19 de abril de 2016 Computação em Nuvem O que é: Um modelo que permite acesso pela rede de forma onipresente, conveniente e sob demanda a um conjunto

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

SUMÁRIO. Sistemas a serem considerados na construção de data centers. A gestão do projeto e a integração dos fornecedores

SUMÁRIO. Sistemas a serem considerados na construção de data centers. A gestão do projeto e a integração dos fornecedores REPORT 04 e fevereiro de 2013 INFRAESTRUTURA FÍSICA E DATA CENTERS SUMÁRIO Introdução O que são data centers Padrões construtivos para data centers Sistemas a serem considerados na construção de data centers

Leia mais

Virtualização de Sistemas Operacionais

Virtualização de Sistemas Operacionais Virtualização de Sistemas Operacionais Felipe Antonio de Sousa 1, Júlio César Pereira 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil felipeantoniodesousa@gmail.com, juliocesarp@unipar.br Resumo.

Leia mais

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software Resumo até aqui Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como uma máquina estendida abstrações SO como um

Leia mais

ANÁLISE COMPARATIVA DE API S PARA PORTABILIDADE EM NUVEM

ANÁLISE COMPARATIVA DE API S PARA PORTABILIDADE EM NUVEM ANÁLISE COMPARATIVA DE API S PARA PORTABILIDADE EM NUVEM Ana Paula Cristina Ehlke Carrion 1, Tiago Volpato 1, Claudete Werner 1, Ricardo de Melo Germano 1, Gabriel Costa Silva 2 1 Universidade Paranaense

Leia mais

Introdução a Computação nas Nuvens

Introdução a Computação nas Nuvens Introdução a Computação nas Nuvens Professor: Rômulo César Dias de Andrade. E-mail: romulocesar@faculdadeguararapes.edu.br romulodandrade@gmail.com www.romulocesar.com.br PROFESSOR... Mini CV: NOME: RÔMULO

Leia mais

Cloud Computing: Quando a nuvem pode ser um risco para o negócio. Marco Lima aka Mago Enterprise Technology Specialist

Cloud Computing: Quando a nuvem pode ser um risco para o negócio. Marco Lima aka Mago Enterprise Technology Specialist Cloud Computing: Quando a nuvem pode ser um risco para o negócio Marco Lima aka Mago Enterprise Technology Specialist 05 De onde vem o termo nuvem? Business Servidores SAN WAN SAN LANs Roteador NAS Switch

Leia mais

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

Leia mais

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 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

Leia mais

A Cisco no seu data center. A infraestrutura ideal para os ambientes e aplicativos da Microsoft

A Cisco no seu data center. A infraestrutura ideal para os ambientes e aplicativos da Microsoft A Cisco no seu data center A infraestrutura ideal para os ambientes e aplicativos da Microsoft Simplifique a TI... Modernize sua empresa DATA CENTER Desafios Eficiência da equipe de TI Interrupção não

Leia mais

Entendendo as camadas do cloud computing: Iaas, Paas e SaaS

Entendendo as camadas do cloud computing: Iaas, Paas e SaaS + segurança + economia + liberdade + disponibilidade + sustentabilidade + flexibilidade Entendendo as camadas do cloud computing: Iaas, Paas e SaaS As camadas da nuvem Nossa missão com este white paper

Leia mais

Cisco Unified Data Center A infraestrutura ideal para ambientes e aplicações da Microsoft

Cisco Unified Data Center A infraestrutura ideal para ambientes e aplicações da Microsoft Cisco Unified Data Center A infraestrutura ideal para ambientes e aplicações da Microsoft SIMPLIFIQUE SUA TI MODERNIZE SUA EMPRESA Ineficiência da equipe de TI Interrupção não programada Gerenciamento

Leia mais

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES Sistema de Informação e Tecnologia FEQ 0411 Prof Luciel Henrique de Oliveira luciel@uol.com.br Capítulo 5 INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES PRADO, Edmir P.V.; SOUZA, Cesar A. de. (org). Fundamentos

Leia mais

Capítulo 8 Arquitetura de Computadores Paralelos

Capítulo 8 Arquitetura de Computadores Paralelos Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da

Leia mais

monitoramento unificado

monitoramento unificado DOCUMENTAÇÃO TÉCNICA monitoramento unificado uma perspectiva de negócios agility made possible sumário resumo executivo 3 Introdução 3 Seção 1: ambientes de computação emergentes atuais 4 Seção 2: desafios

Leia mais

Computação em Nuvem (Cloud Computing)

Computação em Nuvem (Cloud Computing) Computação em Nuvem (Cloud Computing) Prof. Ricardo J. Rabelo UFSC Universidade Federal de Santa Catarina DAS Departamento de Automação e Sistemas Introdução Os modelos ASP e SaaS têm sido hoje usados

Leia mais

CA Automation Suite for Data Centers

CA Automation Suite for Data Centers FOLHA DE PRODUTOS: CA Automation Suite for Data Centers CA Automation Suite for Data Centers agility made possible "A tecnologia ultrapassou a capacidade de gerenciamento manual em todas as grandes empresas

Leia mais

CA Nimsoft Monitor para servidores

CA Nimsoft Monitor para servidores DOCUMENTAÇÃO TÉCNICA Setembro de 2012 CA Nimsoft Monitor para servidores agility made possible CA Nimsoft para monitoramento de servidores sumário CA Nimsoft Monitor para servidores 3 visão geral da solução

Leia mais

Convergência TIC e Projetos TIC

Convergência TIC e Projetos TIC TLCne-051027-P1 Convergência TIC e Projetos TIC 1 Introdução Você responde essas perguntas com facilidade? Quais os Projetos TIC mais frequentes? Qual a importância de BI para a venda de soluções TIC (TI

Leia mais

Classificação::Modelo de implantação

Classificação::Modelo de implantação Classificação::Modelo de implantação Modelo de implantação::privado Operada unicamente por uma organização; A infra-estrutura de nuvem é utilizada exclusivamente por uma organização: Nuvem local ou remota;

Leia mais

João Víctor Rocon Maia Engenharia de Computação - UFES

João Víctor Rocon Maia Engenharia de Computação - UFES João Víctor Rocon Maia Engenharia de Computação - UFES Agenda Quem usa? Conceito Ilustração Vantagens Tipologia Topologia Como fazer? O que é preciso? Infraestrutura Sistema Operacional Software Eucalyptus

Leia mais

Tipos de Sistemas Distribuídos (Cluster e Grid)

Tipos de Sistemas Distribuídos (Cluster e Grid) Tipos de Sistemas Distribuídos (Cluster e Grid) Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência

Leia mais

Gestão em Sistemas de Informação. Profa.: Me. Christiane Zim Zapelini E-mail: christianezapelini@nwk.edu.br

Gestão em Sistemas de Informação. Profa.: Me. Christiane Zim Zapelini E-mail: christianezapelini@nwk.edu.br Gestão em Sistemas de Informação Profa.: Me. Christiane Zim Zapelini E-mail: christianezapelini@nwk.edu.br Gestão em Sistemas de Informação Cloud Computing (Computação nas Nuvens) 2 Cloud Computing Vocês

Leia mais

USE O PODER DA NUVEM. VEJA COMO A NUVEM PODE TRANSFORMAR SEUS NEGÓCIOS.

USE O PODER DA NUVEM. VEJA COMO A NUVEM PODE TRANSFORMAR SEUS NEGÓCIOS. USE O PODER DA NUVEM. VEJA COMO A NUVEM PODE TRANSFORMAR SEUS NEGÓCIOS. A computação em nuvem é uma mudança de paradigma no gerenciamento de TI e de datacenters, além de representar a capacidade da TI

Leia mais

Cloud Computing. 1. Introdução. 2. Conceitos e Terminologias. Tecnologias Atuais de Redes Cloud Computing

Cloud Computing. 1. Introdução. 2. Conceitos e Terminologias. Tecnologias Atuais de Redes Cloud Computing 1. Introdução Vamos dizer que você é um executivo de uma grande empresa. Suas responsabilidades incluem assegurar que todos os seus empregados tenham o software e o hardware de que precisam para fazer

Leia mais

CAPÍTULO 7 O SERVIÇO DOS AGENTES

CAPÍTULO 7 O SERVIÇO DOS AGENTES CAPÍTULO 7 O SERVIÇO DOS AGENTES A inteligência... é a capacidade de criar objetos artificiais, especialmente ferramentas para fazer ferramentas. ( Henri Bergson) O serviço dos agentes surge como uma prestação

Leia mais

Aluno: Tiago Castro da Silva

Aluno: Tiago Castro da Silva Faculdade Tecnodohms I Mostra de Ciência e Tecnologia Tecnologias de Virtualização para CLOUD COMPUTING Aluno: Tiago Castro da Silva CURSO: REDES DE COMPUTADORES A Computação evoluiu e Cloud Computing

Leia mais

Maestro. Arthur Kazuo Tojo Costa 317497. Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação

Maestro. Arthur Kazuo Tojo Costa 317497. Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação Maestro Arthur Kazuo Tojo Costa 317497 Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação Introdução Sistema Operacional de Redes Detalhes do hardware Multiplexação

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS Ciência da Computação 5ª série Sistemas Operacionais A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem desenvolvido por meio de um conjunto

Leia mais

Benefícios do Windows Server 2008 R2 Hyper-V para SMB

Benefícios do Windows Server 2008 R2 Hyper-V para SMB Benefícios do Windows Server 2008 R2 Hyper-V para SMB Sumário Introdução... 3 Windows Server 2008 R2 Hyper-V... 3 Live Migration... 3 Volumes compartilhados do Cluster... 3 Modo de Compatibilidade de Processador...

Leia mais

O que é cloud computing (computação nas nuvens)? Entendendo a cloud computing (computação nas nuvens)

O que é cloud computing (computação nas nuvens)? Entendendo a cloud computing (computação nas nuvens) O que é cloud computing (computação nas nuvens)? Introdução A expressão cloud computing começou a ganhar força em 2008, mas, conceitualmente, as ideias por trás da denominação existem há muito mais tempo.

Leia mais

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Luiz Cláudio Hogrefe Orientador: Prof. Roberto Heinzle, Doutor Roteiro Introdução Fundamentação teórica

Leia mais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais Introdução Nível do Sistema Operacional (Aula 14) Introdução a Sistemas Operacionais Hardware Provê os recursos básicos de computação (CPU, memória, E/S,etc.) Programas (aplicações) Definem as maneiras

Leia mais

Computação nas Nuvens. Diemesleno Souza Carvalho diemesleno.carvalho@ifms.edu.br

Computação nas Nuvens. Diemesleno Souza Carvalho diemesleno.carvalho@ifms.edu.br Computação nas Nuvens Diemesleno Souza Carvalho diemesleno.carvalho@ifms.edu.br Definição Definição Conjunto de recursos de TI (servidores, banco de dados, aplicações) disponibilizadas sob demanda por

Leia mais

Virtualização. O conceito de VIRTUALIZAÇÃO

Virtualização. O conceito de VIRTUALIZAÇÃO Virtualização A virtualização está presente tanto no desktop de um entusiasta pelo assunto quanto no ambiente de TI de uma infinidade de empresas das mais variadas áreas. Não se trata de "moda" ou mero

Leia mais

Pesquisa Operacional

Pesquisa Operacional GOVERNO DO ESTADO DO PARÁ UNIVERSIDADE DO ESTADO DO PARÁ CENTRO DE CIÊNCIAS NATURAIS E TECNOLOGIA DEPARTAMENTO DE ENGENHARIA Pesquisa Operacional Tópico 4 Simulação Rosana Cavalcante de Oliveira, Msc rosanacavalcante@gmail.com

Leia mais

Relatório de Progresso

Relatório de Progresso Luís Filipe Félix Martins Relatório de Progresso Mestrado Integrado em Engenharia Electrotécnica e de Computadores Preparação para a Dissertação Índice Introdução... 2 Motivação... 2 Cloud Computing (Computação

Leia mais

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI Dr. George SILVA; Dr. Gilbert SILVA; Gabriel GUIMARÃES; Rodrigo MEDEIROS; Tiago ROSSINI; Centro Federal de Educação Tecnológica do Rio Grande do

Leia mais

Licenciamento de estações de trabalho Windows para Ambientes VDI

Licenciamento de estações de trabalho Windows para Ambientes VDI Microsoft VDI e Windows VDA Perguntas Frequentes Licenciamento de estações de trabalho Windows para Ambientes VDI Como a Microsoft licencia o Windows das estações de trabalho em ambientes virtuais? A Microsoft

Leia mais

Soluções IBM SmartCloud. 2014 IBM Corporation

Soluções IBM SmartCloud. 2014 IBM Corporation Soluções IBM SmartCloud Estratégia de Cloud Computing da IBM Business Process as a Service Software as a Service Platform as a Service Infrastructure as a Service Design Deploy Consume Tecnologias para

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Garantindo a. Máquinas Virtuais do. alta disponibilidade nas. Microsoft Azure MDC305

Garantindo a. Máquinas Virtuais do. alta disponibilidade nas. Microsoft Azure MDC305 Garantindo a alta disponibilidade nas Máquinas Virtuais do Microsoft Azure MDC305 Palestra Quem são os palestrantes? Daniel Mauser Senior Techical Advisor LATAM Escalation Team Lead Email: dmauser@microsoft.com

Leia mais