quinta-feira, 31 de março de 2011

Construindo SuperComputadores em Linux parte 1.

Construindo SuperComputadores em Linux parte 1.
Se pararmos para olhar a nossa volta consequentemente iremos nos deparar com um mundo que vem adquirindo espaço e cada vez mais espaço, a computação encontra-se em toda a parte e a todo o tempo, essa pratica adentrou-se em nossos cotidianos, e meio que de repente nos infecta, atingindo a todos, a essa infeção damos o nome de globalização. Para alimentarmos essa crescente esfera da globalização, surgem problemas cada vez mais complexo, e que demandem um uso exagerado de processamento, esforços desenvolvido por cientistas e engenheiros, nas últimas décadas desenvolveram métodos sofisticados para administra recursos computacionais por meio de pesquisas, desenvolvendo assim programas e computadores consequentemente mais rápidos e baratos. Com o advento de tecnologias baratas e renováveis, a criação de supercomputadores torna-se fácil e acessível, como consequência promove o desenvolvimento de novas tecnologias, que permite renderização de gráficos em alta velocidade, viabiliza simulações e outras tarefas de utilizam grande poder de processamento.
O propósito deste artigo é expor ao leitor, as ideias, os modelos fundamentais que permeiam o desenvolvimento de SuperComputadores em ambiente Linux apresentando o processo de criação de um Cluster.

Cluster o que é:
Cluster vem do inglês e significa grupo compacto de coisas do mesmo tipo. Neste sentido, Cluster é um conjunto de máquinas interligadas via rede que trabalham em conjunto trocando informações entre si em torno de uma única tarefa.[Collouris, Kindberg, Dallimore, 2007].


Um Cluster pode ser definido como um conjunto de nós processadores “computadores, estações, etc.) atuando de forma autônoma, e que interligados comporta-se como um sistemas de imagem única. O conceito de imagem única dita que o sistema paralelo ou distribuído, independente de ser composto por vários processadores ou recursos alocados geograficamente distribuídos, devem comporta-se como um sistema centralizado do ponto de vista do usuário. Desta forma, todos os aspectos relativos à distribuição dos dados e de tarefas, comunicação e sincronização entre tarefas e organização física do sistema devem ser abstraídos ao usuário ou seja ser transparente ao usuário. A figura abaixo demostra o funcionamento de um Cluster.
Os nós de uma rede tendem a ser menos complexos do que os nós de um Cluster uma vez que em sua maioria correspondem a Pc's ou estações monoprocessadas. Os nós de um Cluster podem contem dois ou quatro processadores, sendo de igual ou maior complexidade do que maquinas MPP(máquinas proprietárias e de processamento massivo). Se levarmos em consideração a presença de disco e sistema operacionais completos no primeiro em comparação com a auxesia de discos e sistemas operacionais baseados em microkernel no segundo. Máquinas SMP (máquinas multiprocessadas ) geralmente são mais complexas pois podem conter um numero maior de processadores.
O fornecimento de Imagem única ou transparência é maior em maquina SMP, que o suportam, em praticamente todos os níveis da arquitetura, maquinas MPP suportam esse conceito em apenas em alguns níveis por exemplo, aplicações. Os Cluster provêm transparência em um nível comparável ao de máquinas MPP – o sistema operacional encarregasse da gerencia dos vários processadores e as ferramentas mais recentes de gerenciamento permitem uma visão centralizada de todos os nós do Cluster. As redes de estações não suportam esse conceito visto que a autonomia dos nós impõe mulltiplas imagens. Essas arquiteturas ainda podem ser comparadas em relação ao tipo de sistema operacional que utiliza “memoria compartilhada ou troca de mensagens” ou ainda o protocolo de tecnologia de rede utilizada.

Nenhum comentário:

Postar um comentário