Linux s Gilberto Diaz gilberto@ula.ve Centro de Cálculo Científico Universidad de Los Andes Mérida - Venezuela
Eterna necesidad Desde la invención de las computadoras el hombre constantemente ha mantenido una demanda por mayor porder de cómputo
Motivación Necesidades actuales de cálculos intensivos: Predicción del tiempo Diseño de productos avanzados Almacenamiento masivo de datos Procesamiento de imágenes Requieren de recursos de gran capacidad para resolver los problemas más rápido
Cómo ir más rápido? -- Adquirir una máquina más poderosa -- Utilizar procesamiento paralelo (utilizando varios procesadores para resolver un problema) - Dividir el problema en trozos - Hacer que cada procesador ejecute un trozo -- Pero el procesamiento paralelo necesita Supercomputadores
Problemas del cálculo paralelo tradicional Inversión inicial alta, Software, mantenimiento y actualización muy costosos
Solución: Construir un Linux : a number of similar individuals that occur together. En el ambiente de computación, es una agrupación de máquinas interconectadas que colaboran en una tarea.
Why x86 clusters? Source: Dave Pierce, SIO NPACI ROCKS Presentation
Beowulf No es un paquete de software especial, ni una nueva topología de red, ni un nuevo núcleo modificado de algún S.O. Es una tecnología para agrupar computadores basados en el sistema operativo Linux para formar un supercomputador virtual paralelo, a partir de hardware común, sistema operativo Linux y software abierto (open source).
Beowulf Características: Bajo costo inicial Fácil de mantener Tecnología familiar Escalable Software gratis
Origenes Surgimiento de plataformas de bajo costo - Comunicación - Procesamiento - Almacenamiento Esto ha permitido el desarrollo de herramientas computacionales del dominio público, que han extendido la experiencia en el campo de la computación paralela a estas nuevas plataformas.
Origenes El primer cluster Beowulf fue construido con 16 procesadores DX4 y una red ethernet de 10Mbits para atender las necesidades asociadas con la gran cantidad de datos que manejaban las aplicaciones en el proyecto ESS (Earth and Space Sciences) llevado a cabo en Center of Excellence in Space Data and Information Sciences (CESDIS) Por Donald Becker y Thomas Sterling
Origenes En 1997 el cluster de 140 nodos de la Universidad de Caltech ejecutó un problema (N-Body) a una tasa de 10GFlops/sec. Un cluster no es un supercomputador pero si es necesario obtener un rendimiento parecido, estos satisfacen todos los requerimientos
Características - Flexibilidad Hardware común: red, procesador, etc Software de dominio público Linux, MPI, PVM, etc.
Características - Escalabilidad Los cluster permiten agregar nuevos componentes para aumentar el nivel de prestaciones sin necesidad de eliminar los elementos ya existentes.
Características - Disponibilidad Existe edundancia natural, cada nodo posee sus propios componentes: bus, memoria, procesador. Se puede implementar políticas para el reemplazo rápido en caso de falla del servidor maestro.
Características - Rendimiento: En principio las aplicaciones paralelas son más rápidas. Factores influyentes: - Comportamiento del programa - Carga de la red.
Ejemplos de 1000 nodos utilizado para la investigación de algoritmos genéticos www.genetic-programing.com
Ejemplos PIRUN Beowulf Kasetsart University, Thailand PIRUN = Piles of Inexpensive and Redundant Universal Nodes 72 nodos PIII 500 MHz, 128 MB Provee cálculo intensivo en general y funciona como superservidor de internet
Ejemplos Chama Centro de Supercomputación ULA Chama = Hecho A MAno 28 nodos: PIII dual, 2TB de disco, 20GB RAM Cálculo paralelo, Química, Física, etc.
Arquitectura (hardware) Internet Nodo Maestro Nodos clientes Archivo Asfdjlsfsdfkjsdfjsdhners Werweiujoifdsfshgvbcvs Sdfsjdfañsdfjdhegbdbbcv Sdfsdjflkjsdfskdjf asdfkj sdfkjasdfijwerlkjsdfasdfj Red Interna Nodo adm Switch Pase de Mensajes eth0 + eth1 bond0 Sistema de archivos de red Switch Channel Bonding
Arquitectura (software) Bwatch, SCMS MOSIX, BPROC, PBS, SGE, etc. MPI, PVM, HPF, LINDA, etc Linux
Clasificación Dentro de la taxonomia de computadores paralelos Beowulf esta en algún lugar entre - Procesadores masivamente paralelos CM 5, Cray T3D, etc. - Red de estaciones de trabajo.
Clasificación Existen diferencias sutiles entre un cluster Beowulf y una red de estaciones de trabajo, pero son muy significativas en relación al rendimiento. - Red interna aislada. La carga de la red sólo depende de las aplicaciones. - Nodos dedicados al cluster Fácil manejo del balanceo de carga de los procesadores.
Clasificación - Clase I - Clase II Componentes comunes Componentes especializados
Diseño Es necesario tomar en cuenta diversos factores para el diseño de un cluster Beowulf que contribuyan a un mejor desempeño: - Disco - Memoria - Motherboard - Procesador - Multiprocesadores simétricos - Red
Diseño Internet Nodo Maestro Nodos clientes Red Interna Hacer que el cluster se comporte como una sola máquina - Los usuarios deben ser conocidos en todos los nodos - Las aplicaciones deben estar presentes en todos los nodos - Un sistema de archivos común
Diseño Hacer que el cluster se comporte como una sola máquina - Los usuarios deben ser conocidos en todos los nodos (NIS) u otro mecanismo para mantener consistentes los /etc/passwd - Las aplicaciones deben estar presentes en todos los nodos: compartir el /usr/local - Un sistema de archivos común: /home, /tmpdata
New User on Rocks Mail List I managed to install Rocks with five nodes. The nodes have a small HD 2.5 GB each, the cluster is in my home on a private network behind a Linux box "firewall". And it looks like everything is working fine. I can see all the nodes and the front-end in the ganglia web interface. I built it so I can learn more about clusters. And to tell the truth I have no idea on what to do with it, I mean where to start, how to use it, what to use it for. NPACI ROCKS Presentation
Conclusiones - La escalabilidad en un punto significativo - Los cluster Linux constituyen una plataforma adecuada para muchas aplicaciones - Alta disponibilidad - Limitaciones -redes con alto nivel de latencia
Conclusiones PC Workstation Mini Computer Vector Supercomputer Mainframe http://www.dgs.monash.edu.au/~rajkumar
High Performance Computing on Linux Conclusiones http://www.dgs.monash.edu.au/~rajkumar
Documentación Manual de instalación http://www.cecalc.ula.ve/documentacion/tutoriales/beowulf http://www.cecalc.ula.ve/documentacion/tutoriales/beowulf.pdf Página recomendada http://www.beowulf.org