INSTALAÇÃO DE UM ÃO DE UM CLUSTER PARA COM PUTA

Transcrição

INSTALAÇÃO DE UM ÃO DE UM CLUSTER PARA COM PUTA
Kienetz, E. B.1; Canal, A. P. 1
INTRODUÇÃO – Um cluster ou aglomerado é formado por um conjunto de computadores, construído a partir de máquinas convencionais (não especializadas e
portanto mais baratas) interconectadas, comunicando-se para trabalhar como se fossem uma única máquina de grande porte. Há diversos tipos de cluster, um
deles é o da classe Beowulf. Beowulf é um projeto de aglomerados de computadores para computação paralela, usando computadores pessoais, criado por Donald
Becker, da NASA, e hoje a arquitetura deste projeto é usada em todo mundo, principalmente para programação científica [1].
Para executar tarefas paralelamente, num cluster, utiliza-se por exemplo de uma biblioteca para programação paralela tal como a MPICH2, desenvolvida pela
equipe de cientistas do Laboratório Nacional Argonne, nos Estados Unidos.
É este tipo de configuração de cluster, focado em alto desempenho, que o Laboratório de Programação Paralela (LPP) da UNIFRA utiliza e cuja instalação e
configuração será descrita.
INFRA-ESTRUTURA FÍSICA
• 3 computadores
• processador Pentium 4 de 2.20GHz
• disco rígido de 40GB
• placa de rede 100Mbits
• 256MB de memória RAM (exceto o computador mestre com 512MB)
• Interconectados via switch gigabit
SISTEMA OPERACIONAL – O sistema operacional utilizado como base para a
instalação e configuração do cluster e seus serviços foi o Linux.
“Linux é um sistema operacional tipo Unix que foi desenvolvido por Linus Torvalds a
partir do código fonte do sistema Minix. O Linux é um dos mais proeminentes
exemplos de desenvolvimento com código aberto e de software livre. O seu código
fonte está disponível sob licença GPL para qualquer pessoa utilizar, estudar,
modificar e distribuir livremente.
GNU/Linux refere-se ao sistema operacional Linux e ao conjunto de programas GNU
desenvolvidos pela Free Software Foundation - FSF. Como os casos de sistemas de
núcleo (kernel) Linux sem os programas do sistema GNU são raros, freqüentemente
GNU/Linux e Linux são usados como sinônimos, embora Linux possa fazer
referência apenas ao seu núcleo.” [2]
A distribuição Slackware Linux versão 12.0 foi instalada, através das séries A, AP,
D, L, N e TCL, visto que as demais tratam-se de interfaces gráficas e outros
recursos não utilizados.
BIBLIOTECA DE PROGRAMAÇÃO PARALELA – A biblioteca MPICH2 [3]
é a implementação da especificação padrão MPI-2 (Message Passing
Interface). Para que se possa utilizar a MPICH2 para programação paralela,
todas as máquinas envolvidas devem de alguma maneira ter acesso ao
mesmo executável e dados. Isto se obtém através do uso de um sistema de
arquivos de rede. Além disto, a MPICH2 exige também acesso irrestrito à
execução de comandos nas estações remotas (escravas), que neste caso
foi obtido através do uso do RSH.
Para instalação da MPICH2 basta descompactar o código-fonte, acessar a
pasta criada e executar:
./configure
make
make install
E criar o arquivo /etc/mpd.conf,
secretword=palavrasecreta
com
permissão
600,
com:
Para habilitar acesso ao MPD pelos usuários (antes de criá-los), deve-se
criar o arquivo, com permissão 600, /etc/skel/.mpd.conf com:
MPD_USE_ROOT_MPD=1
secretword=palavrasecreta
SISTEMA DE ARQUIVOS DE REDE – O NFS (Network File System) [4] foi desenvolvido para permitir que as máquinas possam montar uma partição do disco de
uma máquina remota para acesso como se fosse um disco local. Assim é permitido acesso rápido e compartilhamento fácil de arquivos em uma rede (particularmente
Linux). Duas máquinas do cluster da UNIFRA montam a partição de dados (/home) da máquina mestre, de forma que todas tenham acesso aos mesmos arquivos
(no caso os programas a serem executados paralelamente).
Para que o servidor (mestre), exporte (compartilhe) a pasta /home, é editado o arquivo /etc/exports e adicionadas as seguintes linhas:
/home
192.168.0.2(rw,sync,no_subtree_check)
/home
192.168.0.3(rw,sync,no_subtree_check)
Os endereços IP se referem às máquinas que terão acesso à pasta compartilhada.
Nos clientes (escravos) basta substituir a linha de montagem da partição /home no /etc/fstab com:
192.168.0.1:/home /home
nfs
defaults
0
0
A execução dos serviços necessários para execução do servidor e clientes NFS seguiu as orientações do NFS HOW-TO [3].
ACESSO REMOTO – O RSH (Remote Secure Shell) permite o acesso e execução remota de
comandos de forma segura. Para liberar o acesso do servidor (que dispara os processos) aos
clientes, adiciona-se no arquivo /etc/hosts.equiv de todas as máquinas o nome de cada
uma, para indicar que estas são “equivalentes”. Por exemplo:
localhost
mestre
escravo1
escravo2
Estes nomes devem estar no arquivo /etc/hosts de cada máquina, sendo possível executar
ping com sucesso para cada uma.
Adicionalmente deve-se ter as seguintes linhas no /etc/inetd.conf das máquinas escravo,
para permitir acesso e execução dos comandos remotos:
shell
stream tcp
nowait root
/usr/sbin/tcpd in.rshd -h
login
stream tcp
nowait root
/usr/sbin/tcpd in.rlogind -h
exec
stream tcp
nowait root
/usr/sbin/tcpd in.rexecd -h
AUTENTICAÇÃO CENTRALIZADA – O serviço NIS (Network
Information Service) [5] foi configurado adicionalmente para
facilitar a administração dos usuários do cluster.
Nos clientes foi adicionada no /etc/yp.conf a linha:
ypserver mestre
E as seguintes no /etc/nsswitch.conf:
passwd:
compat
group:
compat
passwd_compat: nis
group_compat: nis
shadow_compat: nis
No servidor basta seguir as instruções do NIS HOWTO.
CONSIDERAÇÕES FINAIS – Com a instalação de versões atuais dos softwares, obtêm-se maior estabilidade, eficiência e acesso a recursos antes não disponíveis.
Destacam-se as novas funcionalidades da biblioteca MPICH2, tais como MPI-IO, criação dinâmica de processos, multithreading, mecanismos de comunicação e
gerenciadores de processos alternativos.
REFERÊNCIAS
[1] Dantas, M. Computação Distribuída de Alto Desempenho: redes, clusters e grids computacionais. Rio de Janeiro: Axcel Books, 2005.
[2] Wikipedia. Linux. Disponibilidade em: http://pt.wikipedia.org/wiki/Linux. Acesso em 27 set. 2007.
[3] Argonne National Laboratory. MPICH2. Disponibilidade em: http://www-unix.mcs.anl.gov/mpi/mpich2/ . Acesso em 28 set. 2007.
[4] Smith, C. Linux NFS-HOWTO. Disponibilidade em: http://nfs.sourceforge.net/nfs-howto/ . Acesso em 28 set. 2007.
[5] Kukuk, T. The Linux NIS(YP)/NYS/NIS+ HOWTO. Disponibilidade em: http://www.linux-nis.org/nis-howto/
1 Curso de Ciência da Computação do Centro Universitário Franciscano

Documentos relacionados