Clusters Beowulf

37
CLUSTERS BEOWULF Samuel Rodríguez Cid Tomás Guerra Cámara

description

Introducción BeowulfConfiguración básica

Transcript of Clusters Beowulf

Page 1: Clusters Beowulf

CLUSTERS BEOWULFSamuel Rodríguez Cid

Tomás Guerra Cámara

Page 2: Clusters Beowulf

Indice

1. Introducción

2. Cluster Beowulf

3. Beneficios

4. Clasificación

5. Hardware y software

6. Configuración

7. Ejemplos

8. Conclusión

9. Referencias

Page 3: Clusters Beowulf

1.- Introducción

• Surgimiento plataformas de computación y procesamiento de bajo coste.

• Presentan diversas capacidades para el cómputo paralelo con un relativo alto rendimiento.

• Cluster: Término que se aplica a conjunto de ordenadores construidos con componentes comunes y se comportan como único ordenador.

Page 4: Clusters Beowulf

2.- Cluster Beowulf

• Datos:

▫ Año 1994 por Donald Becker y Thomas Sterling

▫ 16 procesadores conectados en red.

▫ Usan librerías como MPI

• Estaban paralelizados, es decir, usaban librerías como MPI.

• Fue un gran éxito.

• Beowulf es un concepto, no hay componentes exclusivos.

Page 5: Clusters Beowulf

2.- Cluster Beowulf

• Múltiples definiciones.

• Unos dicen que solo los que son como el construido la primera vez, otros dicen que llega con que ejecute código paralelo.

• “Beowulf es una arquitectura conformada por múltiples computadores que puede usarse para computación paralela”.

Page 6: Clusters Beowulf

2.- Cluster Beowulf

• Suele estar formado por:

• Nodos “tontos”, todo el control lo lleva el servidor

▫ Nodo Servidor (maestro)

▫ Nodo/s Clientes (esclavos)

Máximo 1024

• Nodos “tontos”, todo el control lo lleva el servidor

• Escalabilidad.

Page 7: Clusters Beowulf

2.- Cluster Beowulf

• Usos:

▫ Simulaciones.

▫ Biotecnología.

▫ Mercado de valores.

▫ Servidores Internet.

▫ Firewall.

▫ …

Page 8: Clusters Beowulf

3.- Beneficios

• Construir cluster aporta diferentes ventajas:

▫ Incremento velocidad procesamiento.

▫ Incremento número transiciones.

▫ Incremento confiabilidad y robustez.

Page 9: Clusters Beowulf

4.- Clasificación

• Hay una clasificación por clases:

▫ Clase I:

Sistemas cumplen certificación “Computer Shopper”

Sus elementos son de uso común.

Fácil adquisición.

Page 10: Clusters Beowulf

4.- Clasificación

▫ Clase II:

No pasan la certificación “Computer Shopper”.

No son de uso común.

Todas aquellas que no pertenecen al grupo de la clase I.

Pueden presentar un nivel de prestaciones superior a las de clase I.

Page 11: Clusters Beowulf

4.- Clasificación

• Ventajas

▫ Clase I

Mayor disponibilidad.

Reduce dependencia fabricante.

Soporte drivers.

Basado en estándares (SCSI, Ethernet,…)

▫ Clase II

Mayor rendimiento.

Page 12: Clusters Beowulf

4.- Clasificación

• Desventajas.

▫ Clase I:

Rendimiento inferior.

▫ Clase II:

Aumento del coste.

Mayor dependencia del fabricante.

Variedad de drivers.

Page 13: Clusters Beowulf

5.- Hardware y Software

Page 14: Clusters Beowulf

5.- Hardware y Software

• Hardware:

▫ Comunicación entre nodos.

Ethernet → Facilidad de instalación.

Uso switch.

Page 15: Clusters Beowulf

5.- Hardware y Software

• Hardware:

▫ Equipos sin disco duro

Conocidos como diskless.

Uso muy difundido.

Necesitan mantenimiento y configuración que se realiza desde el servidor central.

Page 16: Clusters Beowulf

5.- Hardware y Software

▫ Ventajas:

Centralización datos en servidor central.

Economía.

▫ El uso de esta técnica es una extensión del uso de sistemas de archivos por red.

▫ Desventajas:

Incremento uso disco del servidor central.

Bajo desempeño en acceso a archivos por parte de nodos.

Page 17: Clusters Beowulf

5.- Hardware y Software

Page 18: Clusters Beowulf

5.- Hardware y Software

• Software:

▫ Distribución Linux.

▫ Bibliotecas paso de mensajes como:

PVM (Parallel Virtual Machine)

MPI (Message Pasing Interface)

▫ Alternativa para manejar recursos de un cluster beowulf es MOSIX.

Page 19: Clusters Beowulf

6.- Configuración

• 1.- Configuración red

• 2.- Compartir directorio.

• 3.- Habilitar ssh.

• 4.- Beowulf con MPICH

• 5.- Beowulf con LAM/MPI

Page 20: Clusters Beowulf

6.- Configuración

• 1. Configuración de Red

▫ Se realiza en el servidor.

▫ Configuramos el archivo /etc/hosts para colocar un nombre a cada Nodo que participa en el cluster

192.168.1.40 PC-10.RM.NT PC-10

192.168.1.37 PC-09.RM.NT PC-09

Page 21: Clusters Beowulf

6.- Configuración

• 2. Compartir directorio

▫ Instalación servidor NFS (paquete nfs-kernel-server)

▫ El directorio a compartir será ~/ del lado del maestro y los esclavos lo montaran en ~/.

▫ Una vez tenemos seleccionado el maestro:

Editamos permisos a los nodos. /etc/hosts.allow.

Directorios a exportar. /etc/exports.

Reiniciamos el servidor NFS y el portmap.

Page 22: Clusters Beowulf

6.- Configuración

• 2. Compartir directorio

▫ En nodos:

Reportamos todos los directorios que comparte el servidor de NFS.

showmount –e PC-10

Montamos el directorio compartido.mount –t nfs PC-10:/home/tomas /home/Tomas

Page 23: Clusters Beowulf

6.- Configuración

• 3. Habilitar SSH

▫ Para que el master pueda ejecutar comandos remotos en los esclavos, MPICH utiliza rsh (Remote Shell) o ssh (Secure Shell)

▫ Para disponer de SSH instalaremos en los nodos el servidor SSH (paquete openssh-server)

▫ Configuramos para que acepten conexiones desde el maestro sin pedir password ni passphrase.

Page 24: Clusters Beowulf

6.- Configuración

• 3. Habilitar SSH

▫ Para ello:

Creación clave RSA en master.

Activaremos ssh-agent en el master para que no nos pida la pass-phrase.

Copiaremos la clave pública en todos los esclavos:

La añadiremos en cada esclavo al final del fichero ~/.ssh/authorized_keys.

Page 25: Clusters Beowulf

6.- Configuración

• 4. Beowulf con MPICH

▫ Instalación: ▫ En el lado del master instalar el paquete mpich-bin que nos

proporciona los binarios para la ejecución, libmpich para las librerías de desarrollo y la ultima versión de gcc y gCC (>4.0).

▫ En el cliente se instala el paquete mpich-mpd-bin con sus respectivas librerías libmpich-mp.

▫ En ciertas ocasiones también es necesario tener instalado este paquete en el master.

Page 26: Clusters Beowulf

6.- Configuración

• 4. Beowulf con MPICH

▫ Configurar master:

▫ Listar los nodos que participaran en el cluster en el

archivo /etc/mpich/machines.LINUX.

#master

PC-10

#esclavos

PC-09

PC-11

Page 27: Clusters Beowulf

6.- Configuración

• 4. Beowulf con MPICH

▫ Configurar esclavos:

▫ Listamos los nodos en el archivo .mpd.hosts de la misma forma que en el maestro y agregamos una contraseña de nuestra elección.

WM_WORDSECRET=contraseña

▫ Si no está el archivo, crearlo en el directorio del usuario común.

Page 28: Clusters Beowulf

6.- Configuración

• 4. Beowulf con MPICH

▫ Probar MPICH

▫ MPICH proporciona el comando tstmachines.

▫ Comprueba la disponibilidad de las máquinas de/etc/mpich/machines.LINUX para ejecutar programas MPI.

o edu@PC-10:~$ tstmachines –v

o Trying true on PC-10...

o Trying ls on PC-10 ...

o Trying user program on PC-10

Page 29: Clusters Beowulf

6.- Configuración

• 4. Beowulf con LAM/MPI

▫ Instalación:

▫ Instalar en el master y el resto de nodos los paquetes:

• lam-runtime

• lam

Page 30: Clusters Beowulf

6.- Configuración

• 4. Beowulf con LAM/MPI

▫ Configuración de los nodos: ▫ La definición del cluster se encuentra en los fichero

/etc/lam/bhost.def y /etc/lam/bhost.conf .

▫ Deben contener todos los nodos del cluster, usuario de conexión

y número de CPU's.

#master

PC-10 cpu=1 user=tomas

#esclavos

PC-09 cpu=2 user=tomas

PC-08 cpu=4 user=tomas

Page 31: Clusters Beowulf

6.- Configuración

• 4. Beowulf con LAM/MPI

▫ Probar LAM:

▫ Para comprobar si el cluster LAM/MPI puede activarse: tomas@PC-10:~$ recon

▫ Para activar el cluster lamboot lanza el demonio lamd en cada máquina listada en/etc/lam/bhost.conf :

tomas@PC-10:~$ lamboot –v

▫ Una vez activado el cluster, para comprobar el estado de los nodos:tomas@PC-10:~$ tping N

Page 32: Clusters Beowulf

6.- Configuración

• 4. Beowulf con LAM/MPI

▫ Monitorizar LAM:

▫ LAM/MPI proporciona la herramienta XMPI (paquete xmpi), que permite ejecutar programas paralelos MPI y monitorizarlos .

▫ XMPI no puede activar el cluster, éste tiene que haber sido activado con lamboot antes de lanzar XMPI

tomas@PC-10:~$ xmpi

Page 33: Clusters Beowulf

6.- Configuración

• 4. Beowulf con LAM/MPI

▫ Monitorizar LAM:

Page 34: Clusters Beowulf

7.- Ejemplos

• Medusa

▫ Cluster Beowulf en la Universidad de Wisconsin.

▫ Analisis de Laser Interferometer Gravitational-wave Observatory (LIGO).

▫ 300 nodos. 1Ghz.

▫ 80Gb HD ATA-100 cada nodo(24Tb)

▫ 512 Mb RAM /nodo (150Gb)

▫ 100M- 1Gb Ethernet

▫ Coste: $593,323

Page 35: Clusters Beowulf

7.- Ejemplos

• Medusa

Page 36: Clusters Beowulf

8.- Conclusión

• Económico.

• Gran potencia de calculo.

• Escalabilidad

• Facilidad instalación.

• Seguridad.

Page 37: Clusters Beowulf

9.- Referencias

• http://www.cecalc.ula.ve/documentacion/tutoriales/beowulf/node1.html

• http://www.seccperu.org/files/Cluster_Debian.pdf

• http://www.estrellateyarde.org/discover/cluster-beowulf-mpi-en-linux

• http://www.retronet.com.ar/?p=673

• http://clusterfie.epn.edu.ec/clusters/Definiciones/definiciones2.html

• http://xxito.files.wordpress.com/2008/11/trabajo-final-beowulf.pdf

• http://www.phy.duke.edu/~rgb/brahma//beowulf_book/beowulf_book.html

• http://www.lsc-group.phys.uwm.edu/beowulf/medusa/index.html