Introdução aos Clusters Verdes de Servidores

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

Download "Introdução aos Clusters Verdes de Servidores"

Transcrição

1 Introdução aos Clusters Verdes de Servidores Daniel Mossé, Julius C. B. Leite, Antonio Gil Borges de Barros Abstract Server clusters have been progressively more used in businesses and industry, as for example in search and electronic commerce systems. However, studies demonstrate that the associated energy expenditure of running them has increased dramatically world-wide. This not only implies in larger financial costs, but also may cause significant environmental problems. Energy expenses come not only from running the servers and other IT equipment. A significant part of the electricity bill is due to cooling. This Chapter will present an introduction to the techniques for the reduction of energy consumption in computer clusters (i.e., techniques to help design the so-called power-aware clusters ). The techniques presented here encompass automatic reconfiguration of the clusters (i.e., which servers will be on and which will be off), configuration of CPU frequencies, virtualization, and thermal modeling of the servers, racks, and rooms of servers/racks. Resumo Clusters de servidores têm sido cada vez mais empregados no dia a dia da economia. Exemplos de sua utilização são os sistemas de busca e de comércio eletrônico. Contudo, estudos demonstram que o gasto energético associado ao uso desses sistemas tem aumentado dramaticamente em escala mundial. Isso implica não somente em maiores dispêndios financeiros, mas também em significativos problemas ambientais. O gasto de energia não provem somente do consumo dos servidores e de outros equipamentos de TIC (Tecnologia da Informação e Comunicação). Uma parte significativa do consumo é associada aos gastos com resfriamento desses equipamentos. Este Capítulo discutirá uma introdução às técnicas de redução do consumo energético em clusters de computadores (ou seja, aquelas empregadas na construção dos chamados power-aware clusters ). Essas técnicas abrangem reconfiguração automática dos clusters (quais servidores serão ligados e quais serão desligados), configuração das frequências dos processadores (como controlar a velocidade de execução das tarefas), virtualização, e modelagem térmica dos servidores, bastidores (racks) e salas de servidores Introdução e motivação Este Capítulo trata dos conceitos associados à chamada Computação Verde aplicados aos clusters de servidores. Sinteticamente, essa área da Ciência da 1

2 D. Mossé, J.C.B. Leite, A.G.B. de Barros Computação trata de economia de energia nos equipamentos de TIC (Tecnologia da Informação e Comunicação) e, como consequência, da diminuição do impacto ambiental decorrente dos seus métodos de geração e utilização. Grandes clusters são cada vez mais comuns em nossa sociedade, como, por exemplo, os empregados em sistemas de busca e de comércio eletrônico e os empregados na implementação de computação em nuvem (cloud computing), bem como os pequenos clusters, existentes, por exemplo, no processamento de dados em universidades e pequenas empresas. Com os avanços tecnológicos e o aumento da dependência de sistemas de computação de alto desempenho, a cada ano aumenta a necessidade da utilização de clusters para atender a demanda do mercado. Consequentemente, aumenta também o consumo de energia necessária para o seu funcionamento. Um levantamento feito pela U.S. Environmental Protection Agency estimou a demanda de pico desses sistemas, no ano de 2007, em 7 gigawatts e que, se mantida a tendência, esse número saltará para 12 gigawatts em 2011 [EPA 2007]. A título de comparação, a usina de Itaipu gera aproximadamente 12 gigawatts [Itaipu 2009]. Muitos Data Centers estão sendo construídos perto de usinas geradoras de eletricidade para poder suprir as necessidades de energia para processamento e arrefecimento. As hidrelétricas são particularmente interessantes pois, além da energia elétrica, se localizam perto de rios que podem ajudar no sistema de resfriamento (com consequências ambientais, certamente). Um relatório da McKinsey & Co. [Forrest e Brill 2000] indica uma série de dados preocupantes em relação ao impacto ambiental causado pela geração de energia necessária à alimentação de centros de processamento de dados (Data Centers). A Tabela 1.1 mostra a situação mundial das emissões de dióxido de carbono para algumas indústrias, incluindo o percentual relativo a Data Centers e servidores. O mais preocupante é que o consumo energético dessa última indústria vem crescendo 9% ao ano, e é projetado que sua participação na emissão de dióxido de carbono em nível mundial ultrapassará a das companhias aéreas em Tabela 1.1. Percentagem mundial da emissão de dióxido de carbono para algumas indústrias Indústria Percentual Aviação 0,6 Estaleiros 0,8 Siderúrgicas 1,0 Data Centers 0,3 Apresentando os dados de emissão de dióxido de carbono em uma outra perspectiva, observando as emissões geradas pela alimentação de Data 2

