CLUSTERS BEOWULF
Samuel 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

Clusters Beowulf

  • 1.
    CLUSTERS BEOWULF Samuel RodríguezCid Tomás Guerra Cámara
  • 2.
    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
  • 3.
    1.- Introducción • Surgimientoplataformas 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.
  • 7.
    2.- Cluster Beowulf •Usos: ▫ Simulaciones. ▫ Biotecnología. ▫ Mercado de valores. ▫ Servidores Internet. ▫ Firewall. ▫ …
  • 8.
    3.- Beneficios • Construircluster aporta diferentes ventajas: ▫ Incremento velocidad procesamiento. ▫ Incremento número transiciones. ▫ Incremento confiabilidad y robustez.
  • 9.
    4.- Clasificación • Hayuna 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.
  • 13.
  • 14.
    5.- Hardware ySoftware • Hardware: ▫ Comunicación entre nodos.  Ethernet → Facilidad de instalación.  Uso switch.
  • 15.
    5.- Hardware ySoftware • 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 ySoftware ▫ 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.
  • 17.
  • 18.
    5.- Hardware ySoftware • 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
  • 33.
    6.- Configuración • 4.Beowulf con LAM/MPI ▫ Monitorizar LAM:
  • 34.
    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
  • 35.
  • 36.
    8.- Conclusión • Económico. • Gran potencia de calculo. • Escalabilidad • Facilidad instalación. • Seguridad.
  • 37.
    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