OpenMPI - Instalação de uma aplicação paralela

Este artigo tem o objetivo de descrever os passos necessários para implementar uma aplicação paralela (OpenMPI) e verificar
como o é o processamento distribuído entre os hosts.

[ Hits: 39.126 ]

Por: Gilberto Pereira dos Anjos Lima em 19/10/2011


Analisando os resultados



12. Você pode analisar como os recursos de hardware da máquina se comportam utilizando o comando mpstat. Basta apenas abrir uma outra janela da sua máquina e digitar:

mpstat x y

* Onde o "x" é de quanto em quanto segundos ele irá fazer a coleta, e o "y" quantas vezes ele irá coletar.

Experimente:

mpstat 1 (coletando a cada segundo, até o comando ser interrompido com ctrl + c).

Com o mpstat em uma outra janela é possível analisar, mas se por acaso optar por criar um log, pode seguir com o passo 12B.

12B. Redirecionando o vmstat para um arquivo.

Crie um arquivo qualquer com o seguinte conteúdo (chamei de mpilog.sh):

#!/bin/bash
   while true;do
      mpstat 1 > mpstat.log
   sleep 1
done

Ele irá fazer a coleta das informações de hardware enquanto o programa é executado.

Altere as permissões para:

chmod 775 mpilog.sh

Execute o arquivo em background:

./mpilog.sh &

Agora rode o ompi em apenas 1 máquina. Quando terminar o processamento, precisará também encerrar processo do mpstat.

fg
Tecle: Ctrl + c

Conclusão

13. Apresentando os resultados

Após auxílio da ferramenta mpstat para coletar como foi o comportamento do hardware ao executar a aplicação, é possível notar que no 1° caso (execução do programa em apenas 1 uma máquina), o processamento foi mais rápido do que no 2° caso (execução do programa com 2 máquinas), isto devido haver broadcast na rede "ao procurar o outro host".

O real ganho é que em 1 máquina o hardware será muito mais consumido, com 2 máquinas o processamento ficará em torno de 50% pra cada máquina. Imagine-se então quando o processamento for absurdo, seria inviável rodar 10000 instâncias em apenas 1 máquina.

Obs.: As máquinas foram reiniciadas a cada teste, isto para obter um cenário mais próximo de como foi o comportamento de desempenho.

14. Caso precisem das máquinas utilizadas, disponibilizei o conteúdo em:
Gilberto A Lima

Página anterior    

Páginas do artigo
   1. Introdução
   2. Execução OpenMPI
   3. Analisando os resultados
Outros artigos deste autor

Minix - Instalação e configuração básica

Leitura recomendada

Integração Contínua com Jenkins - Instalação (Parte 1)

Hugin - Criando fotos panorâmicas navegáveis

VirtualBox 2.1.0: Rede no VirtualBox agora é fácil!

Filesystem do Nokia 6225 no Linux

Por que mudar de sistema operacional pode ser um bom negócio?

  
Comentários
[1] Comentário enviado por dennis.leandro em 20/10/2011 - 10:47h

Muito bom artigo!
Assunto muito interessante, e de facil entendimento!
Parabeens!

[2] Comentário enviado por removido em 30/10/2011 - 18:00h

e dpois, pra que eu posso usar isso?? eu sempre fiz isso mas nunca fiz algo alem disso está no artigo

quero diser, como eu executo um programa?? gimp, interface grafica, sql e outras coisas??

[3] Comentário enviado por gilbertoalima em 01/11/2011 - 00:11h

$DouglasFim


MPI é o conceito sobre computação paralela.

O OMPI é um dos softwares mais comuns e free que interage com este conceito, o artigo visa apenas um conhecimento simples para mostrar como é funcionamento.

Ele pode rodar programas em C, interface gráfica etc, entretanto isso seria complexo, mas existe diversos de outros programas além de um 'hello world' disponiveis para download no próprio site:

¹(http://www.open-mpi.org/hg/hgwebdir.cgi/ompi-svn-mirror/summary)

Para rodar os programas citados acima sobre o paralelismo, será necessário a utilização de outros softwares, do GIMP sinceramente eu desconheço, mas do SQL poderia utilizar o BizTalk Server :

²(http://www.microsoft.com/biztalk/en/us/overview.aspx)

att,

[4] Comentário enviado por jeansg em 17/08/2012 - 03:37h

Muito bom o Artigo !

[5] Comentário enviado por cristian-redes em 28/11/2013 - 02:18h

Amigo, voce consegue a senha das maquinas virtuais suas? Gostaria de testar, mais estou tendo dificuldades de instalação..
Se puder conseguir agradeço.

[6] Comentário enviado por gilbertoalima em 29/11/2013 - 13:52h

Fala cristian, beleza ?

Users: ompi1, ompi2, root
Senha: ompi

Att

[7] Comentário enviado por cicerocarlos em 13/11/2014 - 01:29h

Prezado
Tenho um cluster com suse server para processamento compartilhado, entretanto, para análise que precisa de memória ram não ocorre compartilhamento de mémoria ram, sendo usanda somente a memória do nó de execução do programa (velvet). Existe como configurar para compartilhar memória?

Att,
Cícero

[8] Comentário enviado por gilbertoalima em 13/11/2014 - 11:38h

Cicero,
Se a aplicação suportar, sim.

Pra ter certeza teria que conhecer o que é este "velvet", como funciona, no que roda etc.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts