Computação em cluster
Computação em cluster é um sistema que compreende dois ou mais computadores, no qual trabalha-se em conjunto para executar aplicações ou realizar tarefas, ou seja, um servidor de cluster é composto por máquinas independentes que trabalham como se fossem apenas uma. Esta característica torna o poder de processamento do sistema bastante significativo.Os clusters são utilizados quando os conteúdos são críticos, quando os serviços têm que estar disponíveis ou o processamento exigir maior velocidade.
Um cluster pode ser construído a partir de diversos tipos de máquinas. Podem ser classificados como CCS e NoW:
• CCS – Cluster of Connected Servers (homogêneo): Todas as máquinas possuem a mesma configuração de hardware, logo, todas as máquinas terão um poder de processamento igual.
Para ser dividido o processo entre as máquinas que estão no cluster, basta dividir o processo pelo número de máquina existente no cluster.
• NoW – Network of Workstations (heterogêneos): Todas as máquinas tem a configuração de hardware diferentes entre si. Sendo assim, cada máquina terá um poder de processamento diferente.
No cluster heterogêneo, a divisão das atividades entre as máquinas deve ser feita com o auxílio do balanceamento de carga.
TIPOS DE CLUSTERS
Alta Disponibilidade (High Availability (HA) and Failover)
Estes modelos de clusters são construídos para prover uma disponibilidade de serviços e recursos de forma ininterruptas através do uso da redundância implícita ao sistema. A idéia geral é que se um nó do cluster falhar (failover), aplicações ou serviços possam estar disponíveis em outro nó. Estes tipos de cluster são utilizados para base de dados de missões críticas: correio, servidores de arquivos e aplicações.
Balanceamento de carga (Load Balancing)
Este modelo distribui o tráfego entrante ou requisições de recursos provenientes dos nodos que executam os mesmos programas entre as máquinas que compõem o cluster. Todos os nodos estão responsáveis em controlar os pedidos. Se um nó falhar, as requisições são redistribuídas entre os nós disponíveis no momento. Este tipo de solução é normalmente utilizado em fazendas de servidores de web (web farms).
Combinação HA & Load Balancing
Como o próprio nome diz combina as características dos dois tipos de cluster, aumentando assim a disponibilidade e escalabilidade de serviços e recursos. Este tipo de configuração de cluster é bastante utilizado em servidores de web, mail, news ou FTP.
Processamento Distribuído ou Processamento Paralelo
Este modelo de cluster aumenta a disponibilidade e performance para as aplicações, particularmente as grandes tarefas computacionais. Uma grande tarefa computacional pode ser dividida em pequenas tarefas que são distribuídas ao redor das estações (nodos), como se fosse um supercomputador massivamente paralelo. É comum associar este tipo de cluster ao projeto Beowulf da NASA. Estes clusters são usados para computação cientifica ou análises financeiras, tarefas típicas para exigência de alto poder de processamento.
BEOWULF CLUSTER
Beowulf é o nome de um projeto para aglomerados de computadores (ou Clusters) para computação paralela, usando computadores pessoais, não especializados e portanto mais baratos. O projeto foi criado por Donald Becker da NASA, e hoje são usados em todo mundo, principalmente para processamento de dados com finalidade científica.
EXEMPLOS DE CLUSTER
INPE
O novo cluster adquirido pelo Instituto Nacional de Pesquisas Espaciais (INPE) no final de 2007, com 1,1 mil processadores, começou a funcionar em agosto de 2008 no Centro de Previsão de Tempo e Estudos Climáticos (CPTEC), em Cachoeira Paulista. O equipamento, da SUN Microsystems, adquirido através da NEC Corporation, por US$ 2,4 milhões, está na lista dos 500 mais rápidos do mundo, de acordo com o último ranking do site TOP500 da Supercomputação.
Figura 1 – Novo cluster do INPE - http://www.cptec.inpe.br/cgi-bin/webpub/noticia.cgi?7023
Características:
• 1,1 mil processadores: 275 nós com 2 processadores duais AMD Opteron 64-bits nativos
• Velocidade de pico de 5,7 Teraflops
• 62 Terabytes de disco formatado
• Conexão entre nós com rede rápida InfiniBand Voltaire
Aplicação:
• Pesquisa na área de previsão de tempo e clima
IBM ROADRUNNER
Roadrunner é o nome do supercomputador de nova geração desenvolvido no Laboratório Nacional de Los Alamos, localizado no Novo México (Estados Unidos). Atualmente o supercomputador mais rápido do mundo, o Roadrunner foi desenhado para alcançar um nível de performance de processamento de 1,7 petaflops, tendo já alcançado 1,026 petaflops em junho de 2008, e para ser o primeiro sistema Linpack do mundo TOP500 a 1,0 petaflops. A IBM construiu este computador para o Departamento de Energia dos Estados Unidos da América. O Roadrunner tem um design híbrido constituído por 6,480 processadores dual core AMD Opteron e 12,960 IBM PowerXCell 8i CPUs em TriBlades especialmente desenhadas, TriBlades, interligadas por Infiniband.

