MINUTA: Taller en UAEMEX, Toluca Construcción de Tecnología HPC Minuta Minuta de MESA: Taller DE construcción de Tacnología HPC Sesión: # 1 a la 5 FECHA: 213 al 17 de julio 2015 INFORMACIÓN GENERAL Construcción de Tecnología HPC basada en Clúster Seminario – Taller del 13 al 17 de julio, 2015, Facultad de Ciencias | UAEM La duración del evento fue de 40hrs, y en el cual se abordaron los siguientes tópicos: 1. Antecedentes Precursores del Cómputo de Alto Rendimiento en nuestro país. 2. Fundamentos del estado del arte. 3. Elementos de Hardware y Software para la Construcción de un Cluster de Alto Rendimiento. 4. Interconectividad de los componentes de Hardware y características de los materiales utilizados, indicando ventajas y desventajas en cada elección. 5. Uso de un sistema operativo para cluster: Rocks. Indicando las ventajas que oferta (trae implícito un balanceador de carga) 6. Procedimiento de instalación iniciando en el Nodo Maestro y terminando en cada uno de los nodos esclavos. 7. Configuración de drivers, tarjetas de comunicación. 8. Prueba de los compiladores de código paralelo. 9. Biblioteca MPI (Interfaz de Paso de Mensajes) en lenguaje C y Fortran, en máquinas de memoria distribuida. 10. Biblioteca OpenMP en lenguaje C y Fortran, en máquinas de memoria compartida. Objetivos: General Diseñar e implementar física y lógicamente un clúster para el procesamiento y programación en paralelo que oferte solución a los problemas que demanden cómputo masivo y alto rendimiento. Específicos: Ø Reusar recursos computacionales para construir infraestructura que permita realizar cómputo intensivo y computo de alto desempeño. 13 al 17 de Julio 2015, Toluca Minuta Ø Aprender la instalación, administración, configuración y uso apropiado de los cluster, que permitan ofertar servicios a varios usuarios. Ø Fomentar las ventajas y beneficios del Supercómputo. Ø Comprender el paradigma de la programación en paralelo. Ø Aprender y construir código paralelo, basado en MPI. Alcance Este evento estuvo dirigido a estudiantes, profesores, investigadores de instituciones públicas y privadas de educación superior de la entidad, así como a empresas de la región interesadas en el tema. Reusar recursos computacionales para construir infraestructura que permita realizar cómputo intensivo y computo de alto desempeño. Aprender la instalación, administración, configuración y uso apropiado de los cluster, que permitan ofertar servicios a varios usuarios. Fomentar las ventajas y beneficios del Supercómputo. Comprender el paradigma de la programación en paralelo. Aprender y construir código paralelo, basado en MPI. Esta actividad representa un espacio de conocimiento y aprendizaje para construir tecnología para el cómputo de alto rendimiento, grupos de investigación de alto nivel de Universidades y la industria regional. En el transcurso de los talleres, se muestran distintos escenarios computacionales que 13 al 17 de Julio 2015, Toluca Minuta actualmente manipulan grandes cantidades de trabajo de manera eficiente, así como las virtudes y defectos de cada uno de ellos. La idea de los talleres, es que sean con temas seriados que permitan conocer a los participantes el proceso completo de la construcción y uso de la tecnología HPC basada en clusters. Participantes ExpositoresDr. Enrique Cruz Martínez Profesor investigador de la Universidad Autónoma de la Ciudad de México. Exjefe del Departamento de Supercómputo de la DGSCA, UNAM. Promotor del Plan de Barios en Supercómputo. Asesor del uso de equipos de Supercómputo de la UNAM: Cray Origin 2000, Cluster Zapacluster,, Bakliz, Kambalam. Ing. Fernando Robles Morales Administrador del Clúster del Instituto de Investigaciones Genómicas. Egresado del Plan de Becarios en Supercómputo. Organizadores de la Facultad de Ciencias | UAEM Dr. Luis Enrique Díaz Sánchez Mat. Oscar Rafael García Regis Instituciones Participantes Facultad de Ciencias, Universidad Autónoma del Estado de México. Dirección de Tecnologías de la Información y de Comunicaciones, DTIC, UAEM. Unidad Académica Profesional de Tianguistenco, UAEM Red Mexicana de Supercómputo – REDMEXSU 13 al 17 de Julio 2015, Toluca Minuta Descripción del Evento La eficiencia de un computador depende directamente del tiempo requerido para ejecutar una instrucción básica y del número de instrucciones básicas que pueden ser ejecutadas concurrentemente. La eficiencia es incrementada por avances arquitecturales y tecnológicos, por ende, incrementan la cantidad de trabajo que se puede realizar por ciclo de instrucción: memoria bit-paralela, aritmética bit-paralela, memoria caché, canales, memoria intercalada, múltiples unidades funcionales, lookahead de instrucciones, pipelining de instrucciones, unidades funciones pipelined y pipelining de datos. Una vez incorporados estos avances, mejorar la eficiencia de un procesador implica reducir el tiempo de los ciclos: avances tecnológicos. Lunes 13 de agosto Evolución del cómputo esta codificado bajo las 3 leyes siguientes: Moore, Amdhal y Gustafson. Ley de Moore Alan Turing y Church en la década de los 30 ́s precisaron el término computable, no le dieron importancia al término eficiencia, aspecto que se volvió central en los años 70. El crecimiento en el poderío de las computadoras con un único Procesador obedece a la ley de Gordon Moore, cofundador de Intel. Pero está llegando a sus límites físicos. Aproximadamente cada dos años se duplica el número de transistores en un circuito integrado: (1965) Ley de Amdhal La manera de hacer más eficientes las aplicaciones es haciendo que varias secciones se ejecuten en paralelo. Sin embargo, la conversión de aplicaciones escritas para ser ejecutadas secuencialmente a aplicaciones que se ejecutaran en paralelo obtiene resultados magros, como lo indica esta Ley. “La mejora obtenida en el rendimiento de un sistema debido a la alteración de uno de sus componentes está limitada por la fracción de tiempo que se utiliza dicho componente.” El incremento de velocidad de un programa utilizando múltiples procesadores en computación distribuida está limitado por la fracción secuencial del programa. Esto quiere decir que es el algoritmo el que decide la mejora de velocidad, no el número de procesadores. Finalmente se llega a un momento que no se puede paralelizar más el algoritmo. Ley de Gustafson La ruta a seguir para reducir signicativamente el tiempo de ejecución de una aplicación debe ser el 13 al 17 de Julio 2015, Toluca Minuta diseño, desde cero, de aplicaciones que se ejecuten en paralelo, como lo indica la Ley de Gustafson. Este ha sido el camino elegido para algunas aplicaciones, pero no ha habido el desarrollo suficiente en el pensamiento en paralelo. Por todo lo anterior, no se han explotado del todo las bondades de las arquitecturas multinúcleo. Esta ley establece que cualquier problema suficientemente grande puede ser eficientemente paralelizado. Propone que los programadores establezcan el tamaño de los problemas para utilizar el equipamiento disponible en su solución en un tiempo práctico. Antecedentes del Supercómputo en la UNAM Crónica de casos de éxito en equipos de alto rendimiento en la UNAM. Características de las primeras supercomputadoras en nuestro país. Inicio de los Clústers en México. Martes 14 de agosto Resolver y dar solución a problemas reales demanda proporciones de cálculo que exceden las capacidades de cómputo convencionales tanto de estaciones de trabajo como de PC ́s, conduciéndonos a usar las supercomputadoras o clústeres para tratar con este tipo de problemas. ¿Qué es Supercómputo? Término genérico que engloba grandes equipos para cálculo numérico a grandes velocidades (conocidas como "trituradoras de números"), compiladores altamente desarrollados, bibliotecas numéricas, herramientas auxiliares para optimizar y paralelizar códigos, y sistemas para balance y calendarización de los trabajos enviados para su procesamiento. Las áreas que requieren o se benefician con el supercómputo son prácticamente todas aquellas que requieren de la modelación matemática, simulación y una cantidad enorme de cálculos numéricos. ¿Para qué sirve el Supercómputo? La finalidad de esta tecnología es servir como una herramienta de propósito general para apoyar la investigación básica y aplicada, es lo que ahora se conoce como hacer experimentación numérica, que nos permite resolver problemas más complejos, con más resolución o con escalas de tiempo mayores que equipos convencionales de cómputo simplemente no podrían solucionar. Alternativas de Supercómputo 1. Cómputo Paralelo Masivo 2. Cómputo de Teraescala 3. Clusters 4. GRID 5. Constelaciones Clasificación de Computadoras 13 al 17 de Julio 2015, Toluca Minuta Ø Single Instruction, Single Data (PC’s). Ø Single Instruction, Multiple Data (Computadoras Vectoriales). Ø Multiple Instruction, Single Data (Super Pipeline). Ø Multiple Instruction, Multiple Data (Computadoras Masivamente Paralelas, Clusters, Grids, Constelaciones). Miercoles 15 de agosto Diagnóstico de las partes de Hardware y Ensamble Físico del Clúster Tipos de Procesadores Modos de Interconectividad Espacio Físico Apropiado: Instalación Eléctrica, Enfriamiento. Topología Física Arquitecturas de computadoras: Seriales, Paralelas, Vectoriales. Recorrido al Laboratorio de Supercómputo de la Facultad de Ciencias | UAEM., describiendo la crónica, características y uso de los equipos en operación. Jueves 16 de agosto Instalación y Configuración del Cluster Sistema Operativo Manejo de Sistemas de Archivos Instalación y Configuración de drivers. Balanceadores de Carga Sistemas de Colas Scripting Herramientas de Monitoreo Administración del Cluster Uso de Compiladores paralelos y Programación paralela basada en MPI Fases de Paralelización y Programación Paralela con MPI Optimización de Códigos Paralelos. Análisis de Rendimiento. Viernes 17 de agosto El contenido de los temas abordados se encuentra en un micrositio de la Facultad de Ciencias, exclusivo para Supercómputo, en donde existe apartado para este evento: http://www.uamex.mx/fciencias/supercomputo • 13 al 17 de Julio 2015, Toluca