Upload
javier-condori-flores
View
3.210
Download
8
Embed Size (px)
DESCRIPTION
Citation preview
Cluster Beowulf
Por: Javier Condori FloresAsignatura: Herramientas para Multiprocesadores y MulticomputadoresProfesor: Javier Fernández Baldomero
Introducción
I. Que es un cluster
II. Cluster BEOWULF
III. Elementos de un Cluster BEOWULF
IV. Implementación
Los Clusters Permiten realizar:
Operaciones complejas con herramientas de bajo costo
Códigos paralelizados
Computo paralelo
Y Alto rendimiento
Introducción
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
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
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
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
Componentes de un Cluster
No dedicados Dedicados
NODOS ALMACENAMIENTO
Interno
NAS/SAN
Protocolo NIS
Conección de Red Sist. Operativo Middleware - MOSIX
Componentes de un Cluster
Protocolo de Comunicación Aplicaciones
Ambientes de ProgramaciónParalela
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.
II. Cluster BEOWULF
Hardware
Software
Clasificaciones de BEOWULF
Clase I
Clase II
BEOWULF
Beowulf es una tecnología para agrupar computadores basados en el sistema operativo Linux para formar un supercomputador virtual paralelo.
HARDWARE
Beowulf posee una arquitectura basada en multicomputadores el cual puede ser utilizado para computación paralela, esta compuesto por:
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.
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
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
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
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
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
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.
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.
Procesamiento Masivo Paralelo MPP
Evitan los cuellos de botella del bus de memoria
La RAM se distribuye entre los procesadores
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
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
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
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.
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
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
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";}
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.
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.
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
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)
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]
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
ABC (Automated Beowulf Cluster) Gnu/Linux para el uso en clustering
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.
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
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
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
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
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
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
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
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
Como puede observarse cada nodo obtendrá una IP y arrancara a través del front-end.
Automated Beowulf Cluster
Automated Beowulf Cluster
Ejecución en el clúster
Automated Beowulf Cluster
Ejecución en el clúster
Automated Beowulf Cluster
Ejecución en el clúster
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
Automated Beowulf Cluster
Ejecución en el clúster
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