Projeto LC3 – Low Cost Computer Cluster

O projeto LC3 (L C^3 = Low Cost Computer Cluster) foi desenvolvido visando o uso de processamento de alto desempenho por pessoas ou instituições que possuam recursos financeiros muito limitados.

Uma das principais razões que incentivou o início da construção de clusters de computadores de categoria Beowulf (HPC – High Performance Computing), foi o valor. Valor este que se tornava inviável mesmo para grandes corporações, como o Instituto Aeroespacial Americano e outros centros de pesquisa sobre todo o mundo. Isso já faz bastante tempo, e desde 1994 quando a NASA deu inicio ao projeto Beowulf muita coisa mudou, mas ainda existem países sobre o mundo que enfrentam dificuldades para adquirir até mesmo hardware genérico. Tanto por razões econômicas, quanto pela política de importação adotada pelos países.

O projeto LC3 foi criado para tornar um pouco mais viável a construção de um cluster de computadores de alto desempenho, tendo como idéia principal o emprego mínimo de componentes redundantes, e a utilização de hardware usado, como processadores da primeira geração do Pentium.
Para esse tipo de solução, o GNU/Linux se encaixa perfeitamente, pois além de proporcionar todos os requisitos técnicos para o funcionamento do cluster, também possui grande semelhança no ponto de vista filosófico do projeto, porque este sistema operacional tem como um dos objetivos principais a igualdade social e tecnológica.

Descrição

A estrutura do projeto é composta por duas redes de computadores. Onde uma é de uso exclusivo dos computadores nós (Switch 100Mbps), e a outra (HUB 100Mbps) é usada para a conexão das estações clientes e do gateway Internet. O equipamento que interconecta as duas redes é o servidor Front End. Como mostra a figura abaixo:

Diagrama geral do projeto LC3

As estações Nós, não possuem disco rígido, e funcionam com recursos do LTSP.

O Front End recebe as solicitações de processamento das estações clientes, e então cria um processo, que é então dividido para as estações nós. Assim que os nós tenham concluído todas as tarefas, os resultados serão recolhidos pelo Front End e entregues a estação cliente que solicitou a tarefa.

Funcionamento

O funcionamento geral do sistema precisa além do hardware já mencionado, diversos softwares, onde podemos destacar o sistema operacional GNU/Linux (claro), as bibliotecas de troca de mensagens (PVM, MPI, etc…), LTSP para boot remoto nas estações nós, e as aplicações, bem como softwares voltados para matemática, estatística, renderização de imagens, simulações, desencriptação e muitos outros.

Para usar os recursos de HPC por uma estação cliente, esta deverá se conectar ao Front End, e a partir dele realizar as requisições de processamento aos nós. Isso é feito através de programação, usando linguagens como C ou Fortran, e adicionando as bibliotecas de troca de mensagens ao código do programa.

Resultados

Nos testes de desempenho, o cluster LC3 se mostrou muito eficiente. Foram feitos muitos testes, e um dos que mostrou um desempenho superior, foi na renderização de imagens com o software POV-Ray. Existe uma versão deste software que foi escrita especificamente para o uso em clusters com PVM, que é o PVMPOV.

A imagem usada para renderização foi a skyvase.pov, pois ela é um padrão em benchmarking para o POV-Ray.

Figura renderizada: skyvase.pov

Abaixo podemos ver o gráfico de desempenho, onde o cluster completo demorou apenas 42 segundos para renderizar toda a imagem, tendo um desempenho superior a uma estação equipada com o processador Pentium 4-1,5GHz, que leva em média 50 segundos para concluir a renderização.

Desempenho de diversos equipamentos
Item Equipamento
P100 Pentium 100MHz
P166 Pentium 166MHz
P200SMP(2) SMP Pentium 200MHz dual
LC3+2P100 Front End: SMP Pentium 200MHz dual;
Nodes: 2 Pentium 100MHz
LC3+2P166 Front End: SMP Pentium 200MHz dual;
Nodes: 2 Pentium 166MHz
LC3 Full Cluster LC3 Completo.
Front End: SMP Pentium 200MHz dual;
Nodes: 2 Pentium 100MHz, 2 Pentium 166MHz

Tabela de referência para o gráfico de desempenho

Conclusões e considerações finais

Por qual razão usar um cluster ao invés de uma estação equipada com um processador Pentium 4? Dado que um cluster ocupa mais espaço, gasta mais energia e precisa ser programado de uma forma especial.

A resposta é que o custo de um cluster como esse foi muito inferior do que uma estação Pentium 4!

Hoje em dia um computador com processador Pentium 4 custa cerca de US$ 520.00. Enquanto foram empregados algo em torno de US$ 330.00 na implementação do LC3.

Além disso, sabemos que componentes eletrônicos sempre tem seu valor atrelado ao Dólar. Em países como o Brasil e muitos outros, em que a moeda americana vale mais de três vezes o valor da moeda local, é uma estratégia muito interessante para redução de gastos a implementação de um cluster, pois equipamentos da primeira geração do processador Pentium não possuem mais valor de mercado, e são vendidos como sucata.

Existem também barreiras tecnologias que impediriam que tivéssemos esse desempenho a três anos atrás usando um único processador. Quando nem imaginávamos o advento do Pentium 4 e quando processadores como Pentium 100MHz já eram obsoletos.

Brevemente, podemos perceber que a grande vantagem da utilização de computadores numa arquitetura para alto desempenho é o custo, mas existem outras coisas que vão muito além disso. A utilização de clusters com software livre quebra as barreiras tecnológicas para os indivíduos, podendo um pesquisador de um país sub-desenvolvido ter um poder computacional tão grande quanto um outro pesquisador de um importante centro de pesquisas como o MIT.

A importância do GNU/Linux neste projeto é fundamental, pois o software proprietário mais semelhante a ele (variantes do UNIX) teria o custo extremante elevado, tanto pela questão de propriedade intelectual do software, quanto por esses precisarem de hardware de melhor qualidade. E é por isso que o GNU/Linux vem sendo usado em grande escala em projetos de inclusão digital.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: