Cluster Beowulf

No seguimento deste artigo encontra-se a "construção" de um super computador, um cluster Beowulf.

[ Hits: 169.335 ]

Por: José Luiz Costa Neto em 25/01/2008


Programação Paralela (MPI, MPICH)



O MPI (Message Passing Interface) é constituído por um padrão de troca de mensagens com sintaxe definida, mas preservando características exclusivas de cada arquitetura, inclusive para arquiteturas de memória compartilhada.

O principal objetivo do MPI é otimizar a comunicação e aumentar o desempenho computacional das máquinas, não possuindo dessa forma gerenciamento dinâmico de processos e processadores.

Embora exista a restrição citada acima, os programas escritos em MPI tendem a serem mais eficientes pelo fato de não haver overhead na carga de processos em tempo de execução.

Funcionamento do MPICH

O MPI funciona da seguinte forma: cada máquina (node) recebe uma copia do código fonte e um nome. Cada node começa a executar o programa a partir da primeira linha de comando utilizando as seguintes diretrizes:
  • Executar todas as linhas de comando não nomeadas;
  • Executar as linhas de comando nomeadas com o mesmo nome do node;
  • Não executar as linhas de comando com o nome de outro node.

Para que o programa siga essas diretrizes, o que é feito é a inclusão de vários comandos if, com a seguinte estrutura:

"Se eu sou o nodo tal, faço isso... Se não faço aquilo...". (FONTE: Pitanga, 2004)

A grande dificuldade que esse sistema acarreta é a necessidade de manter os diversos processos de troca de informações em sincronismo, para que uma máquina não perca muito tempo aguardando que as outras máquinas enviem informações.

Página anterior     Próxima página

Páginas do artigo
   1. Definição
   2. Montagem física do Cluster
   3. Configuração servidor de tempo (NTPD)
   4. Servidor de NFS
   5. Programação Paralela (MPI, MPICH)
   6. Instalando o MPI/MPICH
   7. Resultados e conclusões
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Enlightenment no Debian Squeeze e no Ubuntu

OCS Inventory e seus clientes - Instalação e configuração

Shared Config com Apache a la brasileira

Viegas Rubim RMS

Sistema de backup Amanda

  
Comentários
[1] Comentário enviado por liviocf em 25/01/2008 - 11:57h

Muito bom esse artigo! Queria saber se vocês tentaram utilizar ferramentas que automatizam a instalação e o gerenciamento do cluster como o OSCAR? E outra: por que usar o Fedora 4 (já bem desatualizado).
Pergunto isso pois tivemos muitos problemas para instalar e configurar nosso cluster do Lab. de Bioinformática da UFAM manualmente! Terminamos usando Fedora 5 e o OSCAR para resolver os problemas!
Mas concordo com vc, ainda é difícil encontrarmos informações completas sobre o assunto!
E uma das grandes aplicações de cluster no momento é em pesquisas de bioinformática, pois existe uma demanda cada vez maior para isso!!

Parabéns pelo artigo e gostaria de trocar mais informações sobre esse assunto!!

[2] Comentário enviado por infoslack em 25/01/2008 - 14:31h

ué, cadê os Resultados??? So tem:

Problemas encontrados
Considerações finais
Referências bibliográficas
Desenvolvimento e agradecimentos

[3] Comentário enviado por removido em 25/01/2008 - 14:45h

amigo jedi_soft, sei que não é da minha conta, mas o texto acima me pareceu muito bem explicado, já que não se trata de um cluster montado por uma grande equipe de pesquisadores... Porém nosso amigo joseluiz fez oque muitos de nós não teriam "coragem" e/ou "computadores" de fazer. Isso foi uma feliz êxperiencia, parabéns colega joseluiz, tá certo os outros amigos não querião um resultado com números gráficos e tabelas né?!

um forte abraço, até mais.

[4] Comentário enviado por nigthwing em 25/01/2008 - 15:55h

Uma dúvida:
O programa de exeplo utiliza a mpi. è necessário que todo programa que se utilize do cluster seja feito com a mpi?
Programas de processamento já criados sem a MPI se beneficiam do cluster?

[5] Comentário enviado por infoslack em 25/01/2008 - 16:48h

vanguarda, amigo so falei pq parece que quando ele foi publicar o artigo aki no vol, esqueceu de botar essa parte.. com certeza ele ia falar dos resultados dos teste perguntei isso pq tem o titulo:
Resultados e conclusões

foi so curiosidade mesmo, mas que o artigo ta ótimo com certeza ta!!

abraço!!


[6] Comentário enviado por joseluiz em 25/01/2008 - 17:01h

Caro nigthwing, é necessário a instalação dos pacotes mpi em todas os que fazem parte do mesmo.

No caso dos programas ja criados sem o mpi seria necessário vc estar fazendo algumas alterações no fonte, para que eles utilizem o mpi, que com certeza ganhara muito em sua performance

[7] Comentário enviado por joseluiz em 25/01/2008 - 17:06h

jedi_soft, desculpe-me pela falha do mesmo.. Talvez tenha me expressado mal no tópico...
Mas os resultados foram o seguinte.... Em uma aplicação de calculo para achar o intervalo de Pi com intervalo de 999999999. sendo executado em cluster foi encontrado o resultado em clock time = 0.000238 com uma taxa de erro de 00000000000987.00 ... E sendo executado em apenas 1 estação chegamos no resultado clock time = 0.089638 com uma taxa de erro de 00000000456987.00

[8] Comentário enviado por removido em 02/02/2008 - 12:59h

Olá joseluiz gostaria de parabeniza-lo pelo artigo, tenho uma duvida, ao executar o bWatch ele so apresenta Master com Num Users 2 isso é normal ele não deveria apresentar o Master e o Slave1?

[9] Comentário enviado por removido em 02/02/2008 - 16:55h

..Muito beleza seu artigo!
So lembrando ao amigo fonsecaf7 que para que apareça o nome
dos Slaves vc tem que por os nomes dos nós no arquivo .bWatchrc.tcl nas 1ª linhas do aquivo.Assim
set bWatchrcVersion 1.1.0a
set listOfHosts {Master nó01 nó02 nó02 etc..}

[10] Comentário enviado por gpr.ppg.br em 05/06/2008 - 01:28h

por curiosidade, gostaria de saber se o Cluster Beowulf, ajudaria no uso para renderizar comerciais?
ou para servidor web?

[11] Comentário enviado por sergin1rn em 19/08/2009 - 00:01h

Amigos que se interessaram pelo cluster.
Os resultados que o inforslack queria, acredito que seria o seguinte:
cluster@master:~$ mpirun -np 4 cpi
Process 2 on master
Process 0 on master
Process 1 on slave
Process 3 on slave
pi is approximately 3.1416009869231245, Error is 0.0000083333333314
wall clock time = 0.000278
cluster@master:~$

Obtive este resultado seguindo o tutorial deste site http://www.lca.ufms.br/ClusterDebian/
Mas seu artigo está muito bom mesmo o seu artigo!
Pena não ter visto ele anteriormente.

Parabéns!

[12] Comentário enviado por leandrojapa em 19/04/2010 - 15:07h

Boa tarde joseluiz..seguinte...estou precisando configurar um cluster na facudade e estou com problemas..
ja testei em casa com maquinas virtuais e esta tudo Ok.Mas quando vou executar um programa e vai mandar para os outros nós ele da um erro de execução : error mpirun :cannot run cpi in no1 :no such file directory ..
ja tentei varias maneiras, acho q o erro esta na resolução de nomes mas nao tenho certeza pois ja refiz tudo varias vezes e sempre continua esse erro..alguem pode me ajudar por favor ??
estou precisando com urgencia..fico mto grato..

[13] Comentário enviado por diogodf em 11/04/2012 - 08:33h

otimo artigo, bem esclarecedor, esse tipo de material é bem dificil de se encontrar na net. parabens!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts