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 (www.tempo.uff.br) 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

Escalonamento de Processos em Multiprocessadores

Escalonamento de Processos em Multiprocessadores Sistemas Operacionais Escalonamento de Processos em Multiprocessadores Capítulo 10 IC - UFF 1 Processamento Paralelo e Distribuído Multiprocessadores X Multicomputadores Memória IC - UFF 2 Processamento

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

Tempo Real 7/4/2010. Aula 10. Engenharia de Sistemas Embarcados

Tempo Real 7/4/2010. Aula 10. Engenharia de Sistemas Embarcados Agenda Aula 10 Engenharia de Sistemas Embarcados Prof. Abel Guilhermino Tópico: Sistemas de Tempo Real Conceitos Gerais Processos de Tempo Real Periódico, Aperiódicos e Esporádicos Escalonamento de Tempo

Leia mais

Projeto de Sistemas de Tempo Real

Projeto de Sistemas de Tempo Real Projeto de Sistemas de Tempo Real Centro de Informática - Universidade Federal de Pernambuco Engenharia da Computação Kiev Gama kiev@cin.ufpe.br Slides elaborados pelo professor Marcio Cornélio O autor

Leia mais

5 Planejamento dos experimentos

5 Planejamento dos experimentos 5 Planejamento dos experimentos Depois de escolher e implementar 5 modelos de concorrência e 4 modelos de sandboxes que consideramos representativos para um servidor web Lua, procuramos os principais fatores

Leia mais

Abordagens de Escalonamento na Perspectiva da Engenharia

Abordagens de Escalonamento na Perspectiva da Engenharia Mercado para tempo real é amplo Necessidade de Diferentes Abordagens Sistemas de Tempo Real: Abordagens de Escalonamento na Perspectiva da Engenharia Rômulo Silva de Oliveira Departamento de Automação

Leia mais

DataFaz Catálogo 2014

DataFaz Catálogo 2014 DataFaz Catálogo 2014 DCIM Data Center Infrastructure Management Monitoramento e Gestão de Data Centers Sobre a Fazion A FAZION é dedicada a desenvolver soluções para integração completa de Data Centers,

Leia mais

Arquiteturas de Software

Arquiteturas de Software Universidade Federal do Amazonas Faculdade de Tecnologia Departamento de Eletrônica e Computação Arquiteturas de Software Lucas Cordeiro lucascordeiro@ufam.edu.br Notas de Aula Estes slides são baseados

Leia mais

PETROBRAS CONSEGUE EFICIÊNCIA ENERGÉTICA AO APRIMORAR INFRAESTRUTURA DE TI. Case de Sucesso. outubro/2012

PETROBRAS CONSEGUE EFICIÊNCIA ENERGÉTICA AO APRIMORAR INFRAESTRUTURA DE TI. Case de Sucesso. outubro/2012 outubro/2012 Case de Sucesso PETROBRAS CONSEGUE EFICIÊNCIA ENERGÉTICA AO APRIMORAR INFRAESTRUTURA DE TI Para publicar um case no Portal IT4CIO, entre em contato pelo e-mail comunicacao@it4cio.com. PERFIL

Leia mais

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

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

Leia mais

Introdução sobre o Tempo Real

Introdução sobre o Tempo Real Capítulo 1 Introdução sobre o Tempo Real Esse capítulo visa esclarecer o entendimento de tempo real dos autores, definir conceitualmente os Sistemas de Tempo Real e apresentar os problemas e desafios que

Leia mais

Alimentação. Powerpoint Templates Page 2. Alimentação

Alimentação. Powerpoint Templates Page 2. Alimentação Curso: Técnico em Informática 2º ano Energia Elétrica: A energia elétrica é uma das formas de energia mais utilizadas no mundo. Ela é gerada, principalmente, nas usinas hidrelétricas, usando o potencial

Leia mais

Fonte de alimentação AT, ATX e ATX12V

Fonte de alimentação AT, ATX e ATX12V Fonte de alimentação AT, ATX e ATX12V Introdução As fontes de alimentação são as responsáveis por distribuir energia elétrica a todos os componentes do computador. Por isso, uma fonte de qualidade é essencial

Leia mais

Metas de um Sistema Distribuído

Metas de um Sistema Distribuído Metas de um Sistema Distribuído Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Como a Cisco TI virtualizou os Servidores de Aplicações dos Centros de Dados

