Nesta sexta-feira (29/06), ocorre a defesa do projeto do Trabalho de Conclusão de Curso de dois integrantes do GEMPP. Os alunos Arthur (Orientado pela Prof. Márcia Cera e Co-orientação de Fábio Rossi) e Henrique (Orientado pela Prof. Márcia Cera), irão defender seus projetos. Ambos estão trabalhando com programação paralela.
O aluno Arthur está trabalhando com programação paralela para memória distribuída (MPI-1 e MPI-2) enquanto que o aluno Henrique está trabalhando com programação paralela em memória compartilhada através da API OpenMP.
Fica a dica para o pessoal que participa do GEMPP, e a todos que se interessam pela área. No link abaixo podem ser encontradas maiores informações.
https://docs.google.com/spreadsheet/pub?key=0AsL79aha84XEdDFNN2N2OHphQk5QMHF1RXBLNDNTNFE&single=true&gid=7&output=html
A defesa começará as 17:30 hs na sala 204 com o Arthur, e logo em seguida é a apresentação do Henrique.
Todos estão convidados a participar da defesa!
26 de junho de 2012
16 de junho de 2012
Como Montar seu Cluster Beowulf em Casa
Introdução
Aqui vai um rápido tutorial para auxiliar na montagem de um cluster caseiro. Este tutorial foi montado após a instalação do Cluster Beowulf do GEMPP.
Um cluster é definido como um agregado, conjunto de máquinas para computação paralela distribuída. Cluster é um termo bastante utilizado para definir a utilização de dois
ou mais computadores independentes, interligados via rede, que trabalham
em conjunto trocando informações entre si em torno de uma única tarefa.
Os cluster são divididos em:
- Alta Disponibilidade: Mantém um serviço de forma estável pelo maior tempo possível.
- Alta Performance: O cluster é designado para prover grande poder computacional.
Cluster Beowulf são clusters de desempenho escaláveis, baseados numa
infraestrutura de hardware comum, rede privada e software 'open source' (Linux). Para Clusters
Beowulf, existe um servidor responsável ("frontend") por controlar todo o cluster, principalmente quanto à distribuição de tarefas e processamento.
Equipamentos necessários
Para montagem do cluster, você precisará ter em mãos:
- 2 ou mais computadores.
- CD/DVD de distribuição Linux.
- Switch.
- Computadores interligados através do switch.
- Cabo UTP conectorizado. (De preferência homologado).
Instalação
Demonstraremos a instalação do cluster, utilizando três computadores (1 frontend, 2 slaves). A instalação do cluster pode ser dividida em duas etapas: a instalação e configuração do servidor; e a instalação e configuração dos nodos "slaves". Primeiro será descrita a configuração necessária para ambos, e depois as configurações separadas.
- Instalação do Sistema Operacional (em nosso caso, Debian Squeeze, 6.0.5). A instalação deve contemplar somente o sistema básico. (SSH, Servidor Web, ambiente gráfico...) devem ser instalados em separado ao finalizar a instalação.
- Após a instalação do SO, se faz necessário instalar os pacotes que serão essenciais:
# apt-get install openssh-server && apt-get install ssh
GCC e G++: Utilizado para compilação dos códigos fonte:
# apt-get install gcc && apt-get install g++
NFS: Network File System, utilizado para configuração do sistema de arquivos:
# apt-get install nfs-kernel-server
Configuração da Rede:
# vim /etc/network/interfaces- No servidor: auto eth0
iface eth0 inet static
address 172.0.0.2
netmask 255.255.255.0
network 172.0.0.0
broadcast 172.0.0.255
gateway 172.0.0.1
- no01: auto eth0
iface eth0 inet static
address 172.0.0.3
netmask 255.255.255.0
network 172.0.0.0
broadcast 172.0.0.255
gateway 172.0.0.1
- no02: auto eth0
iface eth0 inet static
address 172.0.0.4
netmask 255.255.255.0
network 172.0.0.0
broadcast 172.0.0.255
gateway 172.0.0.1
Configuração do Hostname:
- Editar o arquivo /etc/hostname inserindo o nome do "nó" caso não possua.
Configuração Hosts:
- Editar o arquivo /etc/hosts inserindo o nome e ip dos nodos do cluster, por exemplo:
frontend 172.0.0.2no01 172.0.0.3no02 172.0.0.4 - Reiniciar o Serviço: /etc/init.d/networking restart
Configuração NFS:
- No Servidor: Editar o arquivo /etc/exports inserindo as seguintes linhas: /usr *(rw,sync,no_root_squash)/lib *(rw,sync,no_root_squash)
/home *(rw,sync,no_root_squash)
- No Cliente:
- Montar o NFS:
- # mount frontend:/usr /usr -t nfs
- # mount frontend:/lib /lib -t nfs
- # mount frontend:/home /home -t nfs
- Editar o arquivo /etc/fstab inserindo as seguintes linhas:
frontend:/usr /usr nfs defaults 0 0
frontend:/lib /lib nfs defaults 0 0
frontend:/home /home nfs defaults 0 0
SSH sem senha:
- Repetir o procedimento abaixo para todos os nós.
- Gerar chave pública: # ssh-keygen -t rsa
- Ao ser perguntado o arquivo onde será salvo, definir:
- /home/"usuario"/.ssh/id_rsa_"nomedonó"
-
Copiar todas as chaves geradas de forma concatenada para o authorized_keys.
- cat /home/"usuario"/.ssh/id_rsa_"nomedonó" >> /home/"usuario"/.ss/authorized_keys
Instalação MPI no Servidor
- O MPI deve ser instalado somente no Servidor.
- # apt-get install libopenmpi-dev
- # apt-get install mpi-default-bin
- O MPI também pode ser instalado manualmente. Para isto, basta baixar o tar.gz do site do openmpi e instalar.
Sites e documentos interessantes e que foram utilizados no desenvolvimento deste tutorial:
Referências
NFS -> http://nfs.sourceforge.net/nfs-howto/OpenMPI -> http://www.open-mpi.org/
Debian -> http://www.debian.org/
Cluster Beowulf -> http://www.infowester.com/cluster.php
A partir de então, é só partir para brincadeira =)
Dúvidas podem ser tiradas através do e-mail af.lorenzon@gmail.com.
Assinar:
Postagens (Atom)