28
III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Implementação de clusters Implementação de clusters de alto desempenho com de alto desempenho com Debian GNU/Linux Debian GNU/Linux Marcelo Gomes de Santana Marcelo Gomes de Santana msantana em cnen.gov.br msantana em cnen.gov.br http://marcelosantana.wordpress.com http://marcelosantana.wordpress.com

Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Implementação de clusters Implementação de clusters de alto desempenho com de alto desempenho com

Debian GNU/LinuxDebian GNU/Linux

Marcelo Gomes de Santana Marcelo Gomes de Santana msantana em cnen.gov.brmsantana em cnen.gov.brhttp://marcelosantana.wordpress.comhttp://marcelosantana.wordpress.com

Page 2: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

O que é um cluster?

Sistema com mais de um computador e processamento distribuído

Page 3: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Quando utilizar?

Aplicações que exijam:● Alto desempenho (computação paralela)● Alta disponibilidade● Balanceamento de Carga

Aplicações que não servem:● Processamento de dados em tempo real (ex: jogos)

Page 4: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Alto desempenho● Center of Excellence in Space Data and Information Sciences (CESDIS) / USRA - Greenbelt Maryland● Earth and space sciences (ESS) project – HPCC● Cluster Beowulf (1994), Thomas Sterling e Don Becker 16 Pcs 486 DX-100● Grandes quantidades de dados tratados (ex: filmes, pesquisas em universidade)

Page 5: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Alta disponibilidade

• Segundo Jim Gray e Daniel Siewiorek [1]:

Sistema % ativo ausência anual

não gerenciado 90% 36.5 diasgerenciado 99% 3.65 diasbem gerenciado 99.9% 8.76 horastolerante a falhas 99.99% 52.56 minutosalta disponibilidade 99.999% 5.256 minutosaltíssima disponibilidade 99.9999% 31.536 segundos [2]extrema disponibilidade 99.99999% 3.1536 segundos [2]

[1] http://research.microsoft.com/~gray/papers/ieee_HA_Swieorick.doc [2] Dificílimo de obter.

Page 6: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Alta disponibilidade● Para-virtualização com VMs (XEN)● Distributed Replicated Block Device (DRBD)● Gerenciamento de recursos com Heartbeat

Page 7: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Balanceamento de carga● Processamento distribuído ● Migração de processos de acordo com recursos● Openmosix (2002), extensão do kernel Linux 2.4 (2.6 - alfa)● Openmosix Filesystem (oMFS)● Escalabilidade

Page 8: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Montando um Beowulf

Page 9: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Montando um Beowulf

● Distribuição Debian GNU/Linux● Port AMD64 (AMD 64bit e Intel EM64T)● Possibilidades com máquinas ociosas● Interoperabilidade com NT● Vantagens sem o HD● Ferramenta disklessroot@cluster# aptitude install disklessroot@cluster# man diskless-createbasetgzroot@cluster# man diskless-newimageroot@cluster# man diskless-newhost

Page 10: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Montando um Beowulf● Fully Automatic Installation (FAI)root@cluster# aptitude install fai-quickstartroot@cluster# man fai-setuproot@cluster# man make-fai-nfsroot

● Escolha por Etheboot ou PXE● Servidor de DHCP e TFTProot@cluster# aptitude install dhcp3-server sys\linux tftpd-hparoot@cluster# man dhcp3 syslinux tftpdroot@cluster# cat /var/lib/tftpboot/pxelinux.cfg\/defaultlabel linuxkernel vmlinuzappend vga=normal initrd=initrd.gz root=/dev/ram0 nfsroot=192.168.10.10:/estacoes/

Page 11: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Montando um Beowulf● Ferramenta Debootstrap (chroot)root@cluster# aptitude install debootstraproot@cluster# man debootstraproot@cluster# mkdir /estacoes; debootstrap –arch \ amd64 etch /estacoes http://ftp.debian.org/debian/root@cluster# man chroot; chroot /estacoesroot@cluster# nano /etc/initramfs-tools/initram\fs.confBOOT=local para BOOT=nfs

● Network Information Service (NIS) / LDAP!!root@cluster# aptitude install nis (Deb NIS HOWTO)

● Network File System (NFS)root@cluster# aptitude install nfs-kernel-serverroot@cluster# man exportfsroot@cluster# cat /etc/exports

/estacoes 192.168.10.0/24 (rw,sync)root@cluster# aptitude install nfs-client (chroot)

Page 12: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Montando um Beowulf● Servidor Open-SSH

- sem senha ou via ssh-agent