Como a Cisco TI virtualizou os Servidores de Aplicações dos Centros de Dados Case Study da Cisco TI Como a Cisco TI virtualizou os Servidores de Aplicações dos Centros de Dados A implementação de servidores virtualizados proporciona economias significativas de custos, diminui a

Leia mais

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

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

Leia mais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais Sistema Operacional Processo e Threads Introdução a Processos Todos os computadores modernos são capazes de fazer várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador pode

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

Aula 2 Modelos computacionais

Aula 2 Modelos computacionais Sistemas de Tempo-Real Aula 2 Modelos computacionais Modelos de tarefas com restrições temporais explícitas Controlo lógico e temporal (por eventos -ET e por tempo -TT) Adaptado dos slides desenvolvidos

Leia mais

Aplicação de Redes Neurais na Construção de Servidores Web Verdes

Aplicação de Redes Neurais na Construção de Servidores Web Verdes Aplicação de Redes Neurais na Construção de Servidores Web Verdes Leandro S. de Sousa 1, J.C.B. Leite 1, and J.C. Stacchini de Souza 2 {lsousa, julius, julio}@ic.uff.br 1 Instituto de Computação 2 Departamento

Leia mais

Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1

Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1 Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1 Aula 1 Ambiente de Data Center Os serviços de comunicação em banda larga estão mais

Leia mais

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa.

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa. CLUSTERS Pode-se pegar uma certa quantidade de servidores e juntá-los para formar um cluster. O serviço então é distribuído entre esses servidores como se eles fossem uma máquina só. Um cluster de servidores

Leia mais

Relatório de Pesquisa

Relatório de Pesquisa Relatório de Pesquisa A Vantagem da Virtualização de Mainframe: Como Economizar Milhões de Dólares Utilizando um IBM System z como um Servidor em Nuvem Linux Sumário Executivo Os executivos de TI (Tecnologia

Leia mais

Monitoramento de Rede de Nuvens Privadas

Monitoramento de Rede de Nuvens Privadas Monitoramento de Rede de Nuvens Privadas White Paper Autores: Dirk Paessler, CEO da Paessler AG Dorte Winkler, Redatora Técnica na Paessler AG Primeira Publicação: Maio de 2011 Edição: Fevereiro de 2013

Leia mais

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

Leia mais

A EMPRESA. A Future Technology é uma divisão da Do Carmo voltada para o mercado de soluções em tecnologia.

A EMPRESA. A Future Technology é uma divisão da Do Carmo voltada para o mercado de soluções em tecnologia. A EMPRESA A Future Technology é uma divisão da Do Carmo voltada para o mercado de soluções em tecnologia. A experiência da Future Technology nas diversas áreas de TI disponibiliza aos mercados público

Leia mais

2 Computação na Nuvem

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

Leia mais

Sistema IBM PureApplication

Sistema IBM PureApplication Sistema IBM PureApplication Sistema IBM PureApplication Sistemas de plataforma de aplicativos com conhecimento integrado 2 Sistema IBM PureApplication A TI está vindo para o centro estratégico dos negócios

Leia mais

Automatizando o Data Center

Automatizando o Data Center Este artigo examina uma arquitetura alternativa que suporte a automação do data center e o provisionamento dinâmico sem a virtualização do sistema operacional. por Lori MacVittie Gerente Técnico de Marketing,

Leia mais

Tipos de Sistemas Distribuídos (Cluster e Grid)

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

Leia mais

CPU Fundamentos de Arquitetura de Computadores. Prof. Pedro Neto

CPU Fundamentos de Arquitetura de Computadores. Prof. Pedro Neto Fundamentos de Arquitetura de Computadores Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 4. i. Introdução ii. O Trabalho de um Processador iii. Barramentos iv. Clock Interno e Externo v. Bits do Processador

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior

Arquitetura de Computadores. Professor: Vilson Heck Junior Arquitetura de Computadores Professor: Vilson Heck Junior Agenda Conceitos Estrutura Funcionamento Arquitetura Tipos Atividades Barramentos Conceitos Como já discutimos, os principais componentes de um

Leia mais

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla Unidade III FUNDAMENTOS DE SISTEMAS OPERACIONAIS Prof. Victor Halla Conteúdo Arquitetura de Processadores: Modo Operacional; Velocidade; Cache; Barramento; Etc. Virtualização: Maquinas virtuais; Gerenciamento

Leia mais

Os principais sistemas de automação de data centers DCIM: uma visão técnica e metodologias de escolha. Moacyr Franco Neto

Os principais sistemas de automação de data centers DCIM: uma visão técnica e metodologias de escolha. Moacyr Franco Neto Os principais sistemas de automação de data centers DCIM: uma visão técnica e metodologias de escolha Moacyr Franco Neto Agenda 1 Definição de DCIM. 2 Modelos de DCIM. 3 Benefícios e funcionalidades. 4-

Leia mais

PREGÃO PRESENCIAL Nº 005/2014-EMAP

PREGÃO PRESENCIAL Nº 005/2014-EMAP PREGÃO PRESENCIAL Nº 005/2014-EMAP O Pregoeiro da Empresa Maranhense de Administração Portuária - EMAP, designado pela Portaria nº 149/2013-PRE, de 29 de agosto de 2013, em razão de solicitação da empresa

Leia mais

CA Nimsoft Monitor para servidores

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

Leia mais

Sistemas de Tempo Real: Conceitos Básicos

Sistemas de Tempo Real: Conceitos Básicos Escola de Computação 2000 - IME-USP Sistemas de Tempo Real: Conceitos Básicos Jean-Marie Farines Joni da Silva Fraga Rômulo Silva de Oliveira LCMI - Laboratório de Controle e Microinformática DAS - Departamento

Leia mais

Estudo de Caso. O Fator Wow! : Um Exemplo Perfeito do Uso de Analítica de Negócios e Computação em Nuvem para Criar Valor de Negócios

Estudo de Caso. O Fator Wow! : Um Exemplo Perfeito do Uso de Analítica de Negócios e Computação em Nuvem para Criar Valor de Negócios Estudo de Caso O Fator Wow! : Um Exemplo Perfeito do Uso de Analítica de Negócios Introdução Este Estudo de Caso é sobre como uma corporação (IBM) encontrou uma maneira de extrair valor de negócios adicional

Leia mais

Monitoramento de Rede de Nuvens Privadas

Monitoramento de Rede de Nuvens Privadas Monitoramento de Rede de Nuvens Privadas White Paper Autores: Dirk Paessler, CEO da Paessler AG Gerald Schoch, Redator Técnico na Paessler AG Primeira Publicação: Maio de 2011 Edição: Fevereiro de 2015

Leia mais

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

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

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 7 Entrada/saída Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Problemas de entrada/saída Grande variedade

Leia mais

Eficiência Energética em data centers. Vitor Souza Villela

Eficiência Energética em data centers. Vitor Souza Villela Eficiência Energética em data centers Vitor Souza Villela Agenda Introdução Data center Métricas Tecnologias Aplicadas nos equipamentos em TI Aplicadas no ambiente físico de um data center Futuro dos data

Leia mais

Processadores clock, bits, memória cachê e múltiplos núcleos

Processadores clock, bits, memória cachê e múltiplos núcleos Processadores clock, bits, memória cachê e múltiplos núcleos Introdução Os processadores (ou CPUs, de Central Processing Unit) são chips responsáveis pela execução de cálculos, decisões lógicas e instruções

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

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

Leia mais

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

ATIVIDADES PRÁTICAS SUPERVISIONADAS

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

Leia mais

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de

Leia mais

Serviço HP StoreEasy 1000/3000 and X1000/3000 Network Storage Solution Installation and Startup

Serviço HP StoreEasy 1000/3000 and X1000/3000 Network Storage Solution Installation and Startup Serviço HP StoreEasy 1000/3000 and X1000/3000 Network Storage Solution Installation and Startup HP Technology Services O serviço HP StoreEasy 1000/3000 and X1000/3000 Network Storage Solution fornece a

Leia mais

Aula 5 Escalonamento usando prioridades fixas

Aula 5 Escalonamento usando prioridades fixas Sistemas de Tempo-Real Aula 5 Escalonamento usando prioridades fixas Escalonamento on-line com prioridades fixas O critério Rate-Monotonic limite de utilização de CPU Os critérios Deadline-Monotonic e

Leia mais

Novo conceito de Data Center: um dos maiores da Europa, um dos mais sustentáveis do Mundo

Novo conceito de Data Center: um dos maiores da Europa, um dos mais sustentáveis do Mundo : um dos maiores da Europa, um dos mais sustentáveis do Mundo This document is intellectual property of PT and its use or dissemination is forbidden without explicit written consent. Enquadramento da ação

Leia mais

Nível 3 Sistema Operacional

Nível 3 Sistema Operacional Nível 3 Sistema Operacional Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Tecnologia de Análise e Desenvolvimento de Sistemas Organização de Computadores Prof. André Luiz 1 Nível

Leia mais

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

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

Leia mais

Identificação rápida de gargalos Uma forma mais eficiente de realizar testes de carga. Um artigo técnico da Oracle Junho de 2009

Identificação rápida de gargalos Uma forma mais eficiente de realizar testes de carga. Um artigo técnico da Oracle Junho de 2009 Identificação rápida de gargalos Uma forma mais eficiente de realizar testes de carga Um artigo técnico da Oracle Junho de 2009 Identificação rápida de gargalos Uma forma mais eficiente de realizar testes

Leia mais

Sistemas Operacionais Introdução. Professora: Michelle Nery

Sistemas Operacionais Introdução. Professora: Michelle Nery Sistemas Operacionais Introdução Professora: Michelle Nery Área de Atuação do Sistema Operacional Composto de dois ou mais níveis: Tipo de Sistemas Operacionais Sistemas Operacionais Monotarefas Sistemas

Leia mais

Documento de Requisitos de Rede (DRP)

Documento de Requisitos de Rede (DRP) Documento de Requisitos de Rede (DRP) Versão 1.2 SysTrack - Grupo 1 1 Histórico de revisões do modelo Versão Data Autor Descrição 1.0 30/04/2011 João Ricardo Versão inicial 1.1 1/05/2011 André Ricardo

Leia mais

RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE

RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE TEMPORIZADORES SÃO ESSENCIAIS PARA MULTIPROGRAMAÇÃO; HÁ UM DRIVER PARA O TIMER; ALIMENTADO EM 110 OU 220 V, CAUSAVA UMA INTERRUPÇÃO A CADA CICLO DE VOLTAGEM, A UM FREQUÊNCIA DE

Leia mais

ARQUITETURA TRADICIONAL

ARQUITETURA TRADICIONAL INTRODUÇÃO Atualmente no universo corporativo, a necessidade constante de gestores de tomar decisões cruciais para os bons negócios das empresas, faz da informação seu bem mais precioso. Nos dias de hoje,

Leia mais

Refrigeração de data centers completos com sistemas por corredor

Refrigeração de data centers completos com sistemas por corredor Refrigeração de data centers completos com sistemas por corredor White Paper 139 Revisão 0 Por Jim VanGilder e Wendy Torell > Sumário Executivo A refrigeração em linha está surgindo como uma solução de

Leia mais

Monitoramento de data centers

Monitoramento de data centers Monitoramento de data centers Os data centers são hoje um ambiente complexo, com inúmeras variáveis para gerenciar. Os métodos usados pelas empresas são específicos e incapazes de fazer comparações adequadas

Leia mais

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

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

Leia mais

Economia de Energia em Clusters de Servidores Web Visando sua Aplicação em Larga Escala: Uma Arquitetura Hierárquica.

Economia de Energia em Clusters de Servidores Web Visando sua Aplicação em Larga Escala: Uma Arquitetura Hierárquica. Economia de Energia em Clusters de Servidores Web Visando sua Aplicação em Larga Escala: Uma Arquitetura Hierárquica. Leandro S. de Sousa 1 e Anna Dolejsi Santos 1 1 Instituto de Computação Universidade

Leia mais

TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação

TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação Disciplina A Disciplina B Código Disciplina C/H Curso Disciplina C/H Código Curso Ano do Currículo 66303 ESTRUTURA DE DADOS I 68/0 ENG. DE

Leia mais

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

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

Leia mais

GESTÃO DE SISTEMAS OPERACIONAIS II

GESTÃO DE SISTEMAS OPERACIONAIS II GESTÃO DE SISTEMAS OPERACIONAIS II Servidores Definição Servidores História Servidores Tipos Servidores Hardware Servidores Software Evolução do Windows Server Windows Server 2003 Introdução Windows Server

Leia mais

agility made possible

agility made possible case RESUMO DA SOLUÇÃO CA Migration for SAP Application on Vblock Platforms posso planejar a capacidade e o desempenho dos meus aplicativos SAP de forma eficaz nas Plataformas de Infraestrutura Vblock?

Leia mais

Características Básicas de Sistemas Distribuídos

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

Leia mais

Hardware. Objetivos da aula. Fornecer exemplos de processadores Intel. Esclarecer as diferenças e as tecnologias embutidas nos processadores Intel.

Hardware. Objetivos da aula. Fornecer exemplos de processadores Intel. Esclarecer as diferenças e as tecnologias embutidas nos processadores Intel. Hardware UCP Unidade Central de Processamento Características dos processadores Intel Disciplina: Organização e Arquitetura de Computadores Prof. Luiz Antonio do Nascimento Faculdade Nossa Cidade Objetivos

Leia mais

CAPÍTULO 7 O SERVIÇO DOS AGENTES

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

Leia mais

Muitas aplicações modernas podem ser modeladas como tarefas divisíveis.

Muitas aplicações modernas podem ser modeladas como tarefas divisíveis. 1 Introdução O grande aumento de performance das redes de computadores, combinado com a proliferação de computadores de baixo custo e alto desempenho, trouxe à tona ambientes de meta-computação, ou grids[15,

Leia mais

Gerenciamento e Interoperabilidade de Redes

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

Leia mais

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

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

Leia mais

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

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

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

Leia mais

Capítulo XIV Interface Homem Máquina (IHM) e sistemas supervisórios

Capítulo XIV Interface Homem Máquina (IHM) e sistemas supervisórios 30 Capítulo XIV Interface Homem Máquina (IHM) e sistemas supervisórios Equipe de engenharia da Schweitzer Engineering Laboratories (SEL) A principal ferramenta para a operação de uma subestação de energia

Leia mais

Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1

Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1 Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1 Aula 6 Projeto de Sistema Biométrico 1. Definição de Metas A primeira etapa no projeto

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores São dois ou mais computadores ligados entre si através de um meio.a ligação pode ser feita recorrendo a tecnologias com fios ou sem fios. Os computadores devem ter um qualquer dispositivo

Leia mais

Tipos de Computadores. Sediane Carmem Lunardi Hernandes

Tipos de Computadores. Sediane Carmem Lunardi Hernandes Tipos de Computadores Sediane Carmem Lunardi Hernandes 1 Introdução Objetivo Apresentar a Lei de Moore e mostrar os vários tipos de computadores 2 a) Lei de Moore Processadores (maioria) são um conjunto

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

Estratégias de Instalação de Servidores Blade em Data Centers

Estratégias de Instalação de Servidores Blade em Data Centers Estratégias de Instalação de Servidores Blade em Data Centers Por Neil Rasmussen Relatório interno N 125 Resumo Executivo Os servidores blade funcionam às densidades de potência mais altas que as capacidades

Leia mais

Os modelos convencionais para estimar a eficiência elétrica em data centers são

Os modelos convencionais para estimar a eficiência elétrica em data centers são Resumo executivo Os modelos convencionais para estimar a eficiência elétrica em data centers são bem imprecisos em instalações no mundo real. As estimativas de perdas elétricas são feitas normalmente somando

Leia mais

CPU - Significado CPU. Central Processing Unit. Unidade Central de Processamento

CPU - Significado CPU. Central Processing Unit. Unidade Central de Processamento CPU - Significado CPU Central Processing Unit Unidade Central de Processamento CPU - Função Na CPU são executadas as instruções Instrução: comando que define integralmente uma operação a ser executada

Leia mais

Aula 11 27/10/2008 Universidade do Contestado UnC/Mafra Sistemas de Informação Arquitetura de Computadores Prof. Carlos Guerber PROCESSADOR INTRODUÇÃO

Aula 11 27/10/2008 Universidade do Contestado UnC/Mafra Sistemas de Informação Arquitetura de Computadores Prof. Carlos Guerber PROCESSADOR INTRODUÇÃO Aula 11 27/10/2008 Universidade do Contestado UnC/Mafra Sistemas de Informação Arquitetura de Computadores Prof. Carlos Guerber PROCESSADOR INTRODUÇÃO O processador é um dos componentes que mais determina

Leia mais

PLANEJAMENTO - ESCOPO - TEMPO - CUSTO

PLANEJAMENTO - ESCOPO - TEMPO - CUSTO PLANEJAMENTO - ESCOPO - TEMPO - CUSTO PAULO SÉRGIO LORENA Julho/2011 1 Planejamento escopo, tempo e custo PROGRAMA DA DISCIPLINA Apresentação professor Programa da disciplina Avaliação Introdução Processos

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Prof. André Dutton EMENTA: Conceitos fundamentais e histórico da ciência da computação; Histórico dos computadores, evolução e tendências; Modalidades de computadores

Leia mais

REDES. A Evolução do Cabeamento

REDES. A Evolução do Cabeamento REDES A Evolução do Cabeamento Até o final dos anos 80, todos os sistemas de cabeamento serviam apenas a uma aplicação, isto é, eram sistemas dedicados. Estes sistemas eram sempre associados à um grande

Leia mais

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

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

Leia mais

ATIVIDADE 1. Definição de redes de computadores

ATIVIDADE 1. Definição de redes de computadores ATIVIDADE 1 Definição de redes de computadores As redes de computadores são criadas para permitir a troca de dados entre diversos dispositivos estações de trabalho, impressoras, redes externas etc. dentro

Leia mais

Foglight A solução ideal para o gerenciamento de aplicações e serviços SAP

Foglight A solução ideal para o gerenciamento de aplicações e serviços SAP Parceria: Foglight A solução ideal para o gerenciamento de aplicações e serviços SAP Uma nova visão no Gerenciamento da Aplicação INDICE 1. Parceria Union e Quest Software... 3 2. Foglight Gerenciando

Leia mais

DCIM. Data Center Infrastructure Management

DCIM. Data Center Infrastructure Management DCIM Data Center Infrastructure Management Catálogo 2015 Desde o início da década de 90, a SPECTO vem desenvolvendo e fornecendo Soluções Tecnológicas de Hardware, Software e Serviços que objetivam atender

Leia mais

Arcserve Backup: Como proteger ambientes NAS heterogêneos com NDMP

Arcserve Backup: Como proteger ambientes NAS heterogêneos com NDMP Arcserve Backup: Como proteger ambientes NAS heterogêneos com NDMP Phil Maynard UNIDADE DE SOLUÇÕES DE GERENCIAMENTO DE DADOS PARA O CLIENTE FEVEREIRO DE 2012 Introdução Em todos os lugares, o volume de

Leia mais

Variações dinâmicas do consumo de corrente em centros de dados e salas de servidores

Variações dinâmicas do consumo de corrente em centros de dados e salas de servidores Variações dinâmicas do consumo de corrente em centros de dados e salas de servidores Por Jim Spitaels Aplicação técnica nº 43 Revisão 2 Sumário executivo Os requisitos de alimentação dos centros de dados

Leia mais

7 Processamento Paralelo

7 Processamento Paralelo 7 Processamento Paralelo Yes, of course, who has time? Who has time? But then if we do not ever take time, how can we ever have time? (The Matrix) 7.1 Introdução Classificação de Sistemas Paralelos Diversas

Leia mais

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores Máquinas Virtuais e Emuladores Marcos Aurelio Pchek Laureano Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3 componentes: hardware sistema operacional aplicações Sistemas

Leia mais

Gestão de Armazenamento

Gestão de Armazenamento Gestão de Armazenamento 1. Introdução As organizações estão se deparando com o desafio de gerenciar com eficiência uma quantidade extraordinária de dados comerciais gerados por aplicativos e transações

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

EXECUTIVE. Virtualização eficiência sob medida

EXECUTIVE. Virtualização eficiência sob medida EXECUTIVE briefing guia executivo para decisões estratégicas Virtualização eficiência sob medida Alta capacidade de processamento em espaço reduzido a custos menores. O conceito reúne todas essas vantagens

Leia mais

Nobreak. 160 e 300 kva. senoidal on-line trifásico PERFIL PROTEÇÕES

Nobreak. 160 e 300 kva. senoidal on-line trifásico PERFIL PROTEÇÕES Nobreak senoidal on-line trifásico dupla convers o 60 a 300 kva 60 kva de 80 a 120 kva 160 e 300 kva PERFIL Os nobreaks on-line de dupla conversão da linha Gran Triphases foram desenvolvidos com o que

Leia mais