cluster beowulf javier condori flores

52
Cluster Beowulf Por: Javier Condori Flores Asignatura: Herramientas para Multiprocesadores y Multicomputadores Profesor: Javier Fernández Baldomero

Upload: javier-condori-flores

Post on 13-Dec-2014

3.214 views

Category:

Education


8 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Cluster beowulf   javier condori flores

Cluster Beowulf

Por: Javier Condori FloresAsignatura: Herramientas para Multiprocesadores y MulticomputadoresProfesor: Javier Fernández Baldomero

Page 2: Cluster beowulf   javier condori flores

Introducción

I. Que es un cluster

II. Cluster BEOWULF

III. Elementos de un Cluster BEOWULF

IV. Implementación

Page 3: Cluster beowulf   javier condori flores

Los Clusters Permiten realizar:

Operaciones complejas con herramientas de bajo costo

Códigos paralelizados

Computo paralelo

Y Alto rendimiento

Introducción

Page 4: Cluster beowulf   javier condori flores

1. Definición

2. Beneficios de la Tecnología Cluster

3. Clasificación de los Clusters

4. Componentes de un Cluster

5. Uso de los Clusters

6. Clusters en Aplicaciones Científicas

7. Clusters en Aplicaciones Empresariales

I. Que es un cluster

Page 5: Cluster beowulf   javier condori flores

Conjunto de computadoras construidos mediante la utilización de componentes de hardware comunes y que se comportan como si fuesen una única computadora.

Mayoritariamente para uso de:

Super computo

Servidores web y comercio

electrónico

Bases de datos de alto

rendimiento

Entre otros

Definición de Cluster

Page 6: Cluster beowulf   javier condori flores

Incremento de velocidad de procesamiento ofrecido por los clusters de alto rendimiento.

Incremento del número de transacciones o velocidad

de respuesta ofrecido por los clusters de balanceo de

carga.

Incremento de la confiabilidad y la robustez

ofrecido por los clusters de alta disponibilidad.

Beneficios de la Tecnología Cluster

Page 7: Cluster beowulf   javier condori flores

Clasificación de los Clusters

Alto Rendimiento (HPC): Son clusters en los cuales se ejecutan tareas que requieren de gran capacidad computacional

Alta Disponibilidad (HA): Son clusters cuyo objetivo de

diseño es el de proveer disponibilidad y confiabilidad

Alta Eficiencia (HT): Son clusters cuyo objetivo de diseño

es el ejecutar la mayor cantidad de tareas en el menor

tiempo posible

Page 8: Cluster beowulf   javier condori flores

Componentes de un Cluster

No dedicados Dedicados

NODOS ALMACENAMIENTO

Interno

NAS/SAN

Protocolo NIS

Conección de Red Sist. Operativo Middleware - MOSIX

Page 9: Cluster beowulf   javier condori flores

Componentes de un Cluster

Protocolo de Comunicación Aplicaciones

Ambientes de ProgramaciónParalela

Page 10: Cluster beowulf   javier condori flores

Uso de los Clusters

Aplicaciones CientíficasAplicaciones Científicas

Se suelen caracterizar por ser aplicaciones computacionalmente intensivas.

Sus necesidades de recursos son muy importantes en

almacenamiento y especialmente memoria

Aplicaciones Empresariales

Suelen ser aplicaciones no especialmente intensivas

computacionalmente, pero que demandan alta disponibilidad y

respuesta inmediata.

Page 11: Cluster beowulf   javier condori flores

II. Cluster BEOWULF

Hardware

Software

Clasificaciones de BEOWULF

Clase I

Clase II

Page 12: Cluster beowulf   javier condori flores

BEOWULF

Beowulf es una tecnología para agrupar computadores basados en el sistema operativo Linux para formar un supercomputador virtual paralelo.

Page 13: Cluster beowulf   javier condori flores

HARDWARE

Beowulf posee una arquitectura basada en multicomputadores el cual puede ser utilizado para computación paralela, esta compuesto por:

Page 14: Cluster beowulf   javier condori flores

HARDWARE

Arreglos RAID, ayudan a unir varios discos duros como si fueran uno solo.

Se recomienda que los

dispositivos que van a formar

parte del arreglo, sean de la

misma capacidad.

Page 15: Cluster beowulf   javier condori flores

SOFTWARE

Beowulf utiliza:

Cualquier distribución de Linux

Bibliotecas de paso de mensajes como PVM o MPI (Bibliotecas de programación paralela)

