Você está na página 1de 3

Introdução

Com o avanço da tecnologia, os computadores pessoais (PC) tem se tornado casa vez
mais rápidos e baratos, devido a este fato tem-se utilizado estes micros para soluções
de computação de alto desempenho, utilizando o conceito de clusters. Neste artigo p
retendo auxiliar o leitor passo a passo a configurar um cluster de micros utiliz
ando o MPICH2, vale lembrar que o MPICH-2 serve para comunicação paralela em cluster
homogêneos (todas as máquinas iguais).
Antes de começar devemos preparar os micros para tal configuração. Vamos partir do pri
ncípio que os micros já estão com o sistema operacional instalado e funcionando em red
e.
Para que os micros possam trabalhar em paralelo é necessário que estes possam execut
ar comandos uns nos outros sem a necessidade de senha. Isto pode ser realizado s
eguindo o artigo Fazendo RSH sem senha que escrevi.
Vamos partir do princípio que já é possível realizar rsh e rlogin de um micro para o out
ro sem a necessidade de senha.
Exportando diretório para os outros micros do cluster
Passos:
1. Criar o diretório que será exportado em todas as máquinas do sistema.
2. Configurar no servidor o arquivo /etc/exports, incluir a linha abaixo no arqu
ivo exports:
/home/diretorioexportado Ip-do-cliente(sync,rw,no_root_squash)
Iniciar os serviço nfs com o comando:
# /usr/sbin/ntsysv
3. Configurar os clientes para que montem o diretório exportado, editar o arquivo
/etc/fstab incluindo a linha:
Ip-do-servidor:/home/diretorioexportado /home/diretorioexportado nfs rw,bg 0 0

4. Reiniciar os serviços de rede em todos os computadores:


# service xinetd restart
Adicionando o usuário em todas as máquinas do cluster, como root:
# useradd usuário
# passwd usuário
5. Após criar os usuário devemos instalar o MPICH-2.
Instalando o MPICH-2:
Para instalar o mpich2 seguir as configurações indicadas pelo desenvolvedor do softw
are ref:
http://www-unix.mcs.anl.gov/mpi/mpich2/
Executar:
# ./configure
# make
# make install
1. Exportar as variáveis de ambiente do mpich2 para os usuários, criar o script, sal
var em /etc/profile.d/ e dar permissões de execução a todos os usuários.
# vi mpiconf.sh
#!/bin/bash
# PATH ENVIRONMENT TO MPICH2 #
PATH=$PATH:/local-de-instalação-do-mpi/bin
export PATH
# END ENVIRONMENT TO MPICH2 #
Alterar as permissões do arquivo mpiconf.sh:
# chmod og+x mpiconf.sh
Se tudo der certo o MPICH-@ estará instalado e funcionando.
Configurando as variáveis de usuários e ambientes
1. Criar um arquivo chamado .rhost em cada micro do cluster (permite a comunicação d
e 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 comand
o security copy (scp):
# scp .rhost usuario@micro2.dominio:~/
2. Criar um arquivo chamado .mpd.conf, que será utilizado para alocar a senha usad
a 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 ut
ilizaçã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 usuario@micro2.dominio:~/
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 ac
ima, 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
Considerações finais
Se todos os passos anteriores estiverem corretos, acredito que os usuários do novo
cluster terão bastante recurso computacional para utilizarem. Vale lembrar que a
responsabilidade de um usuário de cluster deve ser comparável com a do próprio adminis
trador, portanto, muito cuidado com as suas senhas, se elas caírem em mãos erradas u
m usuário mal intencionado pode utilizar todo seu recurso computacional para uso i
ndevido.
SEMPRE UTILIZE SENHAS COM MAIS DE 8 DÍGITOS E COM CARACTERES ALFANUMÉRICO (LETRAS E
NÚMEROS). EX: W5-*D+Jeh@.
QUANTO MAIS COMPLICADA FOR A SUA SENHA, MAIS SEGURO SERÁ O CLUSTER, E VOCÊ EVITA QUE
OS PROCESSADORES SEJAM UTILIZADOS POR PESSOAS MAL INTENCIONADAS, COMO HACKERS E
ENVIO DE SPAM.