370 likes | 622 Views
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.
E N D
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 AplicacionesCientí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
Componentesdeun Cluster NODOS ALMACENAMIENTO Interno NAS/SAN Protocolo NIS No dedicados Dedicados Middleware - MOSIX Sist. Operativo Conección de Red
Componentesdeun 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
Clasesde Cluster BEOWULF • CLASE I: Certificación “Computer Shopper” • Adquisicióndecomponentes en cualquiertienda • No tienenningúnrequerimientoespecifico • 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
Asignacionesde 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.
CargadordeArranque • 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únprotocolocomo 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 mapadenombres 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