3 Clusters Verdes Centers comparativamente às emissões totais de alguns países, podemos ter uma boa ideia do impacto dessa indústria 1. Isso está indicado na Tabela 1.2. Claramente, em função da dependência da sociedade em relação aos sistemas computacionais, é necessário o desenvolvimento de novas técnicas e produtos, envolvendo componentes energeticamente mais eficientes, controle inteligente do resfriamento de servidores e Data Centers, gerenciamento de consumo, entre outros tópicos. A IBM Global Technology Services, no Reino Unido, em recente relatório [McBrayne e Lanyon-Hogg 2007], prevê que a área de TIC tornar-se-á um alvo importante para economia de energia e para as preocupações ambientais, assim como hoje são mundialmente as indústrias de aviação e automobilística. Tabela 1.2. Emissões de carbono por país País CO 2 por ano (Mt) Argentina 142 Holanda 146 Malásia 178 Data Centers 170 Resultados preliminares do Balanço Energético Nacional 2009 (ano base 2008) [EPE 2009], da Empresa de Pesquisa Energética (MME/Brasil), indicam que, na oferta interna de eletricidade, 85,4% vêm de fontes renováveis, sendo 80% hidráulica. Assim, embora o Brasil tenha uma posição privilegiada relativamente ao resto do mundo, há fontes de preocupação. A construção de novas usinas hidrelétricas (e.g., Belo Monte, Santo Antônio, Jirau) tem causado grandes questões ambientais, e o impacto do aquecimento global no regime de chuvas nas regiões de represas traz preocupações. Adicionalmente, novas represas no Brasil só serão construídas em regiões afastadas dos grandes centros consumidores, o que aumenta a demanda para o uso de usinas térmicas (e.g., gás natural), que são mais poluidoras. Uma grande parte da energia necessária para alimentar esses clusters é, contudo, perdida. Isso porque esses sistemas são projetados para garantir qualidade de serviço (e.g., tempo de resposta exato ou médio para cada usuário) quando a carga for máxima. Assim, estima-se que eles operem usualmente somente entre 20% a 30% de sua capacidade, permanecendo ociosos na maior parte do tempo [Elnozahy 2009, Kusic et al. 2008, Meisner et al. 2009]. Medidas realizadas no Laboratório Tempo ( mostraram que o gasto de energia de servidores (computadores) ociosos pode facilmente atingir 55% daquele necessário à sua operação em carga máxima. 1 O Brasil emite aproximadamente 360 Mt de CO 2 por ano. 3

4 D. Mossé, J.C.B. Leite, A.G.B. de Barros Um outro ponto muitas vezes negligenciado é o gasto de energia associado ao resfriamento dos equipamentos de um Data Center. Salas climatizadas requerem o uso de sistemas de ar condicionado (AC), que normalmente são projetados e utilizados como se o sistema computacional operasse durante todo o tempo à sua carga máxima. Grandes clusters comerciais requerem milhares de processadores e uma grande área para a sua localização. Assim, naturalmente, surge um desbalanceamento de temperatura em diversas localidades do Data Center. Em diversos pontos da(s) sala(s), mesmo que o equipamento computacional ali localizado não esteja operando no máximo, a refrigeração atuará como se ele estivesse. Estima-se que para cada watt gasto com o processamento de dados, um outro watt é gasto com resfriamento. Dessa forma, o estudo das técnicas associadas à Computação Verde é economicamente e ambientalmente fundamental. Este Capítulo trata exatamente desse problema. O objetivo básico das técnicas apresentadas na literatura sobre computação verde é diminuir o gasto energético do cluster, mas mantendo a qualidade de serviço (QoS - Quality of Service; por exemplo, estabelecendo prazos para o término das tarefas) especificada em contrato (SLA - Service Level Agreement). Dessa forma, pode-se entender um tal cluster como um sistema de tempo real não crítico (soft real-time system). Nesse sentido, o fundamental é diminuir o tempo ocioso dos servidores ativos do cluster, estimado entre 70% a 80% para Data Centers típicos, diminuir o gasto energético, mas garantindo uma QoS pré-definida. Os trabalhos apresentados na literatura especializada podem ser classificados em 4 vertentes para efeito da discussão deste Capítulo: (i) Controle da frequência de operação do processador, através da técnica DVFS - Dynamic Voltage and Frequency Scaling; (ii) Configuração dinâmica, geralmente utilizando técnicas de otimização para definição dos servidores que devem estar operando para uma determinada carga; (iii) Virtualização, pelo uso de servidores virtuais associados às aplicações, que podem ser migradas entre as máquinas físicas; e, (iv) Controle térmico, via técnicas de distribuição de carga e atuação em sistemas de resfriamento ambiental (ar condicionado) Composição de centros de processamento de dados Antes de discutirmos arquitetura de clusters de servidores na próxima Seção, vale expor os vários elementos que são necessários na construção de Data Centers. A título de ilustração, o metro quadrado de um Data Center varia de acordo com o tipo de sala requerida. Em Março de 2010, para sala cofre, cujas paredes corta-fogo são de aço e suportam inundações externas de até 1m de água, o custo é aproximadamente de R$ ,00 o m 2. Para salas seguras, que suportam temperaturas externas podendo atingir 1000 C por 1 hora, o custo diminui para aproximadamente R$ ,00 o m 2. Para salas convencionais, de alvenaria pura e simplesmente, o custo é de aproximadamente R$ ,00 o m 2. As salas cofre e seguras estão normatizadas pela 4

5 Clusters Verdes ABNT, em normas número NBR e A Figura 1.1 exemplifica a disposição de bastidores em um Data Center típico. Figura 1.1. Organização de um Data Center [de Barros 2010] Além dos servidores, diversos outros elementos são importantes para a constituição de um Data Center: Piso técnico elevado faz parte do ambiente, em geral. O piso elevado possibilita que o ar condicionado seja direcionado para corredores frios entre as fileiras de racks, sendo o ar frio insuflado pelo piso. Em locais determinados há furos no piso e exaustores que puxam o ar criando um corredor frio. Do outro lado do rack ficam os corredores quentes, de onde sai o ar quente, que sobe, e os aparelhos de ar condicionado puxam e retiram o ar de dentro do ambiente para subsequente resfriamento. Esses pisos elevados e a criação de corredores frios é padrão em Data Centers, pois evitam equipamentos de resfriamento com potências muito superiores à necessidade de dissipação de potência do ambiente, diminuindo os custos de construção e operacional. Adicionalmente, pode haver um aproveitamento melhor do ambiente físico, aumentando o número de fileiras de racks; se aparelhos de ar condicionado normais fossem usados, os racks teriam que ser voltados para os equipamentos de ar condicionado com suficiente espaço para a circulação do ar frio. Os métodos de climatização são normalmente classificados em de precisão e de conforto. Para o primeiro, de precisão, não pode haver variação de temperatura (que deve ficar em torno dos 21 C) em mais do que 5% na temperatura requisitada, ou na umidade relativa do ar (que 5

6 D. Mossé, J.C.B. Leite, A.G.B. de Barros deve ficar em aproximadamente 50% e não poderá passar dos 85%), ao passo que no segundo tipo, o ar condicionado de conforto, a variação pode ser maior. Obviamente, deve-se colocar o maior número possível de equipamentos em ar condicionado de conforto, já que o custo do ar de precisão é aproximadamente 50% mais caro que o de conforto (em Março de 2010, R$ ,00 e R$75.000,00, respectivamente, para um equipamento de 23 KVA que resfria aproximadamente 130 cores e outros equipamentos necessários 24x7x365 horas no ano 2 ). Há diversas configurações para colocação dos racks e das saídas de ar no piso elevado, como mostra a Figura 1.2. O ar pode vir de cima ou de baixo. O ar passa por dentro dos racks, mas pode ser retirado por trás ou por baixo (ou por cima). A facilidade e o custo de construção normalmente direcionam a configuração supracitada. Figura 1.2. Saídas de ar [Liebert 2007] Controle de acesso e CFTV (Circuito Fechado de Televisão) do ambiente, câmeras IP, e controles biométricos. Esses equipamentos estão 2 Ignoramos propositalmente neste capítulo introdutório qualquer quantificação de disponibilidade e de tolerância a falhas de equipamentos. 6

7 Clusters Verdes conectados a sistemas para armazenamento dos vídeos. Todos eles representam gastos adicionais de energia. Além da parte de arrefecimento, há também a parte de cabeamento (elétrico e lógico). Em um ambiente de Data Center, cada servidor de processamento tem de 2 a 4 cabos de rede, cada servidor de base de dados tem mais 2 cabos de fibra ótica ligados ao storage e ao SAN (Storage Area Network), cada servidor (base de dados ou processamento) tem ainda mais 2 cabos de energia. Portanto, considera-se entre 4 a 8 cabos por servidor que têm que ser colocados em local onde não causem dano ao equipamento e nem provoquem acidentes. Não raro, em um Data Center de 100 servidores há mais de 500 cabos de rede/fibras, mais de 200 cabos de energia, e todos passam sob o piso elevado. Fora os servidores utilizados pelas aplicações, há ainda no ambiente do Data Center infraestrutura para suportar o gerenciamento da rede, gerenciamento da segurança, vídeoconferência, telepresença, telefonia IP, e rede sem fio. Há também outros ambientes que compõem o Data Center como um todo: sala de controle e de segurança com display wall, ambiente para a equipe técnica de suporte, monitoramento e manutenção. Sistema de energia ininterrupta (no-break e grupo gerador) ficam fora da sala do Data Center, mas fazem parte da solução. No caso de nobreaks, é necessário ambiente com ar condicionado, podendo ser o de conforto, com piso elevado. A célula nesse caso não precisa ser sala cofre, talvez corta fogo ou, o mais utilizado, alvenaria. Finalmente, é importante a existência de sistemas de deteção precoce e controle de incêndio. Esses sistemas incluem equipamentos de monitoração do ambiente, com baixíssimo consumo de energia, mas que são necessários no ambiente. Além disso, um sistema de distribuição de gás FM200, interligado ao sistema de deteção precoce de incêndio, pode ser usado para rapidamente controlar eventuais incêndios no Data Center e estruturas associadas Leituras adicionais Os artigos a seguir podem ser consultados por leitores que desejarem se aprofundar no assunto: [42U 2010, CSU 2006, Hydeman 2006, Intel 2008, Intel 2010, Rasmussen 2008, Samson 2008] Organização e teste de um cluster A arquitetura de um web cluster pode assumir várias formas [Cardellini et al. 2002]. Para efeito da apresentação dos conceitos deste Capítulo, estamos assumindo uma arquitetura em 3 camadas (3-tiers), como a indicada na Figura 1.3. A primeira camada desse cluster é aquela composta pelo front-end (FE), que recebe e distribui as tarefas a serem executadas; a segunda é composta pelos processadores da aplicação; e a terceira camada é onde residem as bases de 7

8 D. Mossé, J.C.B. Leite, A.G.B. de Barros Figura 1.3. Arquitetura de um web cluster de servidores dados e os processadores para acessá-las. Embora quando colocados inicialmente em serviço esses sistemas possam ser homogêneos, naturalmente, em situações reais, os clusters tornam-se heterogêneos pela adição de novos servidores ou pela troca de servidores defeituosos. Não é nossa intenção discutir alternativas a essa arquitetura; isso está fora do escopo deste Capítulo. Contudo, é importante dizer que na maioria dos trabalhos apresentados na área essa arquitetura é modificada e somente 2 camadas são utilizadas. Isso é feito pois os autores desses trabalhos não querem tratar problemas associados a bases de dados 3, e procuram focar suas apresentações nos aspectos fundamentais das técnicas que estão propondo para gerenciamento energético de clusters. O tipo de arquitetura presumido neste Capítulo, com um elemento central (FE), é bastante indicado quando se deseja implementar políticas de controle global. Por exemplo, tipicamente, no FE são executados o gerenciador de configuração dinâmica, ações de balanceamento de carga, o controlador das frequências dos processadores dos servidores, e a medição de tempos de resposta de requisições, entre outras funções. Por exemplo, para a medição do tempo de resposta de requisições, os autores de [Bertini et al. 2007] modificaram um servidor Apache, acrescentando 3 Os maiores problemas são os de consistência da base de dados (depois que o servidor fica fora do ar, tem que se sincronizar com os outros servidores e atualizar a sua cópia da base de dados) e de gargalo (bottleneck) que afeta diretamente o desempenho dos sistemas de clusters considerados. 8

9 Clusters Verdes Figura 1.4. Medindo tempo de resposta em um cluster de servidores [Bertini et al. 2007] um rótulo à página solicitada e a seus objetos embutidos, de forma a poder identificar a chegada do último objeto de uma requisição web (diferentes objetos de uma página podem ser servidos por diferentes servidores do cluster), como indicado na Figura 1.4, retirada do artigo referido. Essa ação é facilitada pelo fato de haver um FE central. Problemas de escalabilidade do cluster levam a implementação do FE por soluções hierárquicas ou hardware dedicado (essas soluções estão fora do escopo deste Capítulo introdutório). Na avaliação de clusters como o da Figura 1.3, muitos trabalhos realizam experimentos com base em simulação, outros fazem suas análises com base na implementação de sistemas de tamanho reduzido (i.e., menos de 30 servidores). Para a geração de tráfego, o programa httperf [Mosberger e Jin 1998] é frequentemente utilizado. De forma a obter resultados mais próximos daqueles de uma instalação real, traces como o da Copa do Mundo de Futebol de 1998 são empregados; vários traces de tráfego da Internet podem ser obtidos em [LBNL 2010]. Contudo, esse ainda é um problema na área: a disponibilidade de traces mais realísticos, que possam adequadamente refletir o comportamento (em constante mudança) de diversas classes de usuários. Adicionalmente, os benchmarks mais citados na literatura são TPC-W [TPPC 2010], Rubis [OW2 Consortium 2010] e Trade6 [IBM 2010]. TPC-W é um benchmark transacional para comércio eletrônico, onde a carga é oferecida em um ambiente de Internet controlado, que suporta múltiplas sessões de browsers, geração de páginas dinâmicas, conexões seguras, entre outras características. Rubis é um protótipo de servidor web que modela um ambiente de leilão, similar ao do e-bay ou MercadoLivre. Trade6 é uma aplicação que simula compra 9

10 D. Mossé, J.C.B. Leite, A.G.B. de Barros e venda de ações, integrada ao ambiente WebSphere da IBM Conceitos introdutórios De forma a poder discutir as soluções para power-aware clusters encontradas na literatura, precisamos apresentar alguns conceitos iniciais. Assim, nesta Seção veremos algumas noções de sistemas de tempo real, de consumo energético, e de controle de frequências em processadores Sistemas de tempo real Um sistema computacional de tempo real (STR) é aquele em que os resultados não devem ser apenas corretos do ponto de vista lógico, mas também devem ser produzidos antes de um prazo pré-definido. Tipicamente, um STR recebe requisições do ambiente para executar tarefas, adquire os dados necessários (do ambiente, via sensores ou de bases de dados), faz algum tipo de processamento, e produz resultados desse processamento dentro dos prazos definidos pelo usuário. Um STR, como a maioria dos sistemas de computação, é complexo, pode ser distribuído ou não, utiliza diferentes subsistemas de hardware e software (e.g., sistemas de aquisição de dados e protocolos de comunicação), e cada um desses subsistemas deve produzir resultados de forma a atender uma restrição temporal. Obviamente, isso coloca uma carga extra sobre o Sistema Operacional (SO). Na área de tempo real, as unidades escalonáveis (sejam elas processos ou threads) são comumente chamadas de tarefas. As tarefas de um STR podem ser divididas em 2 classes: periódicas e aperiódicas. Tarefas periódicas são colocadas na fila dos processos prontos (ativadas) em intervalos fixos, chamados períodos. Por exemplo, uma tarefa associada a uma atualização de uma base de dados coletados do ambiente via sensores é geralmente uma tarefa periódica. Tarefas aperiódicas podem ser ativadas a qualquer momento, por exemplo, para o processamento de um alarme ou para processamento de uma requisição de atualização via pedido feito através da web. Normalmente, uma tarefa é caracterizada por um tripla: (C, T, D). C é o tempo máximo de execução da tarefa (WCET - Worst Case Execution Time); T é o seu período, e D é o prazo (relativo à ativação). Na maioria das análises de escalonabilidade de tarefas periódicas, assume-se que T = D, e no caso de tarefas aperiódicas não é necessário definir T. T e D são dependentes da aplicação; C é condicionado pela implementação (incluindo as características de hardware), e tem que ser avaliado pelo projetista via uma ferramenta específica ou através de testes. Há momentos em que o processador estará ocupado executando tarefas e outros nos quais o processador se encontrará ocioso. Estes espaços vazios (ou seja, onde há ociosidade do processador) são chamados de folga (slack), e podem ser utilizados por uma política de economia de energia. Um STR pode ser de dois tipos: crítico (hard real-time), ou não-crítico (soft real-time). STRs críticos são aqueles em que o seu mau funcionamento pode 10

11 Clusters Verdes causar grandes perdas econômicas ou humanas. Por exemplo, aqueles empregados em aviônica ou em automóveis são sistemas críticos, pois seu mau funcionamento pode levar à morte de passageiros. Sistemas não-críticos são empregados quando a perda de prazos pode ser tolerada, como por exemplo nos clusters de servidores discutidos neste Capítulo. A perda do prazo estipulado de uma requisição pode ser um aborrecimento para o usuário ou uma pequena penalidade financeira direta ou indireta, mas não é razoável admitir que esse prejuízo seja tão grave quanto o do caso anterior. A palavra-chave na área de tempo real crítico é previsibilidade. Isto significa que devem ser dadas garantias de que todas as execuções de tarefas irão ocorrer antes de prazos especificados. Garantias, neste contexto, devem ser expressas através de uma análise matemática. Utilizar processadores rápidos pode ser suficiente em muitos casos, mas isso não garante que em uma situação especial prazos não sejam perdidos, com graves consequências para o sistema. Para oferecer garantias, hipóteses devem ser feitas em relação ao ambiente do sistema. Por exemplo, em sistemas críticos, a carga oferecida deve ser bem quantificada, bem como os tempos envolvidos no processamento desta carga. Isto significa que todos os WCET das tarefas devem ser conhecidos. Isso não é um problema trivial, tendo em conta não apenas os caminhos diversos pelos quais um programa pode passar em sua execução, mas também pelo fato do WCET ser dependente do hardware, da linguagem e das técnicas de programação utilizadas. Por exemplo, caches e loops ilimitados são fontes de imprevisibilidade. Além disso, se o sistema tiver de ser tolerante a falhas (TF), dependendo das técnicas empregadas, tempo extra de processamento deve ser considerado e, também, levado em conta na análise de escalonabilidade. Em sistemas não-críticos, normalmente, controle de admissão de tarefas/requisições e comportamentos médios podem ser especificados. Os dois algoritmos mais importantes para escalonamento de tarefas em STRs são o RM (Rate Monotonic) e o EDF (Earliest Deadline First) [Liu e Layland 1973]. O primeiro desses algoritmos é um esquema de atribuição de prioridades fixas às tarefas, e assume que essas tarefas são periódicas. No segundo algoritmo, tarefas aperiódicas e periódicas são admitidas, e a atribuição de prioridades é feita de forma dinâmica. Não iremos nos aprofundar no estudo desses algoritmos; os leitores interessados encontram uma boa descrição em [Burns e Wellings 2009]. Sistemas de tempo real não críticos, por outro lado, podem funcionar com SOs onde o escalonador de tarefas não ofereça garantias temporais (e.g., Linux, Windows Server). No entanto, é esperado algum tipo de contrato entre o cliente e o provedor do serviço, onde uma especificação probabilística para a qualidade do serviço seja oferecida (e.g., 98% das requisições devem ter seus prazos atendidos). 11

12 D. Mossé, J.C.B. Leite, A.G.B. de Barros Consumo e controle de potência em processadores Vários processadores atuais permitem o gerenciamento do consumo de potência através da técnica de DVFS (Dynamic Voltage and Frequency Scaling). Essa técnica é baseada na constatação que para circuitos CMOS a potência do processador é proporcional ao quadrado da tensão (voltagem) de operação: P V 2 f. Adicionalmente, V e f mantêm uma relação de proporcionalidade, e portanto pode-se aproximar o consumo de potência pela relação P f 3. Além disso, a energia consumida é obtida pela integral no tempo da função/curva P. Pode-se também considerar que E = P t, quando definimos P como a potência média consumida, fazendo com que a energia consumida tenha uma relação quadrática com a frequência utilizada, ou seja, E f 2. Sendo o tempo de execução inversamente proporcional à frequência de operação, a simples diminuição do valor da frequência, embora reduzindo o gasto de potência, não implicará em economia energética. Contudo, a redução da tensão de alimentação pode oferecer um ganho quadrático em termos de economia de energia. Nos circuitos reais, entretanto, uma diminuição da tensão de alimentação obriga a uma diminuição na frequência de operação. Dessa forma, nesse texto, quando falarmos sobre incremento/decremento de frequência está implícito que a tensão de operação também é alterada. A mudança da frequência de operação, contudo, tem um custo. Para a realização dessa operação, uma certa potência é consumida (desprezível), e para a sua efetivação são gastas algumas unidades de tempo. Dependendo da localização do regulador de voltagem (dentro ou fora da UCP), essa transição pode levar entre 5 microssegundos (e.g, Core i7 da Intel) até centenas de microssegundos ou milissegundos (e.g., nos AMD Athlon 64) [Hsu e Feng 2005]. Na implementação de um sistema com controle DVFS o projetista fica limitado ao número de frequências discretas disponíveis no processador. Por exemplo, um dos processadores AMD Athlon oferece 5 frequências de operação: 1,0GHz, 1,8GHz, 2,0GHz, 2,2GHz, e 2,4GHz (ver Tabela 1.3 abaixo para outros processadores da mesma família AMD Athlon 64). Certamente, a possibilidade de controlar o gasto de potência dessa maneira é um grande avanço. Contudo, imaginemos a seguinte situação. Seja um sistema computacional (usando o processador acima) que, para tratar adequadamente a carga sendo oferecida (i.e., respeitando algum critério de QoS), pode operar em uma frequência de 1,0GHz. Vamos agora admitir que a carga cresça em 10%; nessa situação, o sistema tem que aumentar a frequência para continuar respeitando a QoS requisitada. Contudo, eleva-se a frequência do processador à próxima frequência possível, que é 1,8GHz. Sendo o gasto de potência relacionado à frequência por uma relação cúbica, ela irá ser multiplicada por 1,8 3 = 5,8. Ou seja, um gasto suplementar de potência necessariamente ocorrerá, pela obrigatoriedade do processador ser configurado em 1,8GHz. Na situação acima descrita, uma perda de QoS poderia ser admitida se o critério primordial fosse minimizar o gasto energético. Contudo, alguns resultados foram apresentados em [Ishihara e Yasuura 1998] que permitem fazer o 12

13 Clusters Verdes Tabela 1.3. Alguns processadores AMD Arquitetura Frequência máxima Número de (GHz) frequências AMD Athlon 64 X ,0 3 AMD Athlon ,2 5 AMD Athlon ,4 4 AMD Athlon ,4 5 AMD Athlon 64 X ,6 6 processador operar na frequência teórica (ideal) desejada. Sinteticamente, eles demonstram que: Se um processador somente pode utilizar um número discreto de frequências, o escalonamento com o uso máximo de duas frequências, para qualquer restrição temporal, minimiza o consumo de energia; Se um processador somente pode utilizar um número discreto de frequências, aquelas que minimizam o consumo de energia, para uma dada restrição temporal, são as imediatamente vizinhas à frequência ideal. Esses resultados permitem viabilizar um processador ideal que suportaria um esquema de frequências contínuas. Vamos admitir que, para uma dada carga, o sistema devesse operar em uma frequência f ideal para atender às suas restrições temporais e minimizar o gasto energético. Vamos também admitir que durante um período T, N ciclos de máquina devam ser executados nessa frequência f ideal. Para tornar a explicação mais clara, vamos olhar a Figura 1.5. Nesse caso, poderíamos ter um desempenho equivalente se o sistema executasse por N 1 ciclos na frequência f, e por N 2 ciclos na frequência f +, onde, obrigatoriamente, N = N 1 +N 2, e f + e f são frequências reais do processador, imediatamente acima e abaixo de f ideal, respectivamente. Para encontrar o ponto t onde o chaveamento de f para f + deve ocorrer, basta resolver a equação t f +(T t) f + = T f ideal (1) onde, à exceção de t, todas as variáveis são conhecidas. Para viabilizar esse esquema, deve-se construir uma rotina (de alta prioridade) que executa com um período de T unidades de tempo. Conhecida a frequência ideal de operação para uma dada carga, a frequência do processador é alternada de f a f + nos instantes t + kt(k = 0,1,...) e de f + a f nos instantes kt(k = 1,2,...). Adicionalmente, T e t deverão ser definidos em função da dinâmica de variação da carga, e levando em consideração o tempo de mudança entre frequências em um processador real (da ordem de 13

14 D. Mossé, J.C.B. Leite, A.G.B. de Barros Figura 1.5. Simulando frequências contínuas dezenas de microssegundos). Esse tipo de controle foi utilizado, por exemplo, em [Bertini et al. 2009]. Como observações finais, deve-se mencionar que: 1. A solicitação de alteração de frequências ocorre através do SO, mas deve haver suporte na placa-mãe para essa operação. No caso da AMD, a técnica é chamada de Cool n Quiet [AMD 2010], e no caso da Intel é chamada de SpeedStep [Intel 2004]. 2. Nos novos processadores, com múltiplos cores, há a possibilidade de controlar a frequência de cada um deles individualmente. 3. Nos instantes t + kt pode-se chavear de f + a f para cada tarefa, mas chaveando-se de f a f + pode-se economizar mais energia em geral. Esse comportamento é uma extensão dos trabalhos PACE [Lorch e Smith 2004], GRACE [Yuan e Nahrstedt 2003], e PPACE [Xu et al. 2004], pois é um comportamento otimista: as tarefas podem terminar prematuramente 4, e assim elas já teriam executado na frequência e voltagem mais baixas por mais tempo, economizando energia. 4 Normalmente, os sistemas de tempo real têm que garantir que as tarefas terminarão dentro dos prazos requisitados e, assim, são dimensionados para o máximo de tempo que a tarefa pode levar a executar; frequentemente as tarefas executam por aproximadamente 10% do tempo máximo [Ernst e Ye 1997], ou até menos [Rusu et al. 2004]. 14

15 Clusters Verdes Uma Interface para configuração de potência Apesar de os modelos iniciais levarem em consideração somente uma única fonte de consumo de energia pela UCP, logo se notou que existem outras fontes de consumo em processadores e em sistemas de computação em geral. Em relação ao processador, em [Zhu et al. 2004] a energia foi modelada com a relação quadrática mencionada acima e, além disso, notou-se que o consumo pode ser dividido em duas partes, uma que depende diretamente da frequência, e uma parte que independe da frequência de operação. A primeira é o consumo suplementar que ocorre quando o processador está em operação (potência dinâmica), e a segunda corresponde ao consumo do processador desocupado, devida às polarizações internas (potência estática). Devido à complexidade dos microprocessadores hoje em dia, existem vários estados de diferentes consumos de potência que são definidos por padrões/normas. O padrão mais adotado é a ACPI (Advanced Configuration and Power Interface, ou Interface Avançada para Configuração de Potência), que especifica os estados que o SO pode usar; obviamente, esses estados têm que ter suporte do hardware, particularmente da placa-mãe e do processador. O mapeamento das capacidades do hardware é feito pelos drivers do SO. A interface ACPI determina 4 estados globais do sistema, chamados G-states: G0 Working (ativo), G1 Sleeping (suspenso, hibernando), G2 Soft-off (o processador está parado, mas pode ser reiniciado via interrupções de hardware dos dispositivos de entrada e saída), e, finalmente, G3 Mechanical off, que é quando a máquina está realmente desligada. Como se pode perceber, os números menores indicam maior gasto de potência. O padrão ACPI ainda prevê uma hierarquia de estados de menor potência, dependendo da atividade no processador. Particularmente interessante são os sub-estados dos estados G0 (Working), que são chamados de C-states, e G1 (Sleeping), que são chamados S-states. O processador pode estar em vários C-states, a saber, C0 (execução normal, atividade plena), C1 (ocioso), C2 (menor consumo de potência do que C1, mas com mais latência para se retornar ao estado ativo), ou C3 (menor consumo de potência do que C2, mas com mais latência para se retornar ao estado ativo). O estado C0 (ativo) é por sua vez sub-dividido em vários estados de processamento (P-states, correspondendo às diferentes frequências possíveis do processador), sendo o P0 o de maior desempenho e consumo energético, e o Pn o de menor desempenho e consumo energético. Os possíveis S-states vão de S0 a S4, sendo os já definidos (e mais importantes) o estado S3, também chamado de suspend, e o estado S4, ou hibernate. O estado G2 também é chamado de S5. Exemplos de processadores, com suas frequências e respectivas voltagens, em cada um dos estados definidos pela ACPI são mostrados nas Tabelas 1.4 e

16 D. Mossé, J.C.B. Leite, A.G.B. de Barros Tabela 1.4. AMD Phenom II [AMD 2009] Frequência (GHz) Voltagem (V) Estado 3,0 1,425 P0 2,3 1,325 P1 1,8 1,225 P2 0,8 1,150 P3 Tabela 1.5. Intel Pentium M, frequência máxima 1,6GHz [Chen 2010] Frequência (GHz) Voltagem (V) Estado 1,6 1,484 P0 1,4 1,420 P1 1,2 1,276 P2 1,8 1,164 P3 0,8 1,036 P4 0,6 0,956 P Wake-on-LAN Quando se faz o gerenciamento de clusters, é obviamente necessário ligar e desligar servidores. Mais especificamente, é necessário passá-los de um estado a outro. Como vimos na Seção 1.4.3, quando se está num estado de baixo consumo energético, pode-se sair deste via interrupções de entrada e saída. Normalmente, essas interrupções são feitas via o mecanismo de Wakeon-LAN, ou seja, a placa de rede fica ligada, esperando a recepção de um pacote de rede com dados (bits) específicos. Quando chega esse pacote, a placa de rede passa a informação para a placa mãe que desperta a UCP, retornando-a a um estado de atividade maior. Vale mencionar que nos processadores Athlon 64 o consumo de potência quando o servidor está em estado de Wake-on-LAN é de aproximadamente 5W, quando ocioso é de aproximadamente 70W, e quando em frequência e voltagem máximas é de 140W Trabalhos iniciais em economia de energia As pesquisas na área de economia de energia não foram iniciadas, obviamente, em clusters de servidores. Inicialmente, os pesquisadores concentraramse em sistemas de um único processador. Nessa Seção vamos apresentar o primeiro trabalho na área, o primeiro trabalho que combinou gerenciamento de energia com características temporais, e um trabalho representativo na área de sistemas embarcados. Em todos esses casos a técnica de DVFS é explorada, a partir de política embutida no escalonador do sistema operacional. 16

17 Clusters Verdes O artigo seminal de Weiser, Welch, Demers e Shenker O primeiro trabalho publicado na área de economia de energia em sistemas computacionais, envolvendo técnicas controladas pelo sistema operacional, foi [Weiser et al. 1994]. Nele os autores propõem três algoritmos de escalonamento de processos para atuar no controle de DVFS do processador. Para os testes apresentados no artigo, os autores realizaram simulações com base em dados de traces de um escalonador Unix, obtidos de várias horas de execução de estações de trabalho. O primeiro algoritmo, OPT, analisa todo o trace e atua nos momentos de escalonamento para diminuir a frequência de operação, de forma a reduzir os períodos ociosos do processador. O segundo algoritmo, FUTURE, olha somente uma pequena janela de tempo a frente, e toma a decisão que otimiza o gasto energético. O terceiro algoritmo, PAST, analisa o ocorrido em uma janela de tempo passada, e atua no controle de frequência admitindo que o futuro próximo se comportará como o passado imediato. Claramente, os dois primeiros algoritmos, por dependerem de conhecimento perfeito do futuro, não são implementáveis. Contudo, servem de referência para comparação com PAST, o único dos algoritmos que é implementável. É interessante observar como a qualidade de serviço é tratada. No único algoritmo realizável, PAST, a proposta é observar quantos ciclos de instrução deixaram ou não de ser executados na última janela e atuar na frequência de operação. Um esquema de banda (deadzone) é empregado para garantir estabilidade no controle (evitar comportamento oscilatório). Os gastos de potência (normalizados) dos algoritmos desse artigo estão indicados na Figura 1.6, para 3 diferentes pontos de operação (voltagens) e em função do período de ativação do mecanismo de ajuste de frequências. O algoritmo OPT é insensível a esse último parâmetro, já que olha todo o trace. É interessante observar que PAST tem melhor desempenho que FUTURE, pois ciclos não executados na última janela podem ser transferidos para o intervalo seguinte. A medida que o intervalo diminui, a velocidade da UCP é ajustada mais frequentemente e, assim, acompanha melhor a carga oferecida, mas gastando mais energia. Um outro ponto interessante do artigo é a classificação das tarefas a serem executadas em diferentes classes (background, periódicas e foreground). Os autores propõem que para a execução de tarefas do tipo background não há necessidade de aumentar a velocidade do processador. Tarefas periódicas, que apresentam uma carga constante e a indicação de um prazo, podem ser executadas com velocidade suficiente para atender esse último. Quando há uma combinação dos diversos tipos de tarefas, a sugestão é escalonar primeiro as tarefas periódicas, acomodar as do tipo foreground na sequência e, finalmente, encaixar as tarefas do tipo background. 17

18 D. Mossé, J.C.B. Leite, A.G.B. de Barros Figura 1.6. Gasto de potência: OPT, FUTURE e PAST [Weiser et al. 1994] Combinando gerenciamento de energia e tempo real Um dos primeiros artigos que combinou explicitamente DVFS com os problemas de tempo real foi publicado no ano 2000 [Mossé et al. 2000], e propôs 3 algoritmos para economizar energia enquanto respeitava os prazos das tarefas. Esses três algoritmos, Proportional, Greedy, e Statistical, tratam de distribuir o tempo extra antes do prazo limite entre as tarefas de maneiras distintas. O Proportional distribui proporcionalmente ao pior caso do tempo de execução de cada tarefa, enquanto o Greedy dá todo o tempo extra para a próxima tarefa a ser executada, e o Statistical distribui o tempo extra baseado na média do tempo de execução das tarefas. Esse trabalho inicial tratava somente de conjuntos de tarefas com um único prazo em comum, presumia que as frequências do processador eram continuamente sintonizadas entre 0 e 1, e não admitia preempção das tarefas. Impulsionados por esse trabalho inicial, mesmo sendo um trabalho teórico, os mesmos autores sugeriram métodos mais formais para provar que há algoritmos que são ótimos do ponto de vista de redução de energia em sistemas de tempo real [Aydin et al. 2001, Aydin et al. 2004]. Nesses trabalhos, ainda um único servidor é considerado, mas leva-se em conta que tarefas podem ser interrompidas para executar tarefas de maior prioridade. Definindo um escalonamento ótimo, que também não é realista, os autores sugerem heurísticas com desempenho próximo ao algoritmo ótimo, com um parâmetro de agressividade (otimismo) que se pode variar. Quanto mais otimista o algoritmo, mais devagar o sistema configura a frequência do processador. Intuitivamente, dessa forma, mais energia (em média) seria economizada no sistema. Entretanto, 18

19 Clusters Verdes quando o algoritmo é otimista demais, algumas vezes o sistema executa tarefas tão devagar que fica sendo necessário executar outras tarefas muito mais rapidamente, elevando-se desnecessariamente a frequência do processador, causando maiores gastos de energia no cômputo geral Uma proposta em sistemas embarcados O artigo de [Pillai e Shin 2001] propõe algoritmos para controle de gasto energético em sistemas de tempo real embarcados, sistemas esses que muitas vezes são do tipo tempo real crítico. Nesse trabalho os autores apresentam abordagens estáticas (off-line) e dinâmicas (on-line) para sistemas de tempo real críticos. Na abordagem estática seleciona-se a menor freqüência operacional possível que ainda permita ao escalonador, no caso EDF ou RM, garantir todos os prazos do conjunto de tarefas. A redução é feita com base nos testes de escalonabilidade conhecidos para esses dois algoritmos, pela introdução de um fator de escala (relação entre a freqüência de operação pretendida e a freqüência máxima permitida pelo processador) para os tempos de execução máximos das tarefas. Na abordagem dinâmica, ou seja, para o caso em que as tarefas executam por menos tempo que o seu WCET (Worst Case Execution Time), são apresentados dois algoritmos: o Cycle Conserving, desenvolvido para escalonadores RM e EDF, e o Look Ahead, desenvolvido somente para EDF. Ambos os algoritmos se baseiam no cálculo da utilização do processador ao término da execução de cada tarefa, de forma a recuperar quaisquer ciclos (previstos no WCET) não utilizados. A diferença entre esses algoritmos é que no Look Ahead é assumida uma abordagem otimista, mais agressiva, onde, no início da execução da tarefa, ela é processada em uma frequência inferior, podendo essa freqüência ser aumentada para garantir o atendimento à restrição temporal (como mencionado acima e sugerido nos trabalhos de [Lorch e Smith 2004, Xu et al. 2004, Yuan e Nahrstedt 2003]). Para se ter uma ideia de como essa proposta funciona, vejamos o caso mais simples, o da abordagem off-line, para um escalonador EDF. Sob determinadas condições (ver, por exemplo, [Burns e Wellings 2009]), um conjunto de n tarefas é escalonado pelo algoritmo EDF se a condição indicada na Equação 2 for atendida (as variáveis foram descritas na Seção 1.4.1), admitindo operação na frequência máxima do processador, f max, e sem considerar overheads (nesse exemplo, f max é normalizada e igual a 1): n C i 1 (2) i=1 T i Admitindo um conjunto de tarefas que não usa o processador 100% do tempo, se a frequência do processador for alterada para f = α f max, 0 α 1, o tempo de execução das tarefas será agora de C i /α. Ou seja, o processador será operado em uma frequência menor, gastando menos potência, mas as tarefas levarão mais tempo para serem completadas. Assim, para garantir que a esca- 19

20 D. Mossé, J.C.B. Leite, A.G.B. de Barros lonabilidade do sistema será mantida, é necessário e suficiente que a condição estabelecida pela Equação 3 seja satisfeita: n C i α (3) i=1 T i A Figura 1.7 exemplifica o método estático, onde durante toda a operação o processador executará em somente uma das suas possíveis frequências. Para esse exemplo, um processador teórico com 3 frequências (normalizadas) é utilizado; são elas 1,00, 0,75 e 0,50. O conjunto de tarefas desse exemplo está indicado na Tabela 1.6. Um simples cálculo, utilizando a Equação 3, demonstra que nessa situação é factível operar o processador em uma frequência 75% do valor da frequência máxima, atendendo aos prazos das tarefas, e economizando energia. Figura 1.7. Exemplo de DVFS estático com EDF [Pillai e Shin 2001] Tabela 1.6. Conjunto de tarefas para o exemplo da Figura 1.7 Tarefa WCET (ms) Período (ms) Prazo (ms) T T T

21 Clusters Verdes Leituras adicionais Os artigos a seguir podem ser consultados por leitores que desejarem se aprofundar no assunto: [Ellis 1999, Kim et al. 1999, Novelli et al. 2005] Economizando energia em clusters Nesta seção descreveremos trabalhos representativos que especificamente tratam de economia de energia em clusters O primeiro trabalho na área O primeiro trabalho publicado sobre configuração dinâmica em clusters de servidores foi do grupo da Universidade de Rutgers, EUA, [Pinheiro et al. 2001]. A ideia central do artigo é desenvolver técnica para dinamicamente ligar um servidor (nó), e dessa forma configurar o sistema para tratar eficientemente a carga crescente, e desligar servidores para diminuir o consumo de potência quando a capacidade de processamento do cluster for superior aquela necessária para tratar a carga. A proposta dos autores é concentrar (desbalancear) a carga em alguns servidores, para poder desligar outros e gastar menos potência. Gastar menos potência implica em menores gastos com o sistema de resfriamento (cooling), e, obviamente, acarreta em economia de energia. Nesse trabalho, um cluster homogêneo é assumido, e a técnica de DVFS não é empregada. Basicamente, o algoritmo proposto executa periodicamente, e aceita a remoção de um nó do sistema se a degradação do desempenho esperada para qualquer aplicação executando nesse nó é menor do que um limiar pré-definido (degrad), e o período desde a última reconfiguração é maior do que um valor definido por outro limiar (elapse). A adição de um nó é necessária se a degradação atual do desempenho é pelo menos degrad, e o tempo decorrido desde a última reconfiguração é maior do que elapse. A implementação do algoritmo é centralizada, e a previsão da demanda por recursos do sistema (UCP, rede e discos; cada nó envia informação ao nó controlador central) é feita com base em uma média exponencial amortizada [Makridakis et al. 1997]. Um esquema de migração de aplicações é necessário, tanto para desbalancear o cluster (desligamento), quanto para ligar um nó (e balancear o processamento entre os nós ativos). A Figura 1.8 abaixo mostra o resultado do consumo de potência de um cluster com 8 máquinas, para uma dada carga oferecida, e para duas políticas. Na primeira, Static Configuration, nenhuma alteração de configuração é realizada. Na segunda, Dynamic Configuration, a configuração do cluster é dinamicamente adaptada para atender às variações da demanda. Uma economia de energia de 43% é reportada, indicando o grande potencial de uma política que adapta a configuração do cluster em função da carga oferecida Juntando configuração dinâmica e DVFS O trabalho apresentado em [Elnozahy et al. 2002] foi o primeiro a discutir o uso conjunto de DVFS e configuração dinâmica em clusters de servidores, isto 21

22 D. Mossé, J.C.B. Leite, A.G.B. de Barros Figura 1.8. Consumo para servidor WWW com elapse = 200s [Pinheiro et al. 2001] é, a determinação de quais servidores estarão ligados e quais serão desligados, e em que frequências operarão. Nesse trabalho, os autores cunharam o acrônimo VOVO para essa última operação, significando Vary-On / Vary-Off, e apresentaram 5 políticas globais (cluster wide) de gerenciamento de potência para clusters de servidores homogêneos. É importante frisar que nesse trabalho a avaliação de desempenho foi feita com base em simulação, o que reduz em muito a quantidade de problemas a serem tratados, mas o que também diminui a fidedignidade dos resultados, pois ignora vários detalhes que existem em uma implementação real. As 5 políticas propostas e suas formas de operação são descritas a seguir. Nas duas primeiras, todos os nós estão ativos durante toda a operação do sistema, mesmo que a carga do sistema seja baixa. Independent Voltage Scaling (IVS): cada nó do cluster gerencia independentemente (localmente) o seu consumo de potência, fazendo uso de DVFS. Não há nenhuma comunicação de estado entre nós, e nem para um controlador central. Como há uma política de balanceamento de carga, os nós operam, aproximadamente, na mesma frequência. Variações nas frequências de operação entre os nós são possíveis, em virtude de flutuações na carga. Coordinated Voltage Scaling (CVS): cada nó reporta a um nó central a sua frequência de operação. Esse nó central periodicamente calcula a 22

23 Clusters Verdes frequência média de operação desses diversos servidores, e envia essa informação a todos eles. Cada um dos nós servidores procura, então, operar em uma pequena faixa de frequências em torno dessa frequência média difundida. Essa política deve fornecer um melhor resultado em termos do consumo de potência, já que um cluster de servidores operando em uma frequência f é mais eficiente que um outro operando com os nós em frequências distintas mas com média f, dadas as relações de frequência e potência descritas na Seção VOVO: nesse caso, servidores serão ligados ou desligados conforme a variação da carga oferecida ao sistema. Um balanceamento de carga existe entre os nós ativos; cada um desses nós informa a um controlador central a sua utilização. Neste caso, os servidores ativos não tem política de DVFS. VOVO-IVS: é uma combinação das técnicas VOVO e IVS acima descritas. VOVO-CVS: é uma combinação das técnicas VOVO e CVS acima descritas. Um novo nó é ligado quando é observado que os nós operacionais deverão funcionar em uma frequência acima da frequência máxima do processador. De forma similar, se é observado que a frequência de operação deverá ficar abaixo da frequência mínima do processador, um dos nós será desligado. Os autores propõem uma modelagem analítica para otimizar o consumo de potência, onde assumem que a potência consumida em cada nó é uma função cúbica da frequência de operação. A frequência de operação é ajustada em função da utilização dos processadores dos nós (limiares superior e inferior são utilizados: 95% e 85%, respectivamente). Como resultado dessa modelagem, para uma dada configuração de n servidores, são calculadas em que frequências de operação o cluster deverá se encontrar quando tiver de ser reconfigurado para n 1 ou n+1 nós. Não há o uso direto de alguma métrica de qualidade de serviço (e.g., tempo de resposta); o trabalho apresentado presume que essa QoS será obtida mantendo-se os processadores entre os limiares de utilização acima referidos. A Figura 1.9 apresenta resultados de gasto energético para as 5 técnicas citadas, para dois workloads distintos (um da área de Finanças e outro dos jogos Jogos Olímpicos de inverno de 1998), dois custos fixos distintos (potência estática de 6W e 8,6W), e traces cobrindo um período de 24 horas. Nessa figura é importante observar o ganho obtido por IVS e CVS sobre um sistema sem nenhum controle de potência. Adicionalmente, um novo salto ocorre quando configuração dinâmica é adicionada a esses mecanismos. Os autores também ressaltam que, em função de características dos traces, no último experimento não há um ganho claro pela adição de VOVO a IVS e CVS. 23

24 D. Mossé, J.C.B. Leite, A.G.B. de Barros Figura 1.9. Energia consumida em 4 experimentos distintos [Elnozahy et al. 2002] Introduzindo heterogeneidade e uma implementação real O trabalho apresentado em [Rusu et al. 2006] foi um dos primeiros trabalhos a tratar clusters heterogêneos baseados em medição e não em simulações. Desta forma, os detalhes que normalmente eram omitidos nas simulações, como por exemplo o tempo e a energia requeridas para se iniciar um servidor depois de desligado, começaram a surgir como fatores importantes. De fato, notou-se que o tráfego de rede devido à troca de informações de carga e resultados de violações de prazos não é um fator significativo em ambientes de clusters para tráfego de Internet. Na organização proposta, o cluster tem um front-end que serve de distribuidor de carga, bem como é o nó responsável pelo cálculo da frequência aproximada a ser usada em cada servidor. Entretanto, cada um dos servidores executa uma política de DVFS local, que depende do número e tipo de requisições, bem como do tempo de execução das requisições. Uma política de pilha para ligar e desligar é adotada nesse trabalho: o próximo servidor a ser ligado é o que requer menor potência para processar as requisições que excedem a capacidade do cluster na configuração corrente. O front-end desliga o último servidor a ser ligado, ou seja, o que tem a maior potência dissipada entre os servidores ativos. O front-end distribui as requisições web aos servidores da camada 2 levando em consideração a capacidade de cada servidor, que foi medida a priori para levantar quantas requisições e de que tipo cada servidor tem a habilidade 24

25 Clusters Verdes de processar por segundo, de várias formas diferentes, a saber: (i) distribuição por carga; (ii) distribuição por custo de cada requisição; e, (iii) distribuição por energia consumida pelas requisições. Um dos problemas identificados foi a medição das métricas sugeridas nos itens (i) a (iii); por exemplo, no cálculo da carga, se os servidores forem muito rápidos em relação ao tempo de execução das requisições, a carga pode ser subestimada, causando que a frequência do servidor seja configurada abaixo do necessário. Esse problema pode ser solucionado calculando cada métrica em um intervalo suficientemente longo, causando, contudo, perda da informação de granularidade fina sobre a carga observada. Os resultados reportados (ver Figura 1.10) mostram que a configuração dinâmica é a que tem a maior contribuição para economia de energia, pois desliga os servidores ociosos. Nota-se na figura que quando a carga é zero, o cluster consome aproximadamente 32W, pois cada um dos servidores Athlon 64 utilizados consome aproximadamente 8W quando em estado de hibernação (ver Wake-on-LAN na Seção 1.4.4) e o servidor Transmeta empregado também consome 8W quando ativo (esse é o primeiro servidor a ser ligado). O DVFS tem a sua maior contribuição quando: (a) a carga do cluster está acima de 70%, pois todos os servidores estão ativados; e, (b) quando um novo servidor é ativado. A importância do DVFS diminui a medida que a carga aumenta, para um número fixo de servidores Potencia media (W) Sem gerenciamento 50 DVFS On/Off 0 On/Off + DVFS Carga (%) Figura Comparação de políticas de DVFS e VOVO em clusters heterogeneos [Rusu et al. 2006] 25

26 D. Mossé, J.C.B. Leite, A.G.B. de Barros Adicionando controle e independência de modelo Tradicionalmente, a qualidade de serviço em clusters de servidores web é medida pelo quociente entre o número de requisições atendidas no prazo e o número total de requisições, em uma determinada janela de tempo. No trabalho apresentado por [Bertini et al. 2007] foi observado que, em vez de quantificar o número de transações completadas com sucesso, como é praxe nesse tipo de trabalho, seria possível fazer o gerenciamento energético com base em um percentil da função de distribuição da folga (ou do atraso) do tempo de resposta em relação ao prazo estabelecido para a requisição. Estudar o atraso acumulado numa janela de tempo fornece mais informações sobre o estado do sistema (quanto mais atrasadas as tarefas, mais aceleração é necessária nos servidores). Com base no percentil de requisições que devem ser atendidas no prazo (e.g., 95%), um controlador PIDF (Proportional Integral Derivative with a lowpass Filter) altera as velocidades de operação das máquinas do cluster (ou seja, atua no mecanismo de DVFS). Esse controlador é executado no frontend, onde são guardadas as informações de configuração do cluster. Sendo o FE um ponto central, a medida dos tempos de resposta das requisições é facilitada. Adicionalmente, o FE executa o balanceamento de carga, com distribuição dependente da capacidade de cada servidor (ou seja, é assumido que o cluster pode ser heterogêneo). Nesse trabalho, os autores modelam essa variável, ou seja, a folga ou o atraso (que chamam de tardiness), através das distribuições Pareto e Lognormal, e os resultados reportados, em termos de gasto energético e QoS, indicam ganhos em relação a outras propostas. Esse método, denominado método TQM (Tardiness Quantile Metric), foi aplicado a um cluster de 2 camadas; a terceira camada não foi tratada nesse trabalho. Em trabalho posterior [Bertini et al. 2009], os mesmos autores generalizaram o método TQM para qualquer distribuição, através do uso de aproximação estocástica [Kushner e Yin 2003]. Esse método é chamado de GTQM - Generalized TQM, e se baseia no algoritmo de Robbins-Monro [Robbins e Monro 1951], que faz a avaliação do percentil de uma função de distribuição durante a execução do sistema, independentemente do conhecimento da forma da função. Os autores compararam a proposta desse último trabalho com a solução já otimizada de [Rusu et al. 2006] (ver também Seção 1.6.3). Para um teste de 1,8h de duração, e com uma carga sintética, eles demonstraram que um ganho adicional de até 5,2% poderia ser obtido, conforme indicado na Figura Os mesmos autores apresentaram uma solução para a questão da configuração dinâmica, através de um método de otimização. O problema em questão consiste em definir, para uma dada carga, qual a melhor configuração a ser aplicada a um cluster de servidores heterogêneos. Ou seja, como otimizar o número de máquinas ativas (ligadas), bem como definir a frequência de operação de cada uma dessas máquinas [Bertini et al. 2010]. Eles trataram o problema através de Programação Inteira Mista (PIM), e testaram com sucesso 26

27 Clusters Verdes Figura Eficiência do método GTQM [Bertini et al. 2009] a técnica proposta em um protótipo real. Nesse mesmo trabalho os autores discutem duas alternativas para a implementação do mecanismo de controle de QoS. Na primeira, SISO (Single Input Single Output), existe um único controlador PIDF cuja saída (normalizada) serve de entrada para tabelas geradas off-line (pela otimização via PIM), onde uma frequência de operação é obtida para cada máquina do cluster, além da indicação de quais máquinas estarão on-line. Na segunda, SIMO (Single Input Multiple Output), a referência de tardiness é enviada para N controladores independentes (um por servidor), e não há nenhum mecanismo de otimização global para DVFS, somente para decidir que máquinas estarão ligadas. O primeiro mecanismo, embora ótimo, tem como desvantagem a necessidade de gerar tabelas off-line, o que pode ser um problema para Data Centers de médio e grande porte (i.e., com mais que 30 servidores). O segundo mecanismo dispensa a procura por uma configuração global ótima de frequências, deixando o seu ajuste para os N controladores PIDF locais, um por servidor. No artigo os autores demonstram que a primeira alternativa oferece um desempenho energético ligeiramente melhor, conforme indicado na Figura 1.12, e que a vantagem da SISO aumenta para uma carga crescente de requisições Tratando arquiteturas de 3 camadas Embora em sua topologia mais geral clusters de servidores possam ser representados por um modelo de 3 camadas (3-tiers), ou seja, front-end (primeira camada, ou camada 1), camada de aplicação (segunda camada, ou camada 2) 27

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

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias

Leia mais

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto.

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto. Discussão sobre Nivelamento Baseado em Fluxo de Caixa. Item aberto na lista E-Plan Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em

Leia mais

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

Leia mais

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Comparativo de desempenho do Pervasive PSQL v11

Comparativo de desempenho do Pervasive PSQL v11 Comparativo de desempenho do Pervasive PSQL v11 Um artigo Pervasive PSQL Setembro de 2010 Conteúdo Resumo executivo... 3 O impacto das novas arquiteturas de hardware nos aplicativos... 3 O projeto do Pervasive

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

7.Conclusão e Trabalhos Futuros

7.Conclusão e Trabalhos Futuros 7.Conclusão e Trabalhos Futuros 158 7.Conclusão e Trabalhos Futuros 7.1 Conclusões Finais Neste trabalho, foram apresentados novos métodos para aceleração, otimização e gerenciamento do processo de renderização

Leia mais

Roteamento e Comutação

Roteamento e Comutação Roteamento e Comutação Design de Rede Local Design Hierárquico Este design envolve a divisão da rede em camadas discretas. Cada camada fornece funções específicas que definem sua função dentro da rede

Leia mais

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler Introdução Objetivos da Gestão dos Custos Processos da Gerência de Custos Planejamento dos recursos Estimativa dos

Leia mais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de

Leia mais

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling DIMENSIONANDO PROJETOS DE WEB-ENABLING Uma aplicação da Análise de Pontos de Função Dimensionando projetos de Web- Enabling Índice INTRODUÇÃO...3 FRONTEIRA DA APLICAÇÃO E TIPO DE CONTAGEM...3 ESCOPO DA

Leia mais

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA Muitas organizações terceirizam o transporte das chamadas em seus call-centers, dependendo inteiramente

Leia mais

XDOC. Solução otimizada para armazenamento e recuperação de documentos

XDOC. Solução otimizada para armazenamento e recuperação de documentos XDOC Solução otimizada para armazenamento e recuperação de documentos ObJetivo Principal O Que você ACHA De ter Disponível Online todos OS Documentos emitidos por SUA empresa em UMA intranet OU Mesmo NA

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade.

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade. 1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade. Todos nós da AGI Soluções trabalhamos durante anos

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

Gerência do Processador

Gerência do Processador Andrique Amorim www.andrix.com.br professor@andrix.com.br Gerência do Processador Desenvolvimento web II IMPORTANTE SABER Desenvolvimento web II DEADLOCK (interbloqueio, blocagem, impasse) Situação em

Leia mais

O que é isso? O que ocorreu? Como resolver os problemas? Pesquisas no IC-UFF. Computação Verde. Julius Leite

O que é isso? O que ocorreu? Como resolver os problemas? Pesquisas no IC-UFF. Computação Verde. Julius Leite Instituto de Computação Universidade Federal Fluminense ICC, Dezembro 2012 Sumário O que é isso? Vamos descobrir... Definição O que ocorreu? Aumento do consumo Aumento da escala Problemas associados Como

Leia mais

PROPOSTA COMERCIAL CLOUD SERVER

PROPOSTA COMERCIAL CLOUD SERVER PROPOSTA COMERCIAL CLOUD SERVER Sobre a AbsamHost A AbsamHost atua no mercado de hosting desde 2008, fornecendo infraestrutura de data center a diversas empresas no Brasil e no mundo. Focada em servidores

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO.

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO. UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO Xen Hypervisor Glauco Neves 07132022 Guilherme Pacheco 07232063 INE 5412-0432

Leia mais

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP 1 INTRODUÇÃO Devido ao crescimento da Internet, tanto do ponto de vista do número de usuários como o de serviços oferecidos, e o rápido progresso da tecnologia de comunicação sem fio (wireless), tem se

Leia mais

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 3 O QUE É PLANEJAMENTO DE VENDAS E OPERAÇÕES?

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 3 O QUE É PLANEJAMENTO DE VENDAS E OPERAÇÕES? PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 3 O QUE É PLANEJAMENTO DE VENDAS E OPERAÇÕES? Índice 1. O que é planejamento de...3 1.1. Resultados do planejamento de vendas e operações (PVO)...

Leia mais

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA Através dos elementos que fazem parte do projeto do sistema é que podemos determinar quais as partes do sistema que serão atribuídas às quais tipos

Leia mais

Eficiência operacional no setor público. Dez recomendações para cortar custos

Eficiência operacional no setor público. Dez recomendações para cortar custos Eficiência operacional no setor público Dez recomendações para cortar custos 2 de 8 Introdução Com grandes cortes no orçamento e uma pressão reguladora cada vez maior, o setor público agora precisa aumentar

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

UNIP UNIVERSIDADE PAULISTA

UNIP UNIVERSIDADE PAULISTA UNIP UNIVERSIDADE PAULISTA GERENCIAMENTO DE REDES Segurança Lógica e Física de Redes 2 Semestre de 2012 SEGURANÇA FÍSICA Introdução Recomendações para o controle do acesso físico Política de segurança

Leia mais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.2 Aspectos Gerais Estrutura do Sistema Operacional Principais Funções do Sistema Operacional Tratamento de interrupções e exceções Criação e

Leia mais

Módulo 4. Construindo uma solução OLAP

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

Integrating Multimedia Applications in Hard Real-Time Systems. Introdução - CM são sensíveis a delay e variação no delay (Jitter)

Integrating Multimedia Applications in Hard Real-Time Systems. Introdução - CM são sensíveis a delay e variação no delay (Jitter) Integrating Multimedia Applications in Hard Real-Time Systems Introdução - CM são sensíveis a delay e variação no delay (Jitter) - WCET para CM não é uma abordagem interessante. WCET >> Tempo médio de

Leia mais

Montagem e Manutenção. Luís Guilherme A. Pontes

Montagem e Manutenção. Luís Guilherme A. Pontes Montagem e Manutenção Luís Guilherme A. Pontes Introdução Qual é a importância da Montagem e Manutenção de Computadores? Sistema Binário Sistema Binário Existem duas maneiras de se trabalhar e armazenar

Leia mais

Sitec Power Soluções em Energia ENERGIA REATIVA E FATOR DE POTÊNCIA

Sitec Power Soluções em Energia ENERGIA REATIVA E FATOR DE POTÊNCIA ENERGIA REATIVA E FATOR DE POTÊNCIA O QUE É ENERGIA ATIVA E REATIVA? Sim, mas apesar de necessária, a utilização de Energia Reativa deve ser a menor possível. O excesso de Energia Reativa exige condutores

Leia mais

Aumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP

Aumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP Parceiros de serviços em nuvem gerenciada Aumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP Implemente a versão mais recente do software da SAP de classe mundial,

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

4 Segmentação. 4.1. Algoritmo proposto

4 Segmentação. 4.1. Algoritmo proposto 4 Segmentação Este capítulo apresenta primeiramente o algoritmo proposto para a segmentação do áudio em detalhes. Em seguida, são analisadas as inovações apresentadas. É importante mencionar que as mudanças

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

Simulação Computacional de Sistemas, ou simplesmente Simulação

Simulação Computacional de Sistemas, ou simplesmente Simulação Simulação Computacional de Sistemas, ou simplesmente Simulação Utilização de métodos matemáticos & estatísticos em programas computacionais visando imitar o comportamento de algum processo do mundo real.

Leia mais

Administração de Sistemas de Informação Gerenciais

Administração de Sistemas de Informação Gerenciais Administração de Sistemas de Informação Gerenciais UNIDADE III: Infraestrutura de Tecnologia da Informação Atualmente, a infraestrutura de TI é composta por cinco elementos principais: hardware, software,

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE 1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)