● Portable Batch System (OpenPBS/Torque)# wget ftp://ftp.sara.nl/pub/outgoing/torque_\2_deb.tar.gz# wget em http://www.clusterresources.com/down\loads/torque/; tar xfvz ... torque_2_deb.tar.gz# debian/rules binary# dpkg -i torque.xx.deb# man pbs_mom pbs_server pbs_sched

- Documentação no site do torque

● Controle de prioridade de execução e agendamento (Maui)

Page 13: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Montando um Beowulf● Passagem de mensagem

- Parallel Virtual Machine (PVM – 1989)- Message Passing Interface (MPI – 1994)

● Tendência de convergência PVMPI

● Utilizando PVMroot@cluster# aptitude install pvm xpvmroot@cluster# man pvmroot@cluster# cat hosfile.pvm estacao01 estacao02 estacao03

Page 14: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Montando um Beowulf

Page 15: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Montando um Beowulf● Executando aplicação PVMroot@cluster# pvm hostfile.pvmroot@cluster# aimk prog_fonteroot@cluster# ./prog_bin ouroot@cluster# pvm pvm> spawn -> prog_bin pvm> halt

● Utilizando MPI (vários forks)Exemplo com LAM/MPIroot@cluster# aptitude install lam-runtime xmpiroot@cluster# man lamd lamboot mpicc mpirun \ mpitaskroot@cluster# cat /etc/lam/lam-bhost.def

estacao01 estacao02 estacao03

Page 16: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Montando um Beowulf

Page 17: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Montando um Beowulf● Executando aplicação MPIroot@cluster# lamboot -vroot@cluster# mpicc -o prog_bin prog_fonteroot@cluster# mpirun -v -np [n] prog_bin root@cluster# lamclean -vroot@cluster# lamhalt -v

● Ferramentas de gerenciamentoroot@cluster# aptitude install ganglia-monitor \ gmetad clusterssh update-clusterroot@cluster# man gmon gmetad clusterssh update-\clusterroot@cluster# chroot /estacoesroot@cluster# aptitude install gmetad ...

Page 18: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Montando um Beowulf

Page 19: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Bootable cluster CD

Page 20: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Aplicações em Nuclear

8 máquinas HP Proliant DL3608 máquinas HP Proliant DL360

Intel® Xeon® Processor 5400Intel® Xeon® Processor 5400

Page 21: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Aplicações em Nuclear

Simulações diversas● Monte Carlo N-Particle 5 (MCNP)● Sabrina● Geant4 toolkit

Page 22: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

● Interação de Raios Cósmicos com equipamentos de satélites artificiais(Geant4).

Aplicações em Nuclear

Page 23: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

● Interação de partículas de origem extraterrestre com núcleos da atmosfera. (Geant4)

Aplicações em Nuclear

Page 24: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

● Projeto de detetores de radiação (MCNP/Sabrina).

Aplicações em Nuclear

Page 25: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

● Projeto de reatores nucleares (MCNP/Sabrina).

Aplicações em Nuclear

Page 26: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Ranking top500

Page 27: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Links úteis● http://cnen.gov.br● http://guialivre.governoeletronico.gov.br/guiacluster/● http://www.beowulf.org/● http://www-users.med.cornell.edu/~dchristi/cardiowulf/beowulf_basics.html● http://www.eriberto.pro.br/palestras/fcsl2006_hlbr_ha/● http://openmosix.sourceforge.net/● http://www.debian.org● http://www.debian.org/releases/stable/installmanual● http://debianclusters.cs.uni.edu/● http://www.informatik.uni-koeln.de/fai/● http://wiki.debian.org● http://www.debian-administration.org/● http://www.debianbrasil.org● http://www.clusterresources.com/pages/resources/documentation.php● http://www.etherboot.org/● http://www.kegel.com/linux/pxe.html● http://www.csm.ornl.gov/pvm/● http://www.mpi-forum.org/● http://www-unix.mcs.anl.gov/mpi/● http://www.fisiocomp.ufjf.br/seminarios/IntroducaoMPI.pdf● http://www.cenapad.unicamp.br/servicos/treinamentos/mpi.shtml● http://bccd.cs.uni.edu/● http://mcnp-green.lanl.gov/index.html● http://www.whiterockscience.com/sabrina/sabrina.html● http://cern.ch/geant4/● http://www.top500.org/project/linpack● http://www.top500.org/lists/2008/11

Page 28: Implementação de clusters de alto desempenho com Debian … · 2009. 6. 21. · III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009 Montando um Beowulf

III Encontro de Software Livre da Paraíba – João Pessoa / PB – Junho de 2009

Marcelo Gomes de Santana Marcelo Gomes de Santana msantana em cnen.gov.brmsantana em cnen.gov.br

Perguntas ???Perguntas ???Muito Obrigado !Muito Obrigado !!!!!