1. Criar um arquivo chamado .rhost em cada micro do cluster (permite a comunicação de comandos via rsh sem senha), como escrito abaixo (comandos de vi no Apêndice A).
# vi .rhost
#hosts com acesso por rsh
micro1.dominio
micro2.dominio
micro3.dominio
#end
O arquivo pode ser copiado a partir do micro1 para os outros micros com o comando security copy (scp):
# scp .rhost [email protected]:~/
2. Criar um arquivo chamado
.mpd.conf, que será utilizado para alocar a senha usada pelo mpd:
# vi .mpd.conf
Este arquivo deve conter uma única linha:
secretword=senha
Onde senha é a senha utilizada pelo mpd e deve ser diferente da senha do usuário do sistema.
Alterar as permissões do arquivo .mpd.conf em todos os micros, é obrigatório para a utilização do mpiboot e evita que outros usuários possam acessar sua senha mpd.
# chmod 600 .mpd.conf
3. Criar o arquivo
mpd.hosts em todas as máquinas do cluster.
Este arquivo informa ao mpi quais máquinas serão utilizadas com o mpi.
# vi mpd.hosts
#hosts usados no mpi
micro1
micro2
micro2
Copiar este arquivo para as outras máquinas com o comando scp:
$ scp mpd.hosts [email protected]:~/
4. Para iniciar a comunicação, a partir do servidor executar o comando:
$ mpdboot -r rsh -n numerodehosts
Onde numerodehosts é o número de hosts que foram alocados em mpd.hosts.
5. Testar a comunicação entre os micros com os comandos:
# rsh micro2 date
# mpdtrace -l
Que deve retornar algo como:
micro1.dominio_xxxxx (número de ip)
micro2.dominio_xxxxx (número de ip)
Onde xxxxx é a porta de comunicação entre os micros. Se o resultado estiver correto os micros estão configurados corretamente, se o resultado não estiver semelhante ao acima, deve rever os arquivos mpd.hosts e .rhosts.
6. Testar a comunicação entre os micros calculando pi em paralelo com o comando:
# mpiexec -n 4 /usr/local/mpich2-1.0.3/exemples/cpi
O resultado deve ser algo parecido com:
Process 0 of 4 is on micro1.dominio
Process 1 of 4 is on micro2.dominio
Process 2 of 4 is on micro3.dominio
Process 3 of 4 is on micro1.dominio
pi is approximately 3.1415926544231239, error is
0.0000000008333307
wall clock time = 0.002839
Podemos executar o MPI de qualquer diretório utilizando o comando:
# mpiexec -machinefile n-proces -n 6 -path /home/USERNAME/mpi_exec/: cpi