Leia mais

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015 Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres Fundamentos de Sistemas Operacionais UNIP/2015 Disciplinas FUNDAMENTOS DE SISTEMAS OPERACIONAIS Horários Quarta-feira Fundamentos de Sistemas

Leia mais

6 Construção de Cenários

6 Construção de Cenários 6 Construção de Cenários Neste capítulo será mostrada a metodologia utilizada para mensuração dos parâmetros estocásticos (ou incertos) e construção dos cenários com respectivas probabilidades de ocorrência.

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

On Scalability of Software-Defined Networking

On Scalability of Software-Defined Networking On Scalability of Software-Defined Networking Bruno dos Santos Silva bruno.silva@ic.uff.br Instituto de Computação IC Universidade Federal Fluminense UFF 24 de Setembro de 2015 B. S. Silva (IC-UFF) On

Leia mais

TRABALHO COM GRANDES MONTAGENS

TRABALHO COM GRANDES MONTAGENS Texto Técnico 005/2013 TRABALHO COM GRANDES MONTAGENS Parte 05 0 Vamos finalizar o tema Trabalho com Grandes Montagens apresentando os melhores recursos e configurações de hardware para otimizar a abertura

Leia mais

Unidade 13: Paralelismo:

Unidade 13: Paralelismo: Arquitetura e Organização de Computadores 1 Unidade 13: Paralelismo: SMP e Processamento Vetorial Prof. Daniel Caetano Objetivo: Apresentar os conceitos fundamentais da arquitetura SMP e alguns detalhes

Leia mais

Profs. Deja e Andrei

Profs. Deja e Andrei Disciplina Sistemas Distribuídos e de Tempo Real Profs. Deja e Andrei Sistemas Distribuídos 1 Conceitos e Projetos de Sistemas Distribuídos Objetivos: Apresentar uma visão geral de processamento distribuído,

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

Gerência de Redes NOC

Gerência de Redes NOC Gerência de Redes NOC Cássio D. B. Pinheiro pinheiro.cassio@ig.com.br cassio.orgfree.com Objetivos Apresentar os conceitos fundamentais, assim como os elementos relacionados a um dos principais componentes

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

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

UTILIZAÇÃO DA COMPETÊNCIA DE TI ATRAVÉS DE UM ABRANGENTE PLANEJAMENTO DE CAPACIDADE E MODELAGEM DE CARGAS DE TRABALHO

UTILIZAÇÃO DA COMPETÊNCIA DE TI ATRAVÉS DE UM ABRANGENTE PLANEJAMENTO DE CAPACIDADE E MODELAGEM DE CARGAS DE TRABALHO S Y S T E M S ASG-PERFMAN 2020 UTILIZAÇÃO DA COMPETÊNCIA DE TI ATRAVÉS DE UM ABRANGENTE PLANEJAMENTO DE CAPACIDADE E MODELAGEM DE CARGAS DE TRABALHO ASG ASG-PERFMAN 2020: Visão Global A sua capacidade

Leia mais

Sistema Operacional Correção - Exercício de Revisão

Sistema Operacional Correção - Exercício de Revisão Prof. Kleber Rovai 1º TSI 22/03/2012 Sistema Operacional Correção - Exercício de Revisão 1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais funções? Não funcionaria.

Leia mais

Memórias Prof. Galvez Gonçalves

Memórias Prof. Galvez Gonçalves Arquitetura e Organização de Computadores 1 s Prof. Galvez Gonçalves Objetivo: Compreender os tipos de memória e como elas são acionadas nos sistemas computacionais modernos. INTRODUÇÃO Nas aulas anteriores

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópico 33 e 34 Virtualização São Paulo 2009 Virtualização Ao falar em virtualização,

Leia mais

Infraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli

Infraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli Infraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli Conceitos principais Nuvem Local Dados (informações) Profissional Pessoal Procedimento padrão (modelo) Produzir Armazenar Como era... Como

Leia mais

Como Utilizar Power over Ethernet para Reduzir o Consumo de Energia

Como Utilizar Power over Ethernet para Reduzir o Consumo de Energia Como Utilizar Power over Ethernet para Reduzir o Consumo de Energia Documento Técnico Setembro de 2011 Visão Geral A tecnologia 'Power over Ethernet' (PoE) tornou-se uma ferramenta cada vez mais importante

Leia mais

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS Quando falamos em arquitetura, normalmente utilizamos esse termo para referenciar a forma como os aplicativos computacionais são estruturados e os hardwares

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Projeto e Análise de Algoritmos Aula 04 Introdução a Análise de Algoritmos humberto@bcc.unifal-mg.edu.br Última aula Fundamentos de Matemática Exercícios: Somatórios; Logaritmos

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

5. Resultados e Análises

5. Resultados e Análises 66 5. Resultados e Análises Neste capítulo é importante ressaltar que as medições foram feitas com uma velocidade constante de 1800 RPM, para uma freqüência de 60 Hz e uma voltagem de 220 V, entre as linhas

Leia mais

CISC RISC Introdução A CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada em processadores Intel e AMD; suporta mais instruções no entanto, com

Leia mais

3 Arquitetura do Sistema

3 Arquitetura do Sistema 3 Arquitetura do Sistema Este capítulo irá descrever a arquitetura geral do sistema, justificando as decisões de implementação tomadas. Na primeira seção iremos considerar um conjunto de nós interagindo

Leia mais

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como: Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

CENTRO UNIVERSITÁRIO ESTÁCIO RADIAL DE SÃO PAULO SÍNTESE DO PROJETO PEDAGÓGICO DE CURSO 1

CENTRO UNIVERSITÁRIO ESTÁCIO RADIAL DE SÃO PAULO SÍNTESE DO PROJETO PEDAGÓGICO DE CURSO 1 SÍNTESE DO PROJETO PEDAGÓGICO DE CURSO 1 CURSO: ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MISSÃO DO CURSO A concepção do curso de Análise e Desenvolvimento de Sistemas está alinhada a essas novas demandas

Leia mais

Memória cache. Prof. Francisco Adelton

Memória cache. Prof. Francisco Adelton Memória cache Prof. Francisco Adelton Memória Cache Seu uso visa obter uma velocidade de acesso à memória próxima da velocidade das memórias mais rápidas e, ao mesmo tempo, disponibilizar no sistema uma

Leia mais

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P. INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P. Centro de Emprego e Formação Profissional da Guarda Curso: Técnico de Informática Sistemas (EFA-S4A)-NS Trabalho Realizado Por: Igor_Saraiva nº 7 Com

Leia mais

Analisando graficamente o exemplo das lâmpadas coloridas de 100 W no período de três horas temos: Demanda (W) a 100 1 100 100.

Analisando graficamente o exemplo das lâmpadas coloridas de 100 W no período de três horas temos: Demanda (W) a 100 1 100 100. Consumo Consumo refere-se à energia consumida num intervalo de tempo, ou seja, o produto da potência (kw) da carga pelo número de horas (h) em que a mesma esteve ligada. Analisando graficamente o exemplo