MOSIX: realiza el balanceo de carga del cluster

Page 16: Cluster beowulf   javier condori flores

Clases de Cluster BEOWULF

CLASE I: Certificación “Computer Shopper”

Adquisición de componentes en cualquier tienda

No tienen ningún requerimiento especifico

CLASE II: No pasa la Certificación “Computer Shopper”

Componentes no son de uso común.

Están diseñados para algo especifico

Page 17: Cluster beowulf   javier condori flores

III. Elementos de un Cluster BEOWULF

Disco

Clientes sin disco (Disk-less)

Instalación Local Completa en los Clientes

NFS Estándar

Sistemas de Archivos Distribuidos

Memoria

Procesador

Tipos de Procesamientos SMP y MPP

Red

Page 18: Cluster beowulf   javier condori flores

Disco

Dos métodos para mejorar el rendimiento del cluster:

Clientes DiskLess (clientes sin discos)

Se modifica el nodo maestro

Se aumenta el trafico de la red

Local completa en clientes

Se reduce a 0 el trafico de la red.

Se deben modificar uno por uno

Ambos difieren relacion precio/rendimiento/facilidad de administracion

Page 19: Cluster beowulf   javier condori flores

NFS y Archivos Distribuidos

NFS

Los nodos obtienen los HOME de los usuarios desde el nodo maestro.

Sistema de Archivos Distribuidos

Cada nodo posee un pedazo del sistema de archivos lo que ayuda a incrementar la velocidad en los accesos

No se recomienda fase experimental

Page 20: Cluster beowulf   javier condori flores

Memoria y Procesadores

MemoriaMemoria

Dos factores primordiales Los recursos económicos con que se cuentan Los requerimientos de memoria de las aplicaciones que

se ejecutarán en el cluster

Procesadores

Los clusters son construidos con procesadores Alpha o Intel.

Page 21: Cluster beowulf   javier condori flores

Multiprocesadores Simetricos SMP

Comparten globalmente una sola RAM simplifican el sistema fisico como la programacion de aplicaciones.

Al ser maquinas con mas de un procesador aumentan el poder del Cluster.

Page 22: Cluster beowulf   javier condori flores

Procesamiento Masivo Paralelo MPP

Evitan los cuellos de botella del bus de memoria

La RAM se distribuye entre los procesadores

Page 23: Cluster beowulf   javier condori flores

RED

La topología de red recomendada es un Bus o barra, debido a la facilidad para proporcionar escalabilidad a la hora de agregar nuevos nodos al cluster.

Único canal donde se conectantodos los nodos del cluster.

Protocolo ETHERNET FASTEHTERNET

Son apropiados para BEOWULF

Page 24: Cluster beowulf   javier condori flores

IV. Implementación

Consideraciones

HARDWARE

SOFTWARE

Arranque Sistema Operativo, Comunicación Nodos, asignaciones de IP, TFTP, kernel en los nodos, NFS.

NFS

Configuraciones por Nodos

Page 25: Cluster beowulf   javier condori flores

Como comunicamos los nodos?

Que tipo de nodo utilizo?

Que software permite lograr el paralelismo en las aplicaciones?

Como cargo archivos remotos?

Como organizo los archivos?

Consideraciones

Page 26: Cluster beowulf   javier condori flores

HARDWARE

Comunicacion entre nodos

El uso de la tecnología Ethernet aumenta la escalabilidad y el uso de switch reduce el trafico en el bus, las colisiones y la saturación.

Uso de nodos diskless

Se recomiendan porque requieren mínimo de mantenimiento y configuración ya que todas se hacen en el servidor centralel recurso de interés en las estaciones es su procesador y memoria, como elementos de trabajo básicos del cluster.

Page 27: Cluster beowulf   javier condori flores

Permite la centralización de los datos en el servidor central.

Desventajas

La primera es que se incrementa el uso de disco duro en el servidor central.

La segunda es un bajo desempeño en el acceso a

archivos por parte de los nodos, si no se cuenta con

una red rápida puede tomar tiempo

Diskless

Page 28: Cluster beowulf   javier condori flores

SOFTWARE

Arranque de Nodos

El sistema operativo en el servidor central servirá como

base para la creación de los directorios o sistemas de

archivos para los nodos

Instalación y Configuración de los nodos (diskless)

Arrancar el PC y cargar el “Arrancador de red”

El arrancador obtiene la dirección IP usando BOOTP o DHCP

El arrancador usa TFTP para transferir los archivos desde el servidor (normalmente el kernel)

Cuando se carga el kernel termina el trabajo del arrancador de red. Y se realiza el procedimiento de inicio

Page 29: Cluster beowulf   javier condori flores

Asignaciones de IP

El BOOTP como DHCP se encargan de esto.

DHCP es un protocolo mas sofisticado y mas claro que BOOTP.

En el archivo de configuración de DHCP se definen los nodos de la siguiente forma:

host nodo1 {

fixed-address 192.168.1.68; hardware ethernet 00:60:08:0B:5A:9E; filename "/tftpboot/vmlinuz-nbi-2.2"; next-server 192.168.10.1; option host-name "nodo1";}

Page 30: Cluster beowulf   javier condori flores

Servidor de Arranque TFTP

El protocolo TFTP (Trivial File Transfer Protocol) es un protocolo muy sencillo, basado en UDP, que permite bajar archivos de un servidor. Su principal utilidad es, precisamente, para proporcionar archivos de arranque a equipos que no cuentan con almacenamiento local.

Para habilitarlo se debe agregar la siguiente línea en el archivo

de configuración /etc/inetd.conf

tftp dgram udp wait root /usr/sbin/tcpd in.tftpd /tftpboot

El último parámetro (/tftpboot) indica el directorio que contiene los

archivos a compartir por medio de TFTP.

Page 31: Cluster beowulf   javier condori flores

Cargador de Arranque

Para realizar esto existen dos paquetes que son Netboot y Etherboot.

Netboot utiliza manejadores de paquetes que se incluyen en la

mayoría de las tarjeta de red del mercado.

Etherboot genera una ROM para cada tipo de tarjeta de red

soportada.

No se recomienda Etherboot si la tarjeta no esta soportada, pero

si el Netboot tiene un soporte mas extenso.

Page 32: Cluster beowulf   javier condori flores

El archivo que el servidor TFTP entregará a los nodos un kernel Linux funcional. Este asume el control del sistema y realiza el arranque normal.

El kernel para cada nodo debe estar compilado con las siguientes opciones:

Kernel level autoconfiguration. Obtiene info del kernel atraves de algún protocolo como DHCP

DHCP support

BOOTP support

NFS

Root File System on NFD

Soporte para la tarjeta de red que se vaya a utilizar

Creación del Kernel para los nodos

Page 33: Cluster beowulf   javier condori flores

Sistema de Archivos y Servidor NFS

El sistema de archivo para cada nodo queda en el directorio /tftpboot y se crean directorios con el hostname correspondiente:

/tftpboot/nodo1

El servidor NFS nos permitirá acceder a los archivos ubicados en sistemas remotos, su configuración se hace en el archivo /etc/exports y debe quedar de la siguiente forma:

/tftpboot 192.168.1.0/255.255.255.0(rw,no_root_squash)

/home 192.168.1.0/255.255.255.0(rw,no_root_squash)

/usr 192.168.1.0/255.255.255.0(rw,no_root_squash)

Page 34: Cluster beowulf   javier condori flores

Configuración del NIS

Para compartir la información de un servidor se requiere de un dominio NIS, asi cuando se realicen peticiones estas puedan obtenerse del servidor NIS y no de los

locales.El cliente NIS requiere fijar el dominio NIS al que pertenece por medio del programa domainame:

# domainame DOMINIO

En el servidor en el archivo /etc/sysconfig/network añadir la siguiente linea

NISDOMAIN=”DOMINIO”

Indicar que NISDOMAIN atenderá peticiones. Editar el archivo /etc/yp.conf y añadir:

ypserver [ip del servidor]

Page 35: Cluster beowulf   javier condori flores

Direcciones de los nodos

El archivo /etc/hosts contiene el mapa de nombres a direcciones IP.

Este contiene las direcciones de la siguiente forma:

127.0.0.1 localhost

192.168.1.1 DOMINIO

#nodos

192.168.1.3 nodo1

192.168.1.4 nodo2

192.168.1.5 nodo3

192.168.1.6 nodo4

Page 36: Cluster beowulf   javier condori flores

ABC (Automated Beowulf Cluster) Gnu/Linux para el uso en clustering

Page 37: Cluster beowulf   javier condori flores

Automated Beowulf Cluster

Fue creado en la universidad del país Vasco www.ehu.es ABC GNU/Linux esta desarrollado en base a la distribución Ubuntu.Su principal uso es para equipos que realicen cálculos paralelos.

Page 38: Cluster beowulf   javier condori flores