Figura 2 – IBM ROADRUNNER - http://www.top500.org/system/9485
O DOE planeja usar o computador para simular como os materiais nucleares envelhecem e se o envelhecimento do arsenal nuclear dos Estados Unidos é seguro e confiável. Este será utilizado em outros projetos e experiências de análises científicas, financeiras, aeroespaciais e na indústria do automóvel.
O cluster final é constituído por 18 unidades interligadas, estando cada uma interligada através de oito adicionais switches ISR2012 (segundo-nível). Cada Cluster é interligada através de doze uplinks por cada switch de segundo-nível, o que faz um total de 96 ligações uplink.
CLUSTER DE PLAYSTATION 3
A universidade Unicamp (Universidade Estadual de Campinas), interior de São Paulo, usa 12 PlayStation 3 que rodam o sistema operacional Linux, formando um cluster de processamento e ajudando a pesquisadora argentina Mônica Pickholz nos cálculos de bioinformática desde junho de 2007. A professora Mônica, doutora em Física diz que o console da Sony tem melhor custo/benefício que servidores comuns. O projeto visa realizar pesquisas científicas em projeto de biologia, o objetivo do projeto é fazer estudos para entender melhor a “interação de anestésicos locais com membranas biológicas”.
A professora diz que os consoles são muito mais estáveis que qualquer cluster (de computadores) que ela já trabalhou. Os videogames funcionam 24 horas por dia, sete dias por semana. Durante todo tempo eles fazem cálculos para simular dinâmicas de comportamento entre átomos.
Criado em parceria da Sony com a IBM e a Toshiba, o chip Cell tem um núcleo e oito processadores. Essa arquitetura permite que cálculos sejam distribuídos, agilizando as tarefas sem sobrecarregar o sistema.
A capacidade de cálculos é inimaginavelmente grande. Considerando o que se gasta para produzir um PS3, é uma imbatível relação custo/benefício no mercado computacional.

Figura 5: Cluster da Unicamp com 12 PlayStation 3
As tecnologias de Clustering possibilitam a solução de diversos problemas que envolvem grande volume de processamento. As aplicações que um cluster pode ter são diversas, indo desde a simples melhora no desempenho de um determinado sistema ou a hospedagem de um site como o InfoWester, até o processo de pesquisas científicas complexas. O que realmente chama a atenção, é que todo o processamento pode ser feito de maneira que pareça ser um único computador dotado de alta capacidade. Assim, é possível que determinadas aplicações sejam implementadas em custer, mas sem interferir no funcionamento de outras aplicações que estejam relacionadas.
Empresas especializadas, centros de pesquisas e universidades costumam estudar este assunto a fundo. Como conseqüência existem clusters com até milhares de nós.
O cluster da Universidade Positivo ainda é pequeno comparado a de outras Universidades, podemos citar o exemplo de cluster que foi desenvolvido em 2003 por um aluno da Universidade Estadual Paulista (Unesp), de São Paulo. Baseado no tipo Beowulf, este cluster ficou bastante conhecido, por ajudar na pesquisa de medicamentos para o tratamento da tuberculose.
É possível ver os vários benefícios do Clustering, processamento eficiente, custo baixo, ampla gama de aplicações, enfim. Quem se sujeita a estudar estes conceitos poderá não só ter sucesso profissional, mas ter um conhecimento grande sobre vários conceitos da computação em si.
Figura 1 – Novo cluster do INPE - http://www.cptec.inpe.br/cgi-bin/webpub/noticia.cgi?7023