Leia mais

2 Atualidade de uma base de dados

2 Atualidade de uma base de dados 2 Atualidade de uma base de dados Manter a atualidade de uma base de dados é um problema que pode ser abordado de diferentes maneiras. Cho e Garcia-Molina [CHO] definem esse problema da seguinte forma:

Leia mais

Isolamento de Recursos na Nuvem Por que isso e ta o importante?

Isolamento de Recursos na Nuvem Por que isso e ta o importante? Isolamento de Recursos na Nuvem Por que isso e ta o importante? Rodrigo Albani de Campos rcampos@uolinc.com Não restam dúvidas quanto à evolução na capacidade e na qualidade do hardware atualmente utilizado

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento Professor Rene - UNIP 1 Roteamento Dinâmico Perspectiva e histórico Os protocolos de roteamento dinâmico são usados

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

4 Implementação e Resultados Experimentais

4 Implementação e Resultados Experimentais 4 Implementação e Resultados Experimentais Com o objetivo de fazer a criação automática de visões materializadas, ou seja, prover uma solução on-the-fly para o problema de seleção de visões materializadas,

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

Inversores de Freqüência na Refrigeração Industrial

Inversores de Freqüência na Refrigeração Industrial ersores de Freqüência na Refrigeração Industrial Os inversores de freqüência possuem um vasto campo de aplicações dentro da área de refrigeração industrial. São utilizados nas bombas de pressurização,

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

4 Arquitetura básica de um analisador de elementos de redes

4 Arquitetura básica de um analisador de elementos de redes 4 Arquitetura básica de um analisador de elementos de redes Neste capítulo é apresentado o desenvolvimento de um dispositivo analisador de redes e de elementos de redes, utilizando tecnologia FPGA. Conforme

Leia mais