Un cluster Beowulf es un tipo de cluster computacional de bajo costo formado por nodos estándar conectados en red. Ofrece beneficios como mayor velocidad de procesamiento, confiabilidad y escalabilidad. Se pueden configurar usando software libre como Linux, MPI o LAM/MPI para ejecutar aplicaciones de forma paralela. Los clusters Beowulf son útiles para simulaciones, biotecnología y otros usos que requieren gran potencia de cómputo.
3. 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.
4. 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.
5. 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”.
6. 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.
8. 3.- Beneficios
• Construir cluster aporta diferentes ventajas:
▫ Incremento velocidad procesamiento.
▫ Incremento número transiciones.
▫ Incremento confiabilidad y robustez.
9. 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.
10. 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.
11. 4.- Clasificación
• Ventajas
▫ Clase I
Mayor disponibilidad.
Reduce dependencia fabricante.
Soporte drivers.
Basado en estándares (SCSI, Ethernet,…)
▫ Clase II
Mayor rendimiento.
12. 4.- Clasificación
• Desventajas.
▫ Clase I:
Rendimiento inferior.
▫ Clase II:
Aumento del coste.
Mayor dependencia del fabricante.
Variedad de drivers.
14. 5.- Hardware y Software
• Hardware:
▫ Comunicación entre nodos.
Ethernet → Facilidad de instalación.
Uso switch.
15. 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.
16. 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.
18. 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.
19. 6.- Configuración
• 1.- Configuración red
• 2.- Compartir directorio.
• 3.- Habilitar ssh.
• 4.- Beowulf con MPICH
• 5.- Beowulf con LAM/MPI
20. 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
21. 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.
22. 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
23. 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.
24. 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.
25. 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.
26. 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
27. 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.
28. 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
29. 6.- Configuración
• 4. Beowulf con LAM/MPI
▫ Instalación:
▫ Instalar en el master y el resto de nodos los paquetes:
• lam-runtime
• lam
30. 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
31. 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
32. 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