Post on 09-Nov-2015
description
PONTIFCIA UNIVERSIDADE CATLICA DE MINAS GERAIS
Curso de Cincia da Computao
Aline Rosa Carvalho Luana de Parolis Bianchini
GUIA DE CONFIGURAO DE UM CLUSTER BEOWULF
Debian Sarge / Debian Etch / Debian Lenny / Debian Squeeze / MPI - LAM
Prof. Dr. Joo Carlos de Moraes Morselli Jr.
Departamento de Cincia da Computao
PUC Minas campus Poos de Caldas
Poos de Caldas 2013
RESUMO
Este documento se resume ao estudo de vrios mtodos e abordagens
diferentes sobre formas de configurao de um Cluster Beowulf, em um sistema
Debian GNU / Linux. Trata-se de uma abordagem tcnica, em que alunos possam
aproveitar uma rede de computadores para processamento de programas que
utilizam MPI.
Palavras-chave: Processamento Paralelo. Cluster BEOWULF. Debian.
LISTA DE ABREVIATURAS
MPI Message Passing Interface
NFS Network File System
RSH Remote Shell
SUMRIO
1 INTRODUO ................................................................................... 6
1.1 Objetivo ......................................................................................... 6
2 CONFIGURANDO O CLUSTER ........................................................ 7
2.1 Configurao comum para todos os computadores ...................... 7
2.2 Configurando o n mestre ............................................................ 10
2.3 Configurando os ns escravos ..................................................... 14
2.4 Iniciando a MPI no n mestre ....................................................... 16
2.5 Testando a MPI ............................................................................. 17
2.6 Comandos MPI ............................................................................. 19
2.6.1 Lamclean ................................................................................. 19
2.6.2 Mpitask ...................................................................................... 19
2.6.3 Mpimsg ..................................................................................... 19
2.6.4 Lamnodes ................................................................................. 20
3 PROBLEMAS DEBIAN 6 (Squeeze) ................................................... 21
4 VERIFICAO DO CLUSTER GUIA RPIDO................................... 22
5 CLUSTER CONFIGURADO E USADO.................................................. 24
6 CONSIDERAES FINAIS ................................................................ 25
7 REFERNCIAS BIBLIOGRFICAS .................................................. 26
6
1 INTRODUO
Um cluster, ou tambm visto como um aglomerado de computadores formado
por um conjunto de computadores interconectados por uma rede ou barramento, que
utilizam de uma configurao ou sistema operacional classificado como sistema
distribudo.
Muitas vezes constitudo de computadores convencionais que atravs de
uma rede trabalham juntos para realizar uma nica tarefa como se fosse uma
mquina de grande porte. Existem diversos tipos de cluster, mas esse documento se
focar em um tipo muito famoso, conhecido como BEOWULF, que consiste em
vrios ns escravos gerenciados por um n principal, denominado de n mestre.
Este documento reflete os conhecimentos adquiridos na configurao do
cluster do Laboratrio 3 (de Engenharia de Redes) da Pontifcia Universidade
Catlica de Minas Gerais campus Poos de Caldas.
1.1 Objetivo
O objetivo deste documento no descrever como desenvolver programas
para serem processados em paralelo, mas em descrever de forma simples e objetiva
a arte de configurar um ambiente com o sistema operacional Linux Debian, para que
possa trabalhar como um cluster que utiliza da extenso funcional MPI a fim de
propiciar uma base confivel para execuo de programas que fazem uso de
processamento paralelo.
Para aqueles que pretendem se aventurar em configurar um cluster
BEOWULF, primeiramente deve-se adquirir um conhecimento bsico sobre
comandos de shell e a estrutura de diretrios do sistema operacional Linux Debian
Sarge / Debian Etch / Debian Lenny / Debian Squeeze. O conjunto de passos que
sero descritos neste documento parte do pressuposto que este conhecimento j
tenha sido adquirido.
7
sudo gedit /etc/apt/sources.list
deb cdrom:[Debian GNU/Linux 5.0.0 _Lenny_ - Official i386 CD Binary-1 20090214-16:29]/ lenny
main
2 CONFIGURANDO O CLUSTER
Em nossa experincia utilizamos duas implementaes da extenso funcional
MPI, uma delas, mais conhecida no contexto da Universidade, chamada LAM-MPI e
outra chamada MPICH. As duas em conjunto permitem a execuo de programas
paralelos que utilizam no somente dos computadores, aqui chamados de ns, para
distribuio de tarefas, mas tambm da quantidade de ncleos do processador de
cada n.
Foi de nossa preferncia realizar a reinstalao do sistema operacional de
cada n para que no houvesse a possibilidade de conflitos com instalaes
anteriores. Recomendamos fortemente que as pessoas encarregadas em gerenciar
o cluster faam o mesmo, tanto para aprenderem mais profundamente sobre o
processo de configurao, quanto para garantir que nada de errado ocorrer.
2.1 Configurao comum para todos os computadores
Foi realizada a instalao bsica do Linux Debian em todos os computadores,
onde foram definidos um nome de super-usurio e um de usurio em comum para
todos.
Para fazer login como super-usurio, usar:
usurio: root, senha: pproot..
Para fazer login como usurio comum, usar:
usurio: cluster, senha: ppcluster.
Aps a instalao, o primeiro procedimento foi autenticar-se como super-
usurio e configurar o repositrio da Universidade, para que as atualizaes fossem
mais rpidas. Este procedimento consiste em substituir o contedo do arquivo
/etc/apt/sources.list pelo contedo abaixo:
No terminal digite:
Para evitar que o Debian fique pedindo o CD de instalao toda vez que uma
instalao ou atualizao for realizada, comente a seguinte linha:
8
deb ftp://ftp.pucpcaldas.br/debian-security/ etch/updates main contrib
deb ftp://ftp.pucpcaldas.br/debian/ etch main contrib non-free
sudo apt-get update
*OBS: Para comentar uma linha, insira um # na frente da linha a ser
comentada!
E insira no final do arquivo as seguintes linhas:
Em seguida, realize a sincronizao do repositrio com o seguinte comando:
Optamos por instalar todos os pacotes, tanto do n mestre (servidor) quanto
dos ns escravos (clientes), para que seja possvel a comunicao bidirecional com
o terminal remoto e que seja permitida a execuo local atravs de processos
paralelos em cada n. Porm o que definiu o mestre e os escravos foi
configurao que se fez para os pacotes instalados.
A lista abaixo foi utilizada na instalao:
build-essential: uma lista informativa que contm todos os pacotes necessrios
para compilao de programas em linguagem c.
lam-mpidoc: documentao para a MPI.
lam-runtime: ambiente de tempo de execuo para programas paralelos.
lam4-dev: pacote de desenvolvimento para programas em MPI.
mpich-bin: implementao da MPI.
libmpich1.0-dev: bibliotecas estticas e de desenvolvimento da MPICH.
libmpich1.0gf: ambiente compartilhado de tempo de execuo da MPICH.
rsh-client: cliente RSH (Cliente de terminal remoto).
rsh-server: servidor RSH (Servidor de terminal remoto).
nfs-kernel-server: habilita o suporte ao servidor NFS.
libgmp3c2: biblioteca aritmtica de nmeros gigantes.
libgmp3-dev: pacote de desenvolvimento da biblioteca de nmeros gigantes.
libgmp3-doc: documentao da biblioteca de nmeros gigantes.
9
sudo apt-get install build-essential lam-mpidoc lam-runtime lam4-dev
mpich-bin libmpich1.0-dev libmpich1.0gf rsh-client rsh-server nfs-kernel-server
nfs-common libgmp3-dev libgmp3-doc libgmp3c2
sudo adduser cluster
sudo usermod u 1001 cluster
sudo groupmod g 1002 cluster
sudo gedit /etc/securetty
sudo apt-get install gcc lam-runtime lam4-dev nfs-user-server libgmp3
libgmp3-dev libgmp3-doc
Os pacotes acima foram instalados com o seguinte comando*:
*OBS: Digite o comando acima tudo na mesma linha!
Para o Debian Sarge, devem-se seguir as seguintes instrues:
Realizado o login com o usurio root execute o seguinte comando (antes se for
necessrio digite apt-setup e inclua os espelhos HTTP dos locais: Unicamp e
Debian.org.):
Como citado anteriormente, criamos um usurio especfico para o cluster
(Usurio cluster), pois ser atravs dele que o n principal enviar as tarefas para
os ns escravos. importante ressaltar que o usurio deve ser idntico em todos os
ns e para isto foi necessrio executar os seguintes comandos:
Para adicionar um novo usurio, com o nome de cluster. Digite no terminal:
Para modificar o id do usurio cluster para o nmero 1001. Digite no terminal:
Para modificar o grupo do usurio cluster para o nmero 1002. Digite no
terminal:
Em seguida o servio de terminal remoto foi permitido em todos os ns atravs
da insero de seus servios no arquivo /etc/securetty. Para isto bastou
acrescentar as seguintes linhas no fim do arquivo, no terminal digite:
10
rlogin
rsh
rexec
sudo gedit /etc/hosts.equiv
192.168.5.40
192.168.5.41
192.168.5.42
192.168.5.44
192.168.5.45
sudo gedit /etc/exports
E insira no final do arquivo as seguintes linhas:
O cliente de terminal remoto envia o usurio do sistema automaticamente no
incio da conexo, assim no necessrio digitar o nome de usurio. E para que
no seja necessrio digitar a senha foi preciso informar em cada n quais eram os
ns confiveis da rede. Ento foi editado o arquivo /etc/hosts.equiv, e em seu
contedo foi inserido o endereo IP de cada n do cluster, um por linha. No terminal
digite:
*OBS: bem provvel que esse arquivo esteja vazio...
E insira no arquivo as seguintes linhas (um em cada linha):
Realizado os procedimentos acima, encerra-se a configurao comum para
todos os ns.
2.2 Configurando o n mestre
O n mestre, tambm chamado de n zero, o responsvel por distribuir as
tarefas para os outros ns, que so chamados de ns escravos. Para que isso fosse
possvel foram necessrios alguns procedimentos.
Primeiramente, devemos exportar o diretrio do usurio cluster atravs do
servio de NFS. Ento, como super-usurio, inserimos a seguinte linha no fim do
arquivo /etc/exports. No terminal digite:
11
/home/cluster/ *(rw, no_root_squash)
#!/bin/sh
echo -ne '\033c'
echo "+=========================================================================+"
echo "| GERALAM.SH |"
echo "+=========================================================================+"
echo "| OBJETIVO: Script para verificar se os hosts do CLUSTER estao ativos... |"
echo "+=========================================================================+"
echo "+=========================================================================+"
echo "| VERSAO: 2.20810 |"
echo "+=========================================================================+"
echo "| Ciencia da Computacao - PUC Minas - Pocos de Caldas |"
echo "| |"
echo "| DISCIPLINA: Processamento Paralelo |"
echo "| PROFESSOR: Dr. Joao Carlos de Moraes Morselli Jr. |"
echo "+=========================================================================+"
echo -e "# IP dos hosts ativos" > /etc/mpich/machines.LINUX
echo -e "# IP dos Hosts ativos" > /etc/lam/lam-bhost.def
echo "| |"
echo "| Verificando bancada do CLUSTER... |"
echo "| |"
NET="192.168.5."
HOST="40"
CONT="0"
while [ ${HOST} -lt 46 ]; do
ATIVO=`/bin/ping -c 1 ${NET}${HOST} | /bin/grep 'transmitted' | awk '{print $4}'`
if [ X"${ATIVO}" = X"1" ]; then
RSH=`rsh ${NET}${HOST} echo -e $SHELL`
if [ X"${RSH}" = X"/bin/bash" ]; then
CONT=$((CONT+1))
IP=${NET}${HOST}
echo "| ${IP} [ X ] ATIVO [ ] INATIVO
|"
echo ${IP} >> /etc/lam/lam-bhost.def
echo ${IP} >> /etc/mpich/machines.LINUX
E insira no final do arquivo as seguinte linha:
Em seguida, foi criado o script de shell abaixo, responsvel por testar a
comunicao com cada n escravo, para que sejam criados os arquivos de
configurao da MPI.
marceloNotaacrescentar o comado sync(rw,sync,no_root_squash)
12
else
IP=${NET}${HOST}
echo "| ${IP} [ ] ATIVO [ X ] INATIVO
|"
fi
else
IP=${NET}${HOST}
echo "| ${IP} [ ] ATIVO [ X ] INATIVO |"
fi
HOST=$((HOST+1))
done
echo "| |"
echo "+=========================================================================+"
echo "| TOTAL: ${CONT} host(s) ativo(s) |"
echo "+=========================================================================+"
echo ""
cp /etc/mpich/machines.LINUX /etc/lam/lam-bhost.def
sudo chmod 555 /home/cluster/scripts/geralam.sh
Definimos a localizao do script em /home/cluster/scripts e seu nome como
geralam.sh, e depois restringimos as permisses para que o usurio cluster possa
apenas executar o script, e no editar. Para isso:
No terminal digite:
Configurao SSH: Apenas Debian Sarge
O SSH um servio que estabelece conexes entre mquinas implementando
os mecanismos de autenticao atravs de chave cifrada utilizando algoritmo de
criptografia.
Para que o n mestre consiga se conectar aos ns escravos, uma senha de
acesso dever ser fornecida. Iremos configurar uma chave pblica no SSH para que
seja possvel a conexo com os ns escravos sem ter que digitar uma senha.
Para que isso seja permitido deve estar no usurio que ir usar o cluster, (no
caso deste trabalho o usurio se chama cluster) e executar os seguintes comandos
no shell :
ssh-keygen -t das (das ou rsa)
Rodar no n
zero e trocar
sempre o
endereo do
escravo.
marceloNotacriar este diretorio com o usuario cluster.
13
shutdown r now
sudo cat /home/cluster/.ssh/id_das.pub
ssh cluster@192.168.5.41 'cat >> /home/cluster/.ssh/authorized_keys '
Logue como usurio cluster e digite o comando a seguir
Dicas:
Colocar o IP das mquinas que ser utilizado exemplo acima
192.168.5.41.
s vezes necessrio liberar o arquivo sudo chmod 777
/home/cluster, /.ssh/id_das.pub ou o /home/cluster
/.ssh/authorized_keys.
s vezes os clientes no possuem o arquivo de chaves pblicas, e
necessrio cria-lo executando o comando ssh-keygen -t das (das ou
rsa) nos clientes
Sendo que o primeiro comando criar dentro do diretrio SSH no n mestre, o
arquivo id_das(ou rsa).pub que a chave pblica do usurio neste n.
O segundo comando executa a transmisso desta chave para o n escravo
fazendo assim que o mesmo, a partir de agora, autorize o n mestre a se conectar
com ele sem que seja utilizada uma senha.
Para se transmitir esta chave para mais ns escravos, basta executar o
segundo comando novamente colocando o IP do n escravo que se desejam fazer a
autorizao.
Para testar se a configurao esta funcionando faa um SSH para o n que
recebeu a chave de autorizao, se no pedir senha o mesmo est funcionando.
E por fim, reiniciamos o n mestre atravs do seguinte comando:
2.3 Configurando os ns escravos
Para que houvesse comunicao no momento da execuo de programas
paralelos, foi necessrio mapear o diretrio do usurio cluster, presente no n
mestre, em todos os ns escravos. Ento, como super-usurio, editamos o arquivo
/etc/fstab e inserimos a seguinte linha no fim do arquivo, no terminal digite:
14
sudo gedit /etc/fstab
192.168.5.40:/home/cluster/ /home/cluster/ nfs exec,dev,suid,rw 1 1
192.168.5.40:/home/cluster /home/cluster nfs
rsize=8192,wsize=8192,timeo=14,intr
portmap: ALL
lockd: ALL
mountd: ALL
rquotad: ALL
portmap: 192.168.5.41
lockd: 192.168.5.41
rquotad: 192.168.5.41
mountd: 192.168.5.41
statd: 192.168.5.41
Insira no final do arquivo a seguinte linha:
Para o Debian Sarge insira essa linha ao invs da linha anterior e siga os
prximos passos at a o comando de montagem:
Depois de feita as modificaes devem ser salvas e deve ser editado o arquivo
/etc/hosts.denny para definir a segurana do compartilhamento inserir as seguintes
linhas no final do mesmo:
Aps adicionar estas informaes, o arquivo deve ser salvo e deve ser editado
o arquivo /etc/hosts.allow para definir o IP ou faixa de IPs que podero "concorrer"
aos compartilhamentos, ou seja, especificar quem ter acesso a cada servio.
Neste caso ser adicionando o direito de concorrer ao compartilhamento
apenas ao n escravo que tem o IP 192.168.5.41, para adicionar direitos de
concorrer ao compartilhamento a mais ns escravos deve adicionar as informaes
da seguinte forma:
marceloNotadeny = negar
marceloNotaverificar se todas as pasta que estiverem neste caminho sero compartilhadas
15
sudo gedit /home/cluster/.rhosts
192.168.5.40
192.168.5.41
192.168.5.42
192.168.5.44
192.168.5.45
shutdown r now
sudo mount -a
portmap: host1, host2, host3, hostX
lockd: host1, host2, host3, hostX
rquotad: host1, host2, host3, hostX
mountd: host1, host2, host3, hostX
statd: host1, host2, host3, hostX
statd: 172.20.1.2
Onde host1, 2, 3 e X correspondem aos endereos IPs dos ns escravos que
se quer dar o direito de concorrer ao compartilhamento da rea.
Aps adicionar as informaes necessrias o arquivo deve ser salvo e est
configurado o servidor NFS.
E por fim, para montar a partio compartilhada, digite (comando de
montagem):
Em seguida autenticamos no sistema com o usurio cluster, criamos o arquivo
/home/cluster/.rhosts, e nele definimos os endereos IP de todos os ns confiveis
para este usurio. Por consequncia o contedo do arquivo ficou idntico ao
/etc/hosts.equiv. No terminal digite:
*OBS: bem provvel que esse arquivo esteja vazio...
E insira no arquivo as seguintes linhas (um em cada linha):
Ento certificamo-nos que o n mestre estava ligado, e reiniciamos o n
escravo:
marceloNotacolocar este arquivo no root tbmnano .rhosts
16
sh /home/cluster/scripts/geralam.sh
gedit /etc/mpich/machines.LINUX
gedit /etc/lam/lam-bhost.def
lamboot -v
sudo gedit /home/cluster/lamhosts
2.4 Iniciando a MPI no n mestre
No n mestre, nos autenticamos no sistema com o usurio cluster e
executamos /scripts/geralam.sh para criar os arquivos de configurao da MPI. Os
arquivos criados contm os endereos IP dos ns ativos do cluster. No terminal
como ROOT digite:
*OBS: Esse procedimento deve ser realizado no TERMINAL COMO ROOT, e
no no terminal normal...
Verifique se os seguintes arquivos foram devidamente criados:
*OBS: Verifique tambm se tais arquivos realmente contenham os endereos
IPs apenas dos ns ativos do cluster...
Aps a criao dos arquivos foi necessrio iniciar efetivamente o ambiente MPI
atravs do seguinte comando. No terminal digite:
*OBS: Este comando consulta os arquivos gerados (citados acima) com os
endereos IP dos ns ativos do cluster...
Caso seja necessrio realizar a manuteno de um dos ns do cluster, esse
dever ficar de fora do mesmo. Para isso, o usurio poder criar um arquivo texto
qualquer com os endereos IPs ativos do cluster e pass-lo como parmetro para o
comando lamboot. Exemplo:
O n referente ao IP = 192.168.5.42 precisar passar por uma manuteno.
Ento devemos retir-lo do cluster. Para isso, vamos criar um arquivo chamado
lamhosts, e passar apenas os endereos IPs dos ns ativos do cluster. No terminal
digite:
marceloNotalogar com usuario cluster no mestreexecutar comando:sh /home/cluster/geralam.sh
17
192.168.5.40
192.168.5.41
192.168.5.43
192.168.5.44
192.168.5.45
lamboot v lamhosts
#include
#include
#include "mpi.h"
main(int argc, char *argv[])
{
int ret, rank, size, i, tag;
MPI_Status status;
char message[12];
ret = MPI_Init(&argc, &argv);
ret = MPI_Comm_rank(MPI_COMM_WORLD, &rank);
ret = MPI_Comm_size(MPI_COMM_WORLD, &size);
tag=100;
E insira no arquivo apenas os endereos ativos do cluster:
E por fim:
Com isso, nota-se que o n referente ao IP = 192.168.5.42 no se encontra
mais presente ou ativo em nosso cluster.
Uma vez realizada a manuteno, este n poder ser ativado novamente. Para
isso, execute o script geralam.sh novamente, e em seguida o comando lamboot v
(tais passos j foram citados acima).
2.5 Testando a MPI
Para atestar que o ambiente MPI est funcionando corretamente, o seguinte
cdigo-fonte foi utilizado, que nada mais do que um Hello-World em paralelo,
onde cada n escravo ativo enviar para o n mestre uma mensagem indicando que
este se encontra ativo:
18
if (rank == 0)
{
strcpy(message,"Ola, Mundo!");
for (i=0; i
19
lamclean -v
mpitask [ -h ]
mpimsg
inexistentes, programas que no encerravam, dentre muitos outros
problemas. Caso isso ocorra, deve-se digitar no terminal do n mestre o seguinte
comando:
No terminal digite:
*OBS: Este comando responsvel por matar todos os programas MPI e
apagar todas as mensagens pendentes...
2.6.2 Mpitask
Um outro comando interessante o mpitask. Com ele possvel saber o
estado corrente dos programas MPI sendo executados. Esse comando anlogo ao
comando UNIX os. No terminal digite:
*OBS: A opo h na linha de comando fornece um breve resumo desse
comando...
2.6.3 Mpimsg
Similar ao comando mpitask, esse comando fornece informaes sobre
programas MPI que esto sendo executados. O mpimsg mostra todas as
mensagens pendentes no ambiente MPI corrente. Com esse comando, voc pode
ver as mensagens que nunca foram recebidas, mesmo depois que seu programa
MPI tenha sido completado. No terminal digite:
*OBS: Esse comando no til se voc estiver usando o modo "client-to-client"
que o default. Voc deve especificar a opo -lamd no seu comando mpirun para
que o comando mpimsg funcione corretamente.
2.6.4 Lamnodes
20
lamnodes
Para listar todos os ns ativos do cluster (incluindo o n mestre),
execute o comando lamnodes. No terminal digite:
Ser exibido no prprio terminal quais ns esto ativos, e quantos
processadores disponveis cada n possui.
n0 192.168.5.40:1:origin.this_node
n1 192.168.5.41:1:
n2 192.168.5.42:1:
n3 192.168.5.43:1:
n4 192.168.5.44:1:
n5 192.168.5.45:1:
*OBS: Aps executar o comando lamnodes, os seguintes ns foram listados.
Isso indica que cada um desses ns est ativo no cluster, e que cada um possui
apenas 1 processador disponvel (:1). Inclusive o n mestre aparece nessa lista...
21
Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "XkbRules" "xorg" Option "XkbModel" "abnt2" Option "XkbLayout" "br" Option "XkbVariant" "abnt2" EndSection Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" EndSection Section "Device" Identifier "Configured Video Device" Driver "vesa" EndSection Section "Monitor" Identifier "Configured Monitor" EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" EndSection
3 PROBLEMAS DEBIAN 6 (Squeeze)
Na reescrita deste documento, a verso 6 do Debian (Squeeze) tem uma
incompatibilidade com as placas de vdeo ATI, onde os atuais computadores que
compem o cluster possuem placas de vdeo deste fabricante.
Aps a formatao e instalao do Debian 6, o computador no conseguir
iniciar no modo grfico, logo tem-se que utilizar o modo de recuperao do grub e
logar como usurio root.
Uma vez logado em modo texto com o usurio root, deve-se criar o arquivo
/etc/X11/xorg.conf, essa verso do Debian no possui o mesmo e se criado ele
seguir as configuraes contidas no mesmo.
O arquivo dever ficar com as seguintes linhas:
Aps a reinicializao do sistema, o mesmo j dever ser capaz de entrar no
modo grfico
22
cd /home/cluster/scripts
sh geralam.sh
mpicc o nomeDoExecutavel nomeDoPrograma
mpirun N nomeDoExecutvel
Por exemplo:
mpicc o hello helloworld.c
mpirun N hello
4- VERIFICAO O CLUSTER GUIA RPIDO
Para que os gerentes do cluster faam uma verificao diria, onde verificamos
se o cluster est funcionando perfeitamente, basta apenas seguir os seguintes
passos.
I. Se o cluster estiver desligado, lembre-se que o n Mestre o 1 que deve
ser ligado, depois seus ns escravos;
II. Faa login como root.
III. Rode o geralam.sh. Ele verificar se todos os ns esto ativos. Para isso
faa
Todos os ns devero aparecer [Ativo]. Caso algum n estiver [Offline]
verificar se o mesmo est conectado rede ou se ele foi ligado 1 que o n mestre
ou quaisquer outros motivos.
IV. Dar logout e logar como cluster.
V. Execute o comando lamboot v.
VI. Compilar o hello world. Para isso faa:
Caso aparecer Ol Mundo vindo de todos os ns, est correto!
No Esquea!
Para remover, gerenciar: logar como usurio root.
Para compilar, executar: logar com usurio cluster.
23
ssh nomeDoUsuario@IPdoNoMestre
Por Exemplo:
ssh root@192.168.5.40 ou
ssh cluster@192.168.5.40
possvel conectar-se com o cluster a partir de qualquer
computador, desde que esteja conectado rede da universidade (PUC Minas
campus Poos de Caldas). Para isso, abra o terminal de digite:
Normalmente aparece um aviso onde digitamos yes e logo aps solicitado
a senha do usurio.
No esquecendo que:
Para fazer login como super usurio, usar:
usurio: root, senha: pproot..
Para fazer login como usurio comum, usar:
usurio: cluster, senha: ppcluster.
24
rm rf nomeDoArquivoQueDesejaExcluir
Por exemplo:
rm rf exemplo.c
rm rf al550000000
scp arquivoAcopiar userDestino@ipDestino:~/
Por Exemplo:
scp helloworld.c cluster@192.168.5.40:~/
5 CLUSTER CONFIGURADO E INSTALADO
Caso o cluster j estiver configurado e possuir cdigos de alunos anteriores,
tem que deixa-lo pronto para outros alunos usarem. Nesse caso, apague todos os
arquivos .c e pastas com matrculas de alunos, caso existir (mantenha apenas o
cdigo de backup ou outros necessrios, para isso, consulte o professor
responsvel). Nesse caso aps logar como root, faa:
No caso do cdigo do Hello World, verificar se o mesmo do arquivo original
mostrado anteriormente. Do contrrio, tem que se criar um Hello World, para isso
entre como root e faa os seguintes passos:
Onde o usurio vai ser o cluster, o IP Destino o do N Mestre e :~/ significa que vai
ser colocado na home desse usurio, ou seja, onde est os outros arquivos .c.
25
6 CONSIDERAES FINAIS
Em alguns artigos disponveis na internet, recomenda-se que a comunicao
entre as mquinas do cluster seja feita atravs de SSH, porm a comunicao entre
os ns neste documento foi feita via RSH, devido a problemas com permisses entre
os arquivos que contm as chaves de criptografia (authorized-keys) de cada usurio
nos ns. A nica vantagem de utilizar comunicao SSH que as informaes
trafegadas na rede so criptografadas, e como se trata de uma rede local, neste
caso no h necessidade de tal procedimento de segurana.
Em caso de um cluster com um grande nmero de mquinas o cabeamento da
rede no deve ser convencional e sim estruturado, de maneira que a comunicao
entre cada n escravo com o n mestre seja rpida e leve praticamente o mesmo
intervalo de tempo.
26
7 REFERNCIAS BIBLIOGRFICAS
ALVIM, ADRIANA C. F. Executando programas sob LAM / MPI. Disponvel em
. Acesso em Outubro / 2010.
ALVES, MARCOS J. P. Computao Baseada em Clusters. Disponvel em
.
Acesso em Maio / 2010.
LAM / MPI Development Team. LAM / MPI Parallel Computing. Disponvel em
. Acesso em Maro / 2010.
SILVA, BRIVALDO A. J. Instalando o LAM-MPI no Debian. Disponvel em
. Acesso em Maio
/ 2010.
SILVA, GLEYDSON M. Guia Foca Linux. Disponvel em
. Acesso em Maio / 2010.