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