Clusters e Grids Computacionais
Por: lalberto1991 • 15/11/2016 • Trabalho acadêmico • 4.026 Palavras (17 Páginas) • 361 Visualizações
Disciplina Computação Distribuída
Alunos
Luiz Alberto Espindola Campos
1. Introdução
Devido a necessidade de se processar quantidades expressivas de dados, uma alternativa viável comparada aos supercomputadores foi criada na década de 60, onde foi obtido uma forma de se interligar vários microcomputadores para compartilhar os seus recursos. A partir desse ponto começaram a serem criadas estruturas de computação distribuída, como por exemplo os Clusters e os Grids.
Os primeiros clusters foram desenvolvidos pela IBM. Nessa mesma época o sistema HASP (Houston Automatic Spoling Priority) e seu sucessor, JES (Job Entry System) forneciam uma forma de distribuir as tarefas entre os mainframes interligados. A proposta do Cluster era interligar dois ou mais computadores, para que em conjunto pudesse executar tarefas cujas máquinas não teriam capacidade para realizá-las de maneira individual.
Devido ao surgimento de microcomputadores de alta performance, redes de alta velocidade e ferramentas padronizadas para computação distribuída, os Clusters acabaram perdendo força na década de 80.
Nos anos 90, uma nova arquitetura de computação distribuída foi proposta, diversos modelos foram especificados, entre eles a tecnologia Grid. Essa nova proposta surgia como um computador virtual, que ocultava toda infra-estrutura distribuída. O objetivo principal era agrupar tecnologias heterogêneas, onde pudesse compartilhar processamento, armazenamento, dados e aplicações.
A computação em grade(Grid) vem ganhando destaque nos últimos anos, com diversas empresas investindo nos nelas para seus ambientes corporativos.
A principal diferença entre Cluster e Grid é que o primeiro possui a ideia de um controlador central, um único ponto de onde é utilizado todo poder de processamento, já os demais nós são apenas slaves (escravos) que irão servir ao nó central. Os clusters são utilizados com maior frequência em atividades de pesquisa, resolvendo problemas complicados e também na renderização de gráficos. Os Grids por sua vez são uma arquitetura democrática, onde embora possa existir controles centrais, conta com um ambiente cooperativo, onde grupos de usuários podem compartilhar os ciclos ociosos de processamento em seus sistemas em troca de poder utilizar parte do tempo de processamento do grid.
2. Clusters
O termo “Cluster” provém da língua inglesa, e significa: “número de coisas da mesma espécie, crescendo ou se aproximando a um grupo”. Clusters computacionais são compreendidos como arquiteturas redundantes de equipamentos, que permitem um tipo de espelhamento de funções equivalentes e que são operadas simultaneamente para conterem dados iguais em replicação, de tal maneira interligados, para se caso houver algum tipo de falha de um dos equipamentos agrupados, outro assume todos os serviços automaticamente, sem que ocorra interrupções.
Um Cluster é um conjunto de computadores independentes que são conectados por rede e formam um sistema único através do uso de um software. Eles podem ser classificados seguindo alguns critérios. Um Cluster é dito homogêneo quando todos os nós da máquina possuem configurações iguais, caso contrário eles são chamados de heterogêneos. Já o número de processadores irá permitir a classificação entre mono (um único processador) ou multiprocessados (diversos processadores). A terceira classificação é o modo de configuração do cluster, neste caso, um cluster pode ser formado através de uma determinada quantidade de computadores ou até mesmo de constelações, que são Clusters de Clusters.
1
Para que exista um Cluster são necessários pelo menos dois computadores. É evidente que quanto mais computadores, maiores serão os custos para implementação e manutenção. Ainda assim, os custos costumam ser menores se comparados a aquisição e manutenção de potentes microcomputadores.
Cada computador presente no Cluster é denominado nó. Todos nodos devem estar interconectados de maneira a formar uma rede. Essa rede precisa ser criada de uma forma que permita o acréscimo e a retirada de um nó, sem interromper o funcionamento do Cluster. O sistema operacional deve ser de um mesmo tipo, isso porque existem particularidades dentro de cada SO que poderiam impedir o perfeito funcionamento. Independente do sistema escolhido, é necessário usar um software que permita a montagem do cluster. Ele será o responsável, entre outras coisas, pela divisão do processamento. Pode se afirmar que esse é um ponto crucial na montagem de Cluster. É preciso que o software trabalhe de uma forma na qual os erros e defeitos sejam identificados, oferecendo os meios necessários para providenciar reparos sem interromper as atividades correntes.
Os clusters podem ser usados para vários tipos de aplicações que exijam processamento pesado. Como exemplo podem ser citados previsões meteorológicas, simulações geotérmicas, renderização de efeitos especiais, simulações financeiras, distribuição de carga, biotecnologia, petroquímica, mineração de dados, processamento de imagens e servidores de música e jogos para a Internet.
Basicamente, todo e qualquer tipo de aplicação crítica, aquelas que não podem parar de funcionar e também aquelas que não podem perder dados podem fazer o uso das tecnologias de Cluster, configurados para não ficarem sujeitos a falhas graves. Desse modo, o cluster deve contar com aparelhos como nobreaks e geradores que garantam o funcionamento do sistema mesmo nos casos de queda de energia, além de meios de manutenção e detecção de falhas.
O desenvolvimento de sistemas computacionais paralelos tem usado os Clusters como uma das alternativas adotadas. No entanto, a configuração e manutenção deste tipo de arquitetura envolvem diversos fatores sendo simplificada pela existência de ferramentas específicas para cada tipo de problema, desde a instalação do sistema operacional, até a definição de ferramentas para a configuração, manutenção, monitoramento e também o escalonamento de tarefas.
2.1 Ferramentas para instalação, configuração e manutenção
OSCAR (Open Source Cluster Application Resources) - É um ambiente para
...