domingo, 15 de junho de 2014

Conheça a Computação em Cluster

A Computação em Cluster vem crescendo a cada dia no mercado mundial. Mostrando-se como uma opção mais barata para uma companhia que precisa de um supercomputador, mas não tem tanto dinheiro assim disponível. De tal forma, pode ser usado um sistema de processamento distribuído, ou cluster. Nesta postagem iremos abordar ao máximo as informações e ajudar na percepção da importância desta tecnologia.

Para começar, vejam a imagem abaixo: ela descreve como é montado e distribuído em prateleiras um aglomerado de computadores. Estas máquinas dividem entre si as atividades de processamento e executam este trabalho de maneira simultânea.
http://www.infowester.com/cluster.php
(acesso em: 15/jun/2014)
Cada um destes PCs que aparecem aí são chamados de (do inglês Node). Todos esses nós do cluster devem ser interconectados, preferencialmente, por uma tecnologia de rede conhecida, para fins de manutenção e controle de custos, como a Ethernet. Contudo, é muito importante que o sistema permita a remoção de um dos nós(seja por qual for o motivo da remoção) sem que todo o sistema seja derrubado, causando prejuízo.


Existem subdivisões/tipos desta tecnologia


São três os tipos de cluster, cada um aplicado de acordo com a demanda e do que mostrar ser mais eficiente para tal caso. Veja a descrição deles: 

  • Cluster de Alto Desempenho (High Performance Computing Cluster)
Clusters de alto desempenho são direcionados a aplicações bastante exigentes no que diz respeito ao processamento. Sistemas utilizados em pesquisas científicas, por exemplo, podem se beneficiar deste tipo de cluster por necessitarem analisar uma grande variedade de dados rapidamente e realizar cálculos bastante complexos.
  • Cluster de Alta Disponibilidade (High Availability Computing Cluster)

Nos clusters de alta disponibilidade, o foco está em sempre manter a aplicação em pleno funcionamento: não é aceitável que o sistema pare de funcionar, mas se isso acontecer, a paralisação deve ser a menor possível, como é o caso de soluções de missão crítica que exigem disponibilidade de, pelo menos, 99,999% do tempo a cada ano, por exemplo.
  • Cluster para Balanceamento de Carga (Load Balancing)

Em clusters de balanceamento de carga, as tarefas de processamento são distribuídas o mais uniformemente possível entre os nós. O foco aqui é fazer com que cada computador receba e atenda a uma requisição e não, necessariamente, que divida uma tarefa com outras máquinas.

Destaca-se na imagem abaixo um Cluster de Alto Desempenho. Denomimado Columbia, ele está operando em função da NASA desde 2004. Executando Linux com 10.240 processadores.
http://pt.wikipedia.org/wiki/Cluster
(acesso em: 15/jun/2014)

Vantagens e desvantagens dos clusters

  1. há opções de softwares para cluster disponíveis livremente, o que facilita o uso de uma solução do tipo em universidades, por exemplo;
  2. relativa facilidade de customização para o perfeito atendimento da aplicação;
  3. um cluster pode ser implementado tanto para uma aplicação sofisticada quanto para um sistema doméstico criado para fins de estudos, por exemplo. 
  4. a quantidade de máquinas pode aumentar tanto que a manutenção se torna mais trabalhosa, o espaço físico pode ficar impróprio, etc;
  5. a tecnologia de comunicação utilizada pode não oferecer a velocidade de transferência de dados ou o tempo de resposta necessário, dependendo da aplicação
  6. um cluster tem como base uma rede local, logo, não se pode acrescentar máquinas que estejam muito distantes geograficamente.
  7. é possível aumentar a capacidade de um cluster com a adição de nós ou remover máquinas para reparos sem interromper a aplicação;
  8. a configuração de um cluster não costuma ser trivial, mas fazer um supercomputador funcionar poder ser muito mais trabalhoso e exigir pessoal especializado.


http://www.btactic.com/bsolutions/bcloud/
(acesso em: 15/jun/2014)
A origem da denominação cluster não é clara, mas sabe-se que as primeiras soluções de processamento paralelo remontam à década de 1960, havendo, a partir daí, alguns princípios que hoje formam a base da ideia de clustering, que vai se apresentando sempre mais adequada, ainda mais porque com o advento da computação em nuvens, este cenário se torna ainda mais amplo: pode-se ter uma infraestrutura dedicada e tecnológica respondendo a vários clientes simultaneamente de maneira remota. Estes aspecto podem deixar ainda mais atraente quando a ideia de cluster é associada a conceitos mais recentes, como a própria Nuvem ou a Virtualização. E assim, aperfeiçoar cada vez mais este tipo de computação.



fontes:
http://www.infowester.com/cluster.php
http://pt.wikipedia.org/wiki/Cluster
http://www.clubedohardware.com.br/artigos/153
http://www.hardware.com.br/livros/hardware-manual/supercomputadores-clusters.html


Colaboração: Davi Silva e Kleisson Vieira.




Nenhum comentário:

Postar um comentário

Deixe o seu comentário. Se preferir, comente acima usando o Facebook.