Olá Senhores!! Retornando da tão esperada férias, relaxado e  pronto para encarar os novos desafios. Aqui estou eu.

Isso mesmo o blog ficou parado por alguns dias, quase um mês (rsrsrs) por um ótimo motivo. Férias quem não precisa né?  Ninguém é de ferro!!!!! Passamos 1 ano esperando esse mês chegar.

Voltando com um animo renovado, decidi postar sobre um assunto que para muitos pode ser novidade, “Cluster de computadores”.

Nos dias de hoje a computação paralela e os sistemas distribuídos tem se tornado um fator indispensável na área da computação. Na década passada isso era de pequena relevância para simples programadores. Mais ao longo dessa década as arquiteturas de computadores tem se tornado cadê vez mais sustentável, devido à freqüente utilização da programação paralela e a utilização de sistemas distribuídos em grandes aplicações, que exija uma grande capacidade de poder computacional ou um simples supercomputador.

Adquirir um simples supercomputador não é tão barato como parece, alem disso na maioria das vezes eles possuem uma arquitetura fechada. Desta forma só os fabricantes podem dar manutenção ou possuem um determinado Hardware para o supercomputador.

Ai surgi o Cluster de computadores. Podendo ser montado com maquinas simples (obsoletas), isso mesmo aquele Pentium 100 parado na sua casa, se aglomerado com  2 ou mais Pentium 100 pode se transformar em um belíssimo cluster de computadores. Claro que configurado com LINUX!

HAA!! Já ia me esquecendo. Pra quem não sabe  cluster de computadores nada mais é que 2 ou mais computadores interligados entre si através de um rede, trabalhando em conjunto.

De acordo com Marcos Pitanga.Quando se utilizam dois ou mais computadores em conjunto para resolver um problema, você tem um cluster, que do inglês significa agrupamento.”

Bem vamos ao Post que tem como foco os 3 modelos de cluster mais utilizados (na minha opinião).

Let’s go!!!

Modelos de Cluster

Cluster de Alta Disponibilidade

Nos dias atuais onde o mercado é muito disputado ter um sistema sempre disponível é um fator determinante para o sucesso de uma empresa. A procura por alta disponibilidade vem progredindo continuadamente entre estabelecimentos empresariais de diversas áreas.

Computadores tendem a parar quando você mais precisa deles. Difícil encontrar um administrador que nunca teve que ficar horas e horas disponíveis no seu local de trabalho devido a uma falha no sistema.

Valendo-se de várias hipóteses, Pitanga (2003, p.1) constata que:

A alta Disponibilidade está ligada diretamente a nossa crescente dependência aos computadores, pois agora eles possuem um papel crítico principalmente em empresas cuja maior funcionalidade é exatamente a oferta de algum serviço computacional, como e-business, notícias, sites web, banco de dados, dentre outros.

Normalmente esse modelo de cluster é usado com o propósito de fornecer um ambiente seguro contra falhas utilizando-se redundância de componentes.

A alta disponibilidade não suporta interrupções não planejadas em seu ambiente computacional. São usados equipamentos em conjunto para sustentar esse serviço sempre ativo. Caso ocorra uma falha em um nó do cluster de alta disponibilidade, aplicações e serviços têm que estar disponíveis em outros nós do Cluster.

“A tolerância a falhas é conseguida através de hardware, como sistemas RAID, fontes e placas redundantes, sistemas rede totalmente ligados para prover caminhos alternativos na quebra de um link”. (Marcos Pitanga, 2003, p.1).

Por esses motivos o cluster de alta disponibilidade se torna absolutamente preciso em empresas que exija uma alta disponibilidade de suas aplicações.

Geralmente esse modelo de cluster é utilizado em sistemas de missão crítica onde não há justificativa para uma falha.

Cluster de Alto Desempenho de Computação

O alto desempenho tem se tornado um fator indispensável em alguns setores de TI de algumas corporações, que visa o desenvolvimento de novas pesquisas cientificas.

De acordo com Marcos Pitanga (2008, p.28). “A necessidade crescente de poder de processamento por partes das aplicações e o elevado custo das arquiteturas paralelas dedicadas, que as tornavam inacessíveis para uma grande maioria das empresas e usuários.”

Um cluster de Alto desempenho foi desenhado para ser utilizado em computação paralela. Esse modelo utiliza um poderoso poder de processamento para alcançar uma resposta de um definido problema.

“Clusters de alto desempenho são construídos com o objetivo de melhorar o desempenho da aplicação pelo aumento de poder do processamento e dividir as tarefas em segmentos pequenos entre os nós do cluster” (FERREIRA, 2001 apud ALESSANDRE, 2007, p. 52).

Cluster de alto desempenho esta em constante desenvolvimento, devido o seu uso estar sempre relacionado a supercomputadores e a construção de aplicações paralelas.

Esse modelo de cluster mantém a disponibilidade dos serviços prestados por um sistema computacional replicando serviços e servidores, através da redundância de hardware e reconfiguração de software. Vários computadores juntos agindo como um só, cada um monitorando os outros e assumindo seus serviços caso algum deles venham a falhar. (Marcos Pitanga, 2003, p.1).

Uma grande tarefa computacional pode ser separada em pequenas tarefas que são distribuídas aos nós, como se fosse um supercomputador massivamente paralelo.

O cluster de alto desempenho é utilizado em laboratórios científicos como mapeamento do genoma e estudo de nano materiais.

Cluster de Balanceamento de Carga

Outro modelo de cluster muito utilizado por empresas e muito conhecido é o cluster de balanceamento de carga.

Esse 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)[1].

Cluster de balanceamento de carga utiliza varias máquinas para atender as requisições de um indispensável serviço, dando uma sensação de um grande computador com capacidade para muitas requisições paralelas.

A grande quantidade de processamento é compartilhada entre os computadores que forma um cluster, porem a quantidade de carga que cada servidor vai receber esta sujeita aos recursos disponíveis. Neste modelo os nodos não precisam possuir as mesmas configurações. Isso faz do cluster de balanceamento de carga um modelo de baixo custo. Comparando aos outros modelos de cluster.

Por essas características, as tarefas distribuídas aos nodos podem ser de diferentes tipos. Enquanto isso outros nós podem ser configurados para receber outros tipos de serviços.

Um cluster de balanceamento de carga possui uma alta escalabilidade e pode ser facilmente expandido com a inclusão de novos nodos.

O cluster de balanceamento de carga é muito usado em aplicações de internet, como email. O Linux Virtual Server [2] é um tipo de cluster de balanceamento de carga.


[1] Web farms é um grupo de dois ou mais servidores usado para hospedar o mesmo site. Web farms aumentar a capacidade de uma web site, e melhorar a disponibilidade de fornecimento de fail-over. Web farms é universalmente utilizado para a alta de tráfego web sites e missão crítica.

[2] O Linux Virtual Server (LVS) é uma solução de balanceamento de carga avançada para sistemas Linux. É um projeto Open Source começado por Wensong Zhang em maio de 1998. A missão do projeto é construir um servidor de alto desempenho e altamente disponível para Linux usando a tecnologia de clustering, que fornece altos níveis de escalabilidade, confiabilidade e usabilidade.

Referências:

PITANGA, Marcos. Computação em cluster. 30 maio 2003. Disponível em:< http://www.clubedohardware.com.br/artigos/153/1>. Acessado em: 09 Set. 2009.

PITANGA, Marcos. Construindo supercomputadores com Linux.  3. Ed. Rio de Janeiro: Brasport, 2008.

FERREIRA, R. E. Linux: Guia do Administrador de Sistemas. São Paulo: Novatec, 2003.

About these ads