Title: Sistemas Distribuidos
1Sistemas Distribuidos
Estructuración de un cluster BEOWULF
Miguel Abarca Castro Prof. Alejandro Mellado G.
2Temas 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
3Introducción
- Operaciones compejas con herramientas de bajo
costo - Códigos paralelizados
- Cluster permiten computo paralelo
- Y Alto rendimiento
4I. 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
5Definició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
6Beneficios 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.
7Clasificació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
8Componentes de un Cluster
NODOS
ALMACENAMIENTO
Interno NAS/SAN Protocolo NIS
No dedicados
Dedicados
Middleware - MOSIX
Sist. Operativo
Conección de Red
9Componentes de un Cluster
Protocolo de Comunicación
Aplicaciones
Ambientes de Programación Paralela
10Uso 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.
11II. Cluster BEOWULF
- Hardware
- Software
- Clasificaciones de BEOWULF
- Clase I
- Clase II
12BEOWULF
- Beowulf es una tecnologÃa para agrupar
computadores basados en el sistema operativo
Linux para formar un supercomputador virtual
paralelo.
13HARDWARE
- Beowulf posee una arquitectura basada en
multicomputadores el cual puede ser utilizado
para computación paralela, esta compuesto por
14HARDWARE
- 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
15SOFTWARE
- 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
16Clases 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
17III. 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
18Disco
- 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/facilid
ad de administracion
19NFS 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
20Memoria 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.
21Multiprocesadores 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
22Procesamiento Masivo Paralelo MPP
- Evitan los cuellos de botella del bus de memoria
- La RAM se distribuye entre los procesadores
23RED
- 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
24IV. 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
25Consideraciones
- 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?
26HARDWARE
- 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
27Diskless
- 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
28SOFTWARE
- 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
29Asignaciones 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 0060080B5A9E
- filename "/tftpboot/vmlinuz-nbi-2.2"
- next-server 192.168.10.1
- option host-name "nodo1"
30Servidor 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.
31Cargador 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.
32Creació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
33Sistema 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_sq
uash)? - /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)
?
34Configuració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/networ
k añadir la siguiente linea - NISDOMAINDOMINIO
- Indicar que NISDOMAIN atenderá peticiones. Editar
el archivo /etc/yp.conf y añadir - ypserver ip del servidor
35Direcciones 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
36FIN...