Esta distribución es capaz de configurar automáticamente un clúster de hasta 254 ordenadores en modo live.También se puede instalar en el front-End, y arrancar desde la red conectado a un switch los demás nodos.No es necesario instalar ABC GNU/Linux en los nodos.El clúster viene configurado con LAM, OPENMPI Y GANGLIA.

Automated Beowulf Cluster

Page 39: Cluster beowulf   javier condori flores

Implementación

Utilizar más de un PC y todos los PCs integren 256 MB de memoria RAM y que al menos sean procesadores P3 500Mhz o equivalente.

En caso de que se quiera construir un cluster en modo “live” no es preciso utilizar disco duro alguno, en caso de querer instalar la distribución en el front-end (el PC donde se inserta el disco de ABC) será necesario que ese PC tenga disco duro.

Automated Beowulf Cluster

Page 40: Cluster beowulf   javier condori flores

Implementación

Los PCs deben están interconectados a través de un switch.

No debe utilizar un router para interconectar los PCs.

La velocidad del switch y la categoría del cableado empleado han de ser la mayor posible ya que en caso de que el cluster este formado por un gran numero de PCs la latencia perjudicaría el rendimiento del sistema.

Automated Beowulf Cluster

Page 41: Cluster beowulf   javier condori flores

Arranque del Front-EndEn este PC escogeremos en su BIOS que el dispositivo preferido para el arranque sea el DVD. Una vez arrancado el disco se mostrara en la pantalla lo siguiente:

Automated Beowulf Cluster

Page 42: Cluster beowulf   javier condori flores

Modos de arranque:

Modo “live”. Este modo de arranque se hace sin necesidad de instalación alguna, todo el sistema arranca en RAM.

Modo “installer”. Mediante este modo se instalara la distribución en el disco duro del front-end. La instalación se lleva a cabo mediante el instalador de Ubuntu. Es muy importante que durante la instalación se cree el usuario “master” con clave “master” y que al PC le pongamos como hostname “master”.

Automated Beowulf Cluster

Page 43: Cluster beowulf   javier condori flores

Modos de arranque:

Modo “checkdisk”. Es utilizado para comprobar la integridad del soporte óptico.

Modo “memtest” Es utilizado para comprobar el estado de la memoria RAM.

En caso de que se opte por arrancar del disco duro tan solo se debe teclear “hd” y presionar la tecla “enter”.

Automated Beowulf Cluster

Page 44: Cluster beowulf   javier condori flores

Tanto si se arranca en modo “live” o si se arranca una instalación de ABC GNU/Linux que se encuentre en el disco duro, accederemos al escritorio GNOME como se muestra en la siguiente captura de pantalla:

Automated Beowulf Cluster

Page 45: Cluster beowulf   javier condori flores

Arranque de los nodosSe debe configurar la BIOS especificando que el dispositivo de arranque sea la NIC mediante PXE. Una vez configurada la BIOS el arranque de cada nodo se llevara a cabo como se muestra en las siguientes capturas de pantalla:

Automated Beowulf Cluster

Page 46: Cluster beowulf   javier condori flores

Como puede observarse cada nodo obtendrá una IP y arrancara a través del front-end.

Automated Beowulf Cluster

Page 47: Cluster beowulf   javier condori flores

Automated Beowulf Cluster

Ejecución en el clúster

Page 48: Cluster beowulf   javier condori flores

Automated Beowulf Cluster

Ejecución en el clúster

Page 49: Cluster beowulf   javier condori flores

Automated Beowulf Cluster

Ejecución en el clúster

Page 50: Cluster beowulf   javier condori flores

Automated Beowulf Cluster

Ejecución en el clúster

master@master:~/Fuentes$ mpiexec.openmpi -o hello.c hello

master@master:~/Fuentes$ mpiexec.openmpi -c 2 helloHello MPI_COMM_WORLD, I'm 1/2 @ master:/home/master/FuentesHello MPI_COMM_WORLD, I'm 0/2 @ master:/home/master/Fuentes

Page 51: Cluster beowulf   javier condori flores

Automated Beowulf Cluster

Ejecución en el clúster

Page 52: Cluster beowulf   javier condori flores

Referencias

ABC Gnu/Linux, IEEE article: http://bit.ly/iqhVcW

ABC Gnu/Linux http://bit.ly/lWYZ6v

http://es.wikipedia.org/wiki/ABC_GNU/Linux

http://www.cecalc.ula.ve/documentacion/tutoriales/beowulf/

Cluster (Informatica) http://bit.ly/gaIwuP