Sistemas Distribuidos
Estructuración de un cluster BEOWULF
Miguel Abarca Castro
Prof. Alejandro Mellado G.
Temas a Tratar

Introducción

I. ¿Que es un cluster?

II. Cluster BEOWULF

III. Elementos de un Cluster BEOWULF

IV. Implementación y Construcción

Conclusión
Introducción

Operaciones compejas con herramientas
de bajo costo

Códigos paralelizados

Cluster permiten computo paralelo

Y Alto rendimiento
I. ¿Que es un cluster?

Definición

Beneficios de la Tecnología Cluster

Clasificación de los Clusters

Componentes de un Cluster

Uso de los Clusters

Clusters en Aplicaciones Científicas

Clusters en Aplicaciones Empresariales
Definición


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
Beneficios de la Tecnología 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.
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
NODOS
ALMACENAMIENTO
Interno
NAS/SAN
No dedicados Dedicados
Conección de Red
Sist. Operativo
Protocolo NIS
Middleware - MOSIX
Componentes de un Cluster
Protocolo de Comunicación
Aplicaciones
Ambientes de Programación
Paralela
Uso de los Clusters

Aplicaciones 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

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
Memoria

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.
Protocolo
 ETHERNET
 FASTEHTERNET
Son apropiados para BEOWULF
Único canal donde se conectan
todos los nodos del cluster
IV. Implementación y Construcción

Consideraciones

HARDWARE

SOFTWARE

Arranque Sistema Operativo, Comunicación
Nodos, asignaciones de IP, TFTP, kernel en los
nodos, NFS.

NFS

Configuraciones por Nodos
Consideraciones

¿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?
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 central

el recurso de interés en las estaciones es su procesador y memoria,
como elementos de trabajo básicos del cluster
Diskless


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
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.10.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 acabo 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.
Creación del Kernel para los nodos


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 valla a utilizar
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.10.0/255.255.255.0(rw,no_root_squash)
/home 192.168.10.0/255.255.255.0(rw,no_root_squash)
/usr 192.168.10.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 7etc/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.10.1 DOMINIO
#nodos
192.168.10.68 nodo1
192.168.10.69 nodo2
192.168.10.70 nodo3
192.168.10.71 nodo4
FIN...
Descargar

PRESENTACION: presentacionbeowulf