Cluster do LICC
O LICC-IM/UFRGS conta também com um "cluster" de quatro processadores Pentium IV 2GHz com 256MBytes de memória e 20GBytes em disco cada, interligados através de um "switch" a 100Mbps e dotado de compiladores de alto desempenho HPF, Fortran90/95 e C, para o desenvolvimento de pesquisas na área de computação paralela, nas áreas de álgebra linear computacional e dinâmica de fluidos computacional.
O cluster é composto por 4 máquinas que possuem o mesmo hardware: tunnan, lansen, draken, viggen (alguns softwares estão instalados apenas em alguma das máquinas, p.ex., o programa jumpshot está instalado na viggen.) Instruções para utilizar o cluster em paralelo
- Requisitar uma conta de usuário nas 4 máquinas: tunnan, lansen, draken, viggen.
- Conectar-se a uma máquina através de uma das 3 alternativas:
- localmente: utilize uma das 4 máquinas diretamente fornecendo o usuário e senha.
- em uma das máquinas do departamento de matemática: utilize o SSH para conectar-se a uma das 4 máquinas.
- fora do departamento de matemática: utilize o SSH para conectar-se a euler (ou outra máquina do DMPA que permita acesso externo). Depois, utilize o SSH para conectar-se a uma das máquinas do cluster (note que o usuário e senha da euler pode ser diferente).
Índice
Utilizando o SSH
Conectando-se remotamente a uma máquina: login
- Em Linux: utilize um cliente SSH (p.ex. openssh); exemplo de uso:
ssh usuario@euler.mat.ufrgs.br
- Em Windows: utilize um cliente PUTTY; (256Kb ) (mostre-me)
Transferência de arquivos
- Em Linux: SCP, um serviço embutido no mesmo cliente openssh; Ex. uso:
scp arquivo.txt usuario@euler.mat.ufrgs.br:~
scp usuario@euler.mat.ufrgs.br:~/arquivo.txt
scp -r usuario@euler.mat.ufrgs.br:~/diretorio .
- Em Windows, tecnologia SFTP, via cliente PSFTP da distribuição PUTTY; (412Kb ) (mostre-me)
- Em Windows, tecnologia SFTP, via cliente WINSCP da distribuição FREEWARE WinSCP; (1.48Mb ) (mostre-me)
- Em sistemas com Java instaldo (JDK), tecnologia SFTP combinada com Java, via cliente MindTerm (bin-1.2Mb, doc-1.6Mb)
Configurações
- Mude para o seu diretório home
[usuario@viggen] cd
- Crie um arquivo .mpd.conf
[usuario@viggen] vi .mpd.conf
informando uma palavra chave para o MPD
MPD_SECRETWORD=senhaparampi
- Mude o acesso para o arquivo
[usuario@viggen] chmod 600 mpd.conf
- Crie um arquivo .mpd.hosts
[usuario@viggen] vi .mpd.hosts
informando o nome das máquinas que formam o cluster
tunnan.mat.ufrgs.br draken.mat.ufrgs.br viggen.mat.ufrgs.br lansen.mat.ufrgs.br
- Crie um arquivo .rhosts
[usuario@viggen] vi .rhosts
com o nome das máquinas que formam o cluster e o seu nome de usuario informando que esse usuário pode ter acesso a sua conta através de rsh
tunnan.mat.ufrgs.br usuario draken.mat.ufrgs.br usuario viggen.mat.ufrgs.br usuario lansen.mat.ufrgs.br usuario
Inicializando o cluster
- Antes de rodar um programa em paralelo é necessário conectar as máquinas em paralelo. Com as máquinas ligadas (apenas uma vez a cada sessão), digite
[usuario@viggen]$ mpdboot -n 4 -f ~/.mpd.hosts --rsh=rsh
- Para verificar que tudo está funcionando corretamente, digite
[usuario@viggen]$ mpdtrace
A resposta desse comando deve ser algo como a lista das 4 máquinas
tunnan viggen draken lansen
Compilando e rodando um programa em paralelo
- Crie um programa inicial, digitando
[usuario@viggen]$ vi hellompi.f90
com o seguinte código:
program hellompi implicit none include "mpif.h" integer :: np, myid, ier call MPI_Init( ier ) call MPI_Comm_size( MPI_COMM_WORLD, np, ier) call MPI_Comm_rank( MPI_COMM_WORLD, myid, ier)
print *,"Sou o processo ", myid," de um total de ", np call MPI_Finalize( ier ) end program
- Para compilar o programa, digite
[usuario@viggen]$ mpif90 hellompi.f90 -o hellompi
- Para rodar o programa, digite
[usuario@viggen]$ mpiexec -n 4 ./hellompi &
Utilizando o MPE
- Para compilar o programa, digite
[usuario@viggen]$ mpif90 hellompi.f90 -o hellompi -mpe=mpilog
- Para rodar o programa, digite
[usuario@viggen]$ mpiexec -n 4 ./hellompi &
- Depois de rodar o programa, um arquivo Unknows.clog2 foi criado. Para visualizar a iteracao entre os computadores, digite
[usuario@viggen]$ jumpshot Unknown.clog2