1. Cluster Beowulf
Por: Javier Condori Flores
Asignatura: Herramientas para
Multiprocesadores y Multicomputadores
Profesor: Javier Fernández Baldomero
2. Introducción
I. Que es un cluster
II. Cluster BEOWULF
III. Elementos de un Cluster BEOWULF
IV. Implementación
3. Introducción
Los Clusters Permiten realizar:
Operaciones complejas con
herramientas de bajo costo
Códigos paralelizados
Computo paralelo
Y Alto rendimiento
4. I. Que es un cluster
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
5. Definición de 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
6. 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.
7. 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
8. Componentes de un Cluster
NODOS ALMACENAMIENTO
Interno
NAS/SAN
Protocolo NIS
No dedicados Dedicados
Conección de Red Sist. Operativo Middleware - MOSIX
9. Componentes de un Cluster
Protocolo de Comunicación Aplicaciones
Ambientes de Programación
Paralela
10. 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.
12. BEOWULF
Beowulf es una
tecnología para agrupar
computadores basados
en el sistema operativo
Linux para formar un
supercomputador virtual
paralelo.
13. HARDWARE
Beowulf posee una arquitectura basada en multicomputadores el cual
puede ser utilizado para computación paralela, esta compuesto por:
14. 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.
15. 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
16. 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
17. 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
18. 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
19. 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
20. 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.
21. 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.
22. Procesamiento Masivo Paralelo
MPP
Evitan los cuellos de botella del bus de memoria
La RAM se distribuye entre los procesadores
23. 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.
24. 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
25. 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?
26. 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.
27. 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
28. 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
29. 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";
}
30. 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.
31. 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.
32. 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 vaya a
utilizar
33. 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)
34. 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]
35. 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
37. 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.
38. Automated Beowulf Cluster
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.
39. 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.
40. 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.
41. Automated Beowulf Cluster
Arranque del Front-End
En 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:
42. 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”.
43. 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”.
44. 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:
45. Automated Beowulf Cluster
Arranque de los nodos
Se 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: