Computação em Cluster



Documentos relacionados
SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa

EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters

Profs. Deja e Andrei

Tipos de Sistemas Distribuídos (Cluster e Grid)

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Sistemas Operacionais

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

SISTEMAS DISTRIBUÍDOS

Sistemas Operacionais

Resumo. Introdução Cluster Cluster Beowulf Curiosidades Conclução

Unidade 13: Paralelismo:

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8


MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

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

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

Aula 26: Arquiteturas RISC vs. CISC

Instituto de Educação Tecnológica Pós-graduação Gestão em Tecnologia da Informação - Turma nº 25 08/04/2015. Computação em Nuvem

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Organização e Arquitetura de Computadores I. de Computadores

Prof. Esp. Lucas Cruz

1. CAPÍTULO COMPUTADORES

Imagem retirada de documentações de treinamentos oficiais INTEL

REDE DE COMPUTADORES

Computação em Nuvem. Alunos: Allan e Clayton

GESTÃO DE SISTEMAS OPERACIONAIS II

Núvem Pública, Privada ou Híbrida, qual adotar?

Comparação SDs X Scs

Sistemas Operacionais Introdução. Professora: Michelle Nery

Everson Scherrer Borges João Paulo de Brito Gonçalves

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

Admistração de Redes de Computadores (ARC)

O que é RAID? Tipos de RAID:

EVOLUÇÃO DOS SIST. DE COMPUTAÇÃO DÉC. DE 50 E 60

Soluções em. Cloud Computing. Midia Indoor. para

SISTEMAS DISTRIBUÍDOS

1.2 Tipos de Sistemas Operacionais

Supercomputadores dominavam o mercado

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Informática I. Aula 5. Aula 5-13/05/2006 1

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

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

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

O que é Grid Computing

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

A consolidação de servidores traz uma séria de vantagens, como por exemplo:

Universidade Federal de Goiás UFG Campus Catalão CAC Departamento de Engenharia de Produção. Sistemas ERP. PCP 3 - Professor Muris Lage Junior

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

A Evolução dos Clusters frente as demais arquiteturas de Alto Desempenho

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

Sistemas Distribuídos

Fundamentos de Sistemas Operacionais

Contil Informática. Curso Técnico em Informática Processadores Core

Proposta de Avaliação de Empresas para o uso do SAAS

Sistemas Distribuídos

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Prof. Ms. José Eduardo Santarem Segundo Demonstrar o impacto que o tema virtualização tem representado no mercado

AUTOMAÇÃO DE ESCRITÓRIOS ADE

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

Sistemas Operacionais

Serial Paralela USB FireWire(IEEE1394)

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

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

Sistemas Computacionais II Professor Frederico Sauer

Sistemas Operacionais

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

Técnicas de Manutenção de Computadores

GIS Cloud na Prática. Fabiano Cucolo 26/08/2015

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

3. Arquitetura Básica do Computador

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Arquitetura dos Sistemas de Informação Distribuídos

Prof. Samuel Henrique Bucke Brito

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

Tecnologia PCI express. Introdução. Tecnologia PCI Express

SIS17-Arquitetura de Computadores

Introdução ao Modelos de Duas Camadas Cliente Servidor

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

Organização de Computadores 1

Informática, Internet e Multimídia

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

PROCESSAMENTO DE DADOS 15/08

Armazenamento em nuvem é feito em serviços que poderão ser acessados de diferentes lugares, a qualquer momento e utilizando diferentes dispositivos,

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

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

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

4 Estrutura do Sistema Operacional Kernel

Multicomputadores. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação CECOMP

Fundamentos de Hardware

Fundamentos de Hardware

Relatório de Progresso

Sistemas de Informação I

Arquitetura de Von Neumann e os Computadores Modernos

Transcrição:

1 Computação em Cluster Andersown Becher Paes de Barros 1 1 Instituto Cuiabano de Educação Faculdades (ICE) Av. Europa, 63 78.065-130 Cuiabá MT Brasil {Andersown} andersown@gmail.com Abstract. This article is about the distributed computing, and has, as its main focus, the discussion of a very particular type of distributed systems, known as weaklybounded systems, as implemented by the use of clustering technics. We will discuss the main concepts, advantages, problems, use cases and trends for this specific thechnic. We will also try to make clear how the use of a cluster can bring real benefits for any organization, reutilizing their old hardware in the creation of a processing unit of great capacity and disponibility, at much lower costs than those of high capacity mainframes. Resumo. Este artigo trata sobre a computação distribuída, tendo, como foco, a discussão de um tipo específico de sistemas distribuídos, conhecido como sistemas fracamente acoplados, implementado através da técnica de clustering. Veremos, no decorrer deste documento, conceitos, vantagens, desvantagens, aplicações e tendências para essa técnica em específico. Buscaremos esclarecer como a implementação de um cluster pode ser benéfica a uma entidade através do reaproveitamento de hardware legado na implementação de uma unidade de processamento de alto desempenho e disponibilidade, com custos muito abaixo do que os de mainframes de alta capacidade.. 1-INTRODUÇÃO 1.1 Objetivos: Já é um fato indubitável que a Tecnologia da Informação (TI) tornou-se a grande revolução dos tempos atuais, e que sua evolução tem acontecido de maneira rápida e incrível. Entre as grandes evoluções que ocorrem no âmbito da TI, uma tecnologia específica está se destacando com muita evidência: a Computação Paralela ou Distribuída, como muitos autores preferem chamá-la. Buscaremos, neste artigo, dar uma visão macro do que é e como funciona a computação distribuída do tipo fracamente acoplada, utilizando as técnicas de clustering, bem como suas tendências e suas principais aplicações atualmente. 1.2 Contextualização Há muito tempo vem se enfrentado muitos problemas relacionados ao custo da aquisição de supercomputadores. Estes ainda continuam com o preço muito elevado,

2 apesar da evolução tecnológica. Os computadores pessoais, por outro lado, vêm-se barateando a cada lançamento de novas tecnologias, tornando cada vez mais viável a criação de sistemas paralelos através da criação de sistemas distribuídos fracamente acoplados (definidos como sistemas distribuídos onde os processadores não compartilham os mesmos barramentos ) através da criação de clusters [Tanembaum 2006]. A tecnologia de clustering surgiu há pouco tempo como uma resposta ao aumento súbito da necessidade de poder computacional em áreas como: ciências, engenharia, astronomia, medicina e outras, onde a realização de testes, experiências e estudos muitas vezes requerem poder de processamento muito além do que poderia ser obtido com um único equipamento, uma vez que, apesar do aumento das velocidades de processamento dos computadores atuais, os mesmos ainda são, individualmente, insuficientes para os anseios dessas áreas. 1.3 Histórico Os Sistemas Paralelos são temas relativamente atuais vem sendo usados inicialmente por grandes empresas do setor de Tecnologia. Iniciou-se com a IBM na década de 60, interligando grandes mainframes. O objetivo era obter uma solução comercialmente viável de paralelismo. No entanto, havia um sistema que fazia a distribuição das tarefas nos mainframes interligados: o HASP (Houston Automated Spooling Program) que em seguida teve como o seu sucessor JES (Job Entry System). Apesar de essa tecnologia ter sido implantada há décadas, até hoje a IBM a utiliza, só que agora com PSS (Parallel Sysplex System). Esse sistema consiste em manter os velhos mainframes úteis, proporcionando melhor desempenho e redução de custo, já que irão ficar em funcionamento por muito mais tempo [Tanembaum 2006]. Em 1980, três tendências se convergiram: microcomputadores de alta performance, redes de alta velocidade, e ferramentas padronizadas para computação distribuída de alto desempenho. Essas convergências foram fundamentais para o aprofundamento nas técnicas de sistemas paralelos. Já que, sempre houve a necessidade de alto poder de processamento, seja para aplicações científicas ou para outras aplicações que exijam tal poder de processamento. A implementação de tais aplicações, só era possível com a aquisição dos supercomputadores. Estes ainda continuam com preços elevados. Com a tecnologia de cluster obtém-se alto poder de processamento com baixo custo [Tanembaum 2006]. No final de 1993, dois cientistas da NASA - Donald Becker e Thomas Sterling - começaram a planejar um sistema de processamento distribuído com computadores Intel Desktop. Seu objetivo era fazer com que esses computadores conectados em rede se assemelhassem ao processamento de um supercomputador. E que teriam um menor custo. No início de 1994, já trabalhando no CESDIS Center of Excellence in Space Data and Information Sciences, Centro de Excelência em Dados Espaciais e Ciência da Informação-, criaram o projeto Beowulf. Com 16 computadores Intel 486 DX4 conectados em uma rede Ethernet com sistema operacional Linux fizeram esse primeiro

3 cluster chegar a um desempenho de 60 Mflops. A partir daí o projeto Beowulf tornou-se de grandes interesses pelos meios acadêmicos, pela NASA entre outros [Tanembaum 2006]. Figura 1. Cluster da NASA Fonte: NASA 2 Conceitos 2.1 - Desenvolvimento A Computação Paralela ou simplesmente Paralelismo, em uma definição bastante genérica, é: o uso de várias unidades de processamento para executar uma tarefa de forma mais rápida. Isto pode ser simplesmente explicado em uma comparação com as linhas de montagem de carros, onde cada funcionário executa uma tarefa diferente, em simultâneo, todas com o objetivo de se obter o produto final desejado [Tanembaum 2007]. Indo um pouco mais a fundo na temática da computação paralela chegar-se-á num tópico mais específico: Computação em Cluster, que pode ser considerando como uma subcategoria do Paralelismo (fracamente acoplado) e é onde residirá o foco desse artigo. A Computação em Cluster é basicamente uma situação onde mais de um computador está conectado por uma placa de rede trabalhando de forma similar a um MPPs - Massively Parallel Processors, mas utilizando recursos de baixo custo [Tanembaum 2007].

4 A principal vantagem desta técnica reside na possibilidade de reutilização de equipamentos legados de baixa capacidade de processamento computacional para implementação de pequenos supercomputadores a fim de obter um aumento considerável da capacidade computacional com custo relativamente baixo. Outros problemas, como a situação do "lixo tecnológico", também pode ser beneficiada pela criação de clusters, uma vez que serão menos computadores nos lixões. A idéia de reutilizar computadores implica em vários fatores positivos como o anteriormente citado e também toca em um assunto muito discutido atualmente que é a inclusão digital. A cada dia novos computadores são lançados no mercado, devido ao rápido avanço tecnológico e evolução de aplicações de software que exigem cada dia mais capacidade dos computadores. Não só os cientistas precisam de computadores mais velozes, mas também várias empresas que trabalham com processamento crítico e necessitam de tais capacidades dos hardwares. Seguindo essa lógica, dificilmente um computador irá atender a todas as necessidades de processamento, uma vez que, mesmo que as velocidades de relógios (clocks) continuem a subir, elas não podem aumentar indefinidamente seu ciclo, devido ao efeito joule (transformação de energia elétrica em energia térmica) que resultará em problemas como: travamento, diminuição do desempenho, aumento no custo, etc. Para poder aumentar o poder de processamento, uma saída é a utilização de computadores paralelos ou um aglomerado de computadores. Ou seja, multiprocessadores e multicomputadores. A principal diferença entre eles está na presença ou ausência de memória compartilhada, o que interfere no modo como são projetados, construídos e programados além de interferir diretamente nos seus preços. Para qualquer sistema de computação paralelo deve existir um meio de comunicação entre eles para trocar informações. Um multiprocessador compartilha uma memória comum entre todas as CPUs, podendo assim compartilhar um único espaço de endereço virtual mapeado na memória. Os processos são lidos e escritos respectivamente pela instrução LOAD e STORE. Esse modelo de comunicação foi bem aceito pelos programadores, além deles serem aplicados em diversos problemas. Todas as CPU vêem a mesma imagem e utilizam um único sistema operacional. Em conseqüência, há somente um mapa de página e uma tabela de processos. Esse sistema de uma única imagem que distingue um multiprocessador de um multicomputador, no qual cada computador tem sua própria cópia do sistema operacional [Tanembaum 2007]. Quando todos processadores tem acesso igualitário nos módulos de memória e a todos os dispositivos de entrada e saída operado pelo sistema operacional temos um sistema denominado SMP (Symmetric MultiProcessor Multiprocessador Simétrico). Nos multicomputadores cada CPU tem sua própria memória privada, a qual pode acessá-la apenas através das instruções LOAD e STORE. Cada computador têm um único espaço de endereço físico para cada CPU. Para que haja comunicação entre os demais CPUs, é utilizada uma rede de interconexão. A ausência de memória compartilhada em hardware em um multicomputador traz sérias implicações para a estrutura do software. Não tem como ter um único espaço de endereço virtual para que

5 todos os processos possam ser lidos e escritos apenas executando instruções LOAD e STORE [Tanembaum 2007]. A comunicação entre processos em um multicomputador costuma usar primitivas de software tais como send e receive. Este tipo de comunicação deixa essa estrutura bem mais complicada. Uma vez que, subdividir os dados corretamente e posicioná-los em localizações ótimas é fundamental em um multicomputador, diferente do multiprocessador. Conclui-se, então, que programar um multicomputador é muito mais difícil do que programar um multiprocessador. Porém, há suas vantagens em construir um multicomputador: é mais fácil de construir, o custo é bem menor, pode aumentar o poder de processamento adicionando outros computadores. Desvantagens em construir um multiprocessador são: mais difícil de construir, em compensação, mais fácil de programar. Com as vantagens e desvantagens desses sistemas gerou-se um esforço em construir sistemas híbridos, os quais são fáceis de construir e relativamente fáceis de programar. As pesquisas em computação paralela se convergiram entre as duas arquiteturas, combinando as forças de cada uma. Um dos grandes problemas é como adicionar novas CPU mantendo o sistema escalável. Uma solução é usar hardware de multicomputadores fazendo com que o sistema operacional simule memória compartilhada obtendo assim um único espaço de endereço virtual de compartilhamento entre as páginas em todo o sistema, o que é conhecido com DSM (Distributed Shared Memory Memória Compartilhada Distribuída). O sistema operacional apenas atende as falhas [Tanembaum 2007]. Outra forma de supercomputador é a computação em cluster, que pode conter milhares de computadores conectados. Pode ser fortemente acoplado quando duas ou mais CPU estão perto uma da outra, tem alta largura de banda, ou pode ser fracamente acoplada quando as CPU ficam distantes entre si, tem baixa largura de banda. A troca de mensagens desse supercomputador se dá através da interconexão de redes de alta velocidade. Os tipos de computadores utilizados podem ser homogêneo ou heterogêneo. Eles não precisam ter periféricos como: monitores, mouse, teclados, logo, o custo de um cluster se torna bastante viável. 3 Aplicações 3.1 Exemplos O Cluster pode ser aplicado em diversas tarefas que exijam alto poder de processamento tais como: 1- Servidores WEB; 2- Engenharia Genética; 3- Cálculos Científicos; 4- Banco de Dados; 5- Processamento de imagens;

6 6- Distribuição de Cargas, etc. A título de exemplo, podemos apresentar várias empresas (em especial, as que trabalham com tecnologias web) que se valem do poder computacional de clusters para garantir a agilidade e a disponibilidade de seus serviços, entre elas: Google, Yahoo, LocaWeb, KingHost entre outros. Figura 2. Primeiro Cluster do Google Fonte: Google Essas áreas requerem um grande poder de processamento devido às realizações de testes, experiências e estudos mais aprofundados. Essas necessidades tornaram o cluster mais difundido devido à facilidade de implantação, ao baixo custo e ao alto poder de processamento que se pode chegar. Para que o Cluster atenda as mais diversas áreas foi necessário classificar os tipos de Clusters, cada qual com uma finalidade específica.

7 3.2 - Tipos de Cluster 3.2.1 - Cluster para Alta Disponibilidade - High Availability: Tem a finalidade de aumentar a disponibilidade dos serviços que estão sendo executados em conjunto. Está relacionado ao conceito de redundância, ou seja, a mesma tarefa sendo executada por outros computadores [Pitanga 2003]. Exemplo: Utilização de dois computadores como servidores de páginas de Internet, onde um fica ligado normalmente e o outro fica em alerta, se acaso o que está em funcionamento falhar, o que está em alerta assume imediatamente a função. Isso manterá a página no ar sem que haja interrupções 3.2.2 - Cluster para Balanceamento de Carga - Load Balancing: Utilizado para controlar a distribuição de carga entre os demais computadores, mantendo-as equilibradas. Precisa de um monitoramento constante na sua comunicação para que em caso de falha não haja uma interrupção dos serviços disponibilizados pelo cluster [Pitanga 2003]. Exemplo: Servidores de páginas de Internet. Se houver 1000 visitas por minuto, estas serão divididas pela quantidade de computadores. Portanto, no caso de dez computadores cada um terá que lidar com 100 visitas por minuto. 3.2.3 - Cluster para Alta Performance de Computação - High Performance Computing: Utilizados para melhorar o desempenho das tarefas computacionais. Fraciona-se o processamento total entre os computadores buscando-se um melhor desempenho [Pitanga 2003]. Exemplo: Para cálculos científicos voltados a previsões meteorológicas e financeiras. Se forem utilizados 100 computadores o tempo será de 100 vezes mais rápido do que se tivesse sido feito em um único computador. 4 Conclusão A temática Paralelismo, estudada nesse artigo é de grande complexidade, apesar de ser considerado um assunto recente na TI. A proposta apresentada consiste em mostrar de maneira bem clara e objetiva que é possível pensar em grandes projetos de Supercomputadores, utilizando recursos que atualmente estão ganhando os lixos nos grandes centros econômicos do país, isto é, pode-se elaborar um supercomputador sem gastar tanto, como se gastaria na aquisição de um novo de fábrica. É também uma tentativa desse artigo trazer a tecnologia de Paralelismo e Computação em Cluster para uma realidade mais próxima e compreensível de pessoas com pouco conhecimento sobre esse assunto. O objetivo do artigo foi propor uma alternativa menos onerosa de se projetar supercomputadores baseados em cluster; é uma solução muito pesquisada tanto no meio

8 científico como por pessoas com conhecimentos menores e ao mesmo tempo é uma solução tecnológica utilizada por empresas como Google, IBM, SUN Microsystems e outras. Esse assunto ganha mais relevância quando discutido juntamente com a Computação em Nuvem, tecnologia que pretende fornecer armazenamento de arquivos em servidores espalhados por todo mundo, e é óbvio que tais estruturas serão baseadas nos conceitos de Computação Paralela. Foi citado um pouco do histórico e das características dos principais componentes que circundam essa tecnologia, como os tipos de cluster seus conceitos e aplicações, a fim de fornecer mais detalhes técnicos para melhor compreensão do assunto. 4.1 Principais Pontos Podemos apontar, como principais pontos positivos na implementação de um cluster por uma determinada entidade: Redução de custos com aquisição de computadores de alta capacidade; Aumento da produtividade (realizar mais tarefas em menos tempo); Prevenção de perda ou inutilização de equipamentos legados; Aumento da disponibilidade de serviços (com técnicas de failover automático); Diminuição de lixo tecnológico; 4.2 Tendências Embora os clusters, atualmente, já sejam bastante conhecidos e utilizados, a maior parte de suas aplicações são em empresas que lidam com buscas na web ou com análises que envolvam muitos cálculos simultâneos (normalmente, pesquisas científicas), não sendo, portanto, muito comuns no ambiente corporativo de empresas de médio e grande porte que não sejam voltadas à TI, que ainda preferem investir seus recursos na compra de equipamentos de grande porte de qualidade reconhecida, de marcas como Dell, HP, IBM entre outras. Porém, com o advento da virtualização, é provável que esse panorama, aos poucos, comece a mudar, uma vez que o cluster se torna extensível, não sendo mais necessário um cluster para cada serviço. Um único cluster pode, dessa forma, hospedar vários (ou até mesmo todos) serviços necessários à entidade, em ambientes operacionais diferentes, porém com todos eles se valendo do aumento de processamento e disponibilidade da tecnologia. Um outro fator positivo para o aumento na utilização dos clusters é o custo para a empresas, uma vez que os equipamentos voltados à computação pessoal estão cada dia mais baratos, enquanto que os voltados à computação corporate mantém os seus preços, o que pode servir para fomentar a compra de vários equipamentos mais baratos

9 ao invés de investir pesado em um único equipamento que, muitas vezes, será subutilizado. Por outro lado, a computação distribuída ainda é vista com certo receio por muitos profissionais de TI, por não conhecerem os seus benefícios, ou ainda, por não possuir embasamento teórico necessário para perceber suas vantagens. Um outro ponto negativo é o trabalho inicial para se montar um ambiente de clustering para uma determinada entidade. É muito mais simples para o profissional encomendar um servidor de grande porte de boa marca, com todas as redundâncias possíveis, e deixá-lo funcionando do que lidar com vários equipamentos ao mesmo tempo, realizando todos os ajustes finos necessários para atender da melhor maneira possível à necessidade do cliente, uma vez que a segunda alternativa, além de tempo, demanda um conhecimento teórico maior. Portanto, embora a tecnologia de clustering seja bastante benéfica em vários pontos para praticamente qualquer corporação, o seu crescimento tende a ser lento, seja pela credibilidade que algumas marcas de equipamentos conseguiram (com justiça) obter junto aos seus clientes com relação aos seus equipamentos de grande porte, seja pela falta de conhecimento e/ou tempo da equipe de TI da entidade para propor (ou montar) um cluster ou ainda, pela falta de informação da entidade como um todo sobre esta tecnologia. Referências Badue, C.S. and Baeza-Yates, R. and Ribeiro-Neto, B.and Ziviani, A. and Ziviani, N. (2006). Web Modeling Performance-Driven Workload Characterization of Web Search Systems. In 15th ACM Conference on Information and Knowledge Management (CIKM06), Arlington, US, November 2006. Barros, L. A. (2005). The Price of Performance: An Economic Case for Chip Multiprocessing. In ACM Queue. Dowd, Severance, (1998) High Performance Computing, 2 nd Ed, O Reilly. Pitanga, Marcos (2003) Computação em Cluster. Marco, 2003. Disponível em: http://www.clubedohardware.com.br/artigos/153. (acesso em dezembro 2008). Tanembaum, Andrew S. (2007) Organização Estrututarada de Computadores 5ª Edição. Tanembaum, Andrew S. (2003) Redes de Computadores 4ª Edição. Tanembaum, Andrew S. and Steen, Maarten, (2006) Distributed Systems: principies and paradigms. 2ª Edição. U. Hoelzle, J. Dean, and L. Barroso. (2003) Web Search for A Planet: The Architecture of the Google Cluster. In IEEE Micro Magazine, April 2003. Lacerda, Anísio M. e Quintão, Frederico P.e Sabino, Vanessa C., Arquitetura do Google Cluster, UFMG. Sites consultados em dezembro de 2008

10 http://www.ieeetfcc.org http://www.technetbrasil.com.br/artigos/windows2003/confclus/ http://pt.wikipedia.org/wiki/cluster http://www.revista.grupointegrado.br/campodigital/include/getdoc.php?id=71&a rticle=28&mode=pdf http://www.clubedohardware.com.br/artigos/153 http://www.osc.edu/press/releases/2008/images/ibm_space02.jpg http://www.clubedohardware.com.br/artigos/153/3 http://www.infowester.com/cluster.php http://www.guiadohardware.net/imagens/img-1f9af2ed.jpg http://vztech.com.br/web-pt/clusters.php www.nasa.gov http://images.google.com.br/imgres?imgurl=http://farm4.static.flickr.com/3264/ 2611637092_a6d23fe6a5.jpg%3Fv%3D0&imgrefurl=http://flickr.com/photos/b vankampen/2611637092/&usg= RFT8kh7bibTUah4R0Hzb79yqqJo=&h=500 &w=375&sz=179&hl=pt- BR&start=25&tbnid=OYk_f9WIGMzKoM:&tbnh=130&tbnw=98&prev=/imag es%3fq%3dgoogle%2bcluster%26start%3d20%26gbv%3d2%26ndsp%3d20 %26hl%3Dpt-BR%26sa%3DN