CLUSTERS BEOWULF

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

Transcript of CLUSTERS BEOWULF

CLUSTERS BEOWULFSamuel Rodríguez Cid

Tomás Guerra Cámara

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

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.

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.

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”.

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.

2.- Cluster Beowulf

• Usos:

▫ Simulaciones.

▫ Biotecnología.

▫ Mercado de valores.

▫ Servidores Internet.

▫ Firewall.

▫ …

3.- Beneficios

• Construir cluster aporta diferentes ventajas:

▫ Incremento velocidad procesamiento.

▫ Incremento número transiciones.

▫ Incremento confiabilidad y robustez.

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.

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.

4.- Clasificación

• Ventajas

▫ Clase I

Mayor disponibilidad.

Reduce dependencia fabricante.

Soporte drivers.

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

▫ Clase II

Mayor rendimiento.

4.- Clasificación

• Desventajas.

▫ Clase I:

Rendimiento inferior.

▫ Clase II:

Aumento del coste.

Mayor dependencia del fabricante.

Variedad de drivers.

5.- Hardware y Software

5.- Hardware y Software

• Hardware:

▫ Comunicación entre nodos.

Ethernet → Facilidad de instalación.

Uso switch.

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.

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.

5.- Hardware y Software

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.

6.- Configuración

• 1.- Configuración red

• 2.- Compartir directorio.

• 3.- Habilitar ssh.

• 4.- Beowulf con MPICH

• 5.- Beowulf con LAM/MPI

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

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.

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

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.

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.

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.

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

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.

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

6.- Configuración

• 4. Beowulf con LAM/MPI

▫ Instalación:

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

• lam-runtime

• lam

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

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

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

6.- Configuración

• 4. Beowulf con LAM/MPI

▫ Monitorizar LAM:

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

7.- Ejemplos

• Medusa

8.- Conclusión

• Económico.

• Gran potencia de calculo.

• Escalabilidad

• Facilidad instalación.

• Seguridad.

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