COMPUTACIÓN DE ALTA PERFORMANCE

Documentos relacionados
PROGRAMA DE ESTUDIO Área de Formación : Fecha de elaboración: 28 de mayo de 2010 Fecha de última actualización:

Fecha de elaboración: Agosto de 2004 Fecha de última actualización: Julio de 2010

Universidad Autónoma de San Luis Potosí Facultad de Ingeniería Programas Analíticos del Área Mecánica y Eléctrica 5727 PROGRAMACION EN PARALELO

SISTEMAS PARALELOS PROGRAMA ANALÍTICO. Unidad 1: Conceptos básicos Paralelismo. Objetivos del procesamiento paralelo.

ARQUITECTURAS PARA PROCESAMIENTO PARALELO

TEMA 4 PROCESAMIENTO PARALELO

Guía docente de la asignatura

Entornos de programación paralela basados en modelos/paradigmas

TUTORIAL: COMPUTACIÓN de ALTO DESEMPEÑO

COMPUTACIÓN DE ALTA PERFORMANCE 2013

Guía docente de la asignatura Computación Paralela

Programación en Entornos Paralelos: MPI

Concurrencia y Paralelismo

TEMA 2: PROGRAMACIÓN PARALELA (I)

SISTEMAS PARALELOS UNIVERSIDAD NACIONAL DE LA PLATA FACULTAD DE INFORMÁTICA

Universidad Nacional de Luján República Argentina Ruta 5 y Av. Constitución C.C LUJÁN (Bs. As.)

Nociones básicas de computación paralela

MINUTA: Taller en UAEMEX, Toluca. Construcción de Tecnología HPC

UNIVERSIDAD DE GUADALAJARA

Programación Paralela

Programa Educativo: Licenciatura en Ciencias PROGRAMA DE ESTUDIO. Obligatoria Programa elaborado por:

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI

Seriación implícita Fundamentos de programación, conocimientos básicos de organización y de arquitectura de computadoras.

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

Concurrencia PLANIFICACIONES Actualización: 1ºC/2013. Planificaciones Concurrencia. Docente responsable: A DESIGNAR.

GRADO EN INGENIERÍA DE COMPUTADORES

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE. Introducción a la concurrencia

COMPUTACIÓN DISTRIBUIDA Y APLICACIONES

Facultad de Ciencias

Esta asignatura apoyará al alumno en la consecución de las siguientes competencias:

Programación Gráfica de Altas Prestaciones

Programación Distribuida y Tiempo Real

Programación Concurrente y Paralela. Unidad 1 Introducción

Granularidad y latencia

UNIVERSIDAD DE GUADALAJARA

Taller de Programación Paralela

Arquitecturas: Clusters. Edgar Valderrama Lucio Mederos

CARACTERIZACION DE PROBLEMAS A SOLUCIONAR MEDIANTE PROGRAMACIÓN MULTIPROCESO DE MEMORIA COMPARTIDA. Autor ERIKA VIVIANA RIAÑO BEJAR

Procesamiento Paralelo

Programación Distribuida y Tiempo Real

Programa Educativo: Licenciatura en Sistemas PROGRAMA DE ESTUDIO

UNIVERSIDAD DE GUADALAJARA

Depto. Sistemas I.O. y Computación. informáticos y Computación Univ. La Laguna

Arquitecturas de Altas Prestaciones y Supercomputación

Plan 95 Adecuado DEPARTAMENTO: ELECTRÓNICA CLASE: ELECTIVA DE ESPECIALIDAD ÁREA: TÉCNICAS DIGITALES HORAS SEM.: 4 HS. HORAS / AÑO: 64 HS.

TEMA 1: EJECUCIÓN PARALELA: FUNDAMENTOS(I)

Ingeniería Informática

Programación Distribuida

CALENDARIO EXÁMENES 2015/2016 Grado en Ingeniería Informática Doble Grado en Ingeniería Informática y Matemáticas Ingeniería Informática

PARADIGMA y LENGUAJES DE PROGRAMACIÓN

Mención Ingeniería del Software Marcelino Cabrera Dpto. Lenguajes y Sistemas Informáticos

CLUSTER FING: ARQUITECTURA Y APLICACIONES

Universidad Nacional Autónoma de México Centro de Investigación en Energía. Programa de Estudio

1 10 Asignatura Clave Semestre Créditos INGENIERÍA EN COMPUTACIÓN. INGENIERÍA EN COMPUTACIÓN División Departamento Licenciatura

PROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela

Computación de Alta Performance Curso 2009 MEDIDAS DE PERFORMANCE MEDIDAS DE PERFORMANCE

Sistemas Distribuidos

UNIVERSIDAD DE GUADALAJARA

INGENIERÍA EN COMPUTACIÓN. INGENIERÍA EN COMPUTACIÓN División Departamento Licenciatura

Nombre de la Unidad de Aprendizaje. Clave de la UA Modalidad de la UA Tipo de UA Valor de créditos Área de formación

COMPARACIÓN DE MODELOS DE SINCRONIZACIÓN EN PROGRAMACIÓN PARALELA SOBRE CLUSTER DE MULTICORES

Grado en Ingeniería Informática Curso Convocatoria de Julio

3. CONDICIONES DE REGULARIDAD Y APROBACION DE LA ASIGNATURA

Sistemas Distribuidos. Prog. Distribuida bajo Internet

Arquitectura de Computadoras. Clase 9 Procesamiento paralelo

Diseño de Sistemas Distribuidos Máster en Ciencia y Tecnología Informática Curso Presentación e introducción

Grado en Ingeniería Informática

Procesamiento Paralelo

COMPUTACIÓN DISTRIBUIDA Y COMPUTACIÓN CIENTÍFICA. Máster Universitario en Ingeniería Informática. Universidad de Alcalá

GRADO EN INGENIERIA INFORMATICA

Introducción a la Arquitectura y Plataforma de Programación de Cómputo Paralelo CUDA (36 hrs) Instructor M. en C. Cristhian Alejandro Ávila-Sánchez

Ingeniería en computación Tipos de sistemas operativos

Computación paralela y distribuida

Computación de Altas Prestaciones Sistemas computacionales

SISTEMAS OPERATIVOS Introducción. Amilcar Meneses Viveros

COMPUTACIÓN PARALELA EN PYTHON SOBRE UN CLUSTER DE ALTO RENDIMIENTO

Programación Concurrente

Interfaces. Carrera: SCF Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU0017H. Clave: 08USU4053W FACULTAD DE INGENIERÍA. Programa del curso: SISTEMAS OPERATIVOS

ESCUELA DE INGENIERIA Informática Y Sistemas

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI

ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA GRADO DE INGENIERÍA INFORMÁTICA. Curso 2016/17. Asignatura: TÉCNICAS DE OPTIMIZACIÓN DATOS DE LA ASIGNATURA

EVOLUCIÓN DE LOS PROCESADORES

GUÍA DEL CURSO ACADÉMICO ESCUELA UNIVERSITARIA DE INFORMÁTICA UNIVERSIDAD POLITÉCNICA DE MADRID

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU. Clase 0 Lanzamiento del Curso. Motivación

Técnicas de Programac. Concurrente I PLANIFICACIONES Actualización: 2ºC/2018. Planificaciones Técnicas de Programac.

1. Introducción 2. S.O. de Red. NFS 3. S.O. Distribuidos 4. Características de Diseño. Tema5: Sistemas Operativos Distribuidos

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACION

MÓDULO 1.4 ARQUITECTURA DE SOFTWARE CON UML

TEMARIO. Créditos teóricos: 3 Créditos prácticos: 3. Lenguajes y Sistemas Informáticos Departamento: Lenguajes y Computación - PROGRAMA DE TEORÍA:

GUÍA DE APRENDIZAJE PROGRAMACION CONCURRENTE

GRADUADO EN INGENIERÍA DE COMPUTADORES Guía de Aprendizaje. Información al estudiante

GUÍA DEL CURSO ACADÉMICO ESCUELA UNIVERSITARIA DE INFORMÁTICA UNIVERSIDAD POLITÉCNICA DE MADRID

BOLETÍN OFICIAL DEL ESTADO UNIVERSIDADES

ÁREA DE FORMACIÓN BÁSICA COMÚN OBLIGATORIA Horas Teoría. Matemáticas discretas CT Programación I CT

Transcripción:

COMPUTACIÓN DE ALTA PERFORMANCE Curso 2010 Sergio Nesmachnow (sergion@fing.edu.uy) Gerardo Ares (gares@fing.edu.uy) Grupo de Procesamiento Paralelo Aplicado Centro de Cálculo COMPUTACIÓN DE ALTA PERFORMANCE 2010 1 PRESENTACIÓN

COMPUTACIÓN DE ALTA PERFORMANCE (los asombrosos 60 años) Intel ASCI Red/9152 (Sandia NL, USA, 1997): 10 12 operaciones/s. Jaguar(ORNL, USA, 2010): 10 15 operaciones/s. M-13 (Nauchno-Issledovatesky Institute Vychislitelnyh Kompleksov, URSS, 1984): 10 9 operaciones/s. IBM 7030 "Stretch (LANL, USA, 1961): 10 6 operaciones/s. ColossusMark 2 (UK, 1946): 5.000 operaciones/s. COMPUTACIÓN DE ALTA PERFORMANCE 2010 2 PRESENTACIÓN

CALENDARIO Martes y jueves de 17 a 18:30 horas Martes: Salón Rojo Jueves: Salón de Posgrados del IMERL Comienzo del curso: 3 de agosto 2009. Fin del curso: diciembre de 2009. 30 horas de exposiciones teóricas. 20 horas de trabajo práctico. 10 créditos. COMPUTACIÓN DE ALTA PERFORMANCE 2010 3 PRESENTACIÓN

OBJETIVOS DEL CURSO Presentar los fundamentos de la computación de alto desempeño y su aplicación para la resolución eficiente de problemas con grandes requisitos de cómputo y en escenarios realistas. Introducir los conceptos básicos de la computación paralela y distribuida. Presentar conceptos, técnicas y herramientas de desarrollo de aplicación inmediata en la practica. Capacitar al estudiante para la resolución de problemas complejos aplicando técnicas de computación de alto desempeño. COMPUTACIÓN DE ALTA PERFORMANCE 2010 4 PRESENTACIÓN

DETALLES COMPLEMENTARIOS Página web: http://www.fing.edu.uy/inco/cursos/hpc/ Newsgroup del curso: news.fing.edu.uy fing.cursos.hpc COMPUTACIÓN DE ALTA PERFORMANCE 2010 5 PRESENTACIÓN

TEMARIO DEL CURSO El curso está dirigido a estudiantes, investigadores y profesionales de cualquier área técnica, que se enfrentan con problemas con altos requisitos de cálculo y proceso. El curso es autocontenidoy puede ser realizado por participantes que no necesariamente hayan tenido contacto anterior con el tema. Temario: Introducción. Descripción de arquitecturas paralelas. Modelos de programación paralela. Medidas de performance. Estudio de lenguajes, bibliotecas y entornos de desarrollo de aplicaciones paralelas y distribuidas. Tecnologías actuales. Análisis de proyectos desarrollados en el área. Proyectos desarrollados en el Grupo de Procesamiento Paralelo Aplicadoy charlas de invitados especiales. COMPUTACIÓN DE ALTA PERFORMANCE 2010 6 PRESENTACIÓN

DETALLES COMPLEMENTARIOS APROBACIÓN DEL CURSO Trabajos prácticos Ejercicios para aplicar las técnicas estudiadas. Lenguaje C, bibliotecas PVM ó MPI, otras tecnologías. Proyecto final Pequeño proyecto que aplicará las técnicas estudiadas. Lenguaje C, bibliotecas PVM ó MPI, otras tecnologías. Artículo de síntesis Descripción de actividades del proyecto. COMPUTACIÓN DE ALTA PERFORMANCE 2010 7 PRESENTACIÓN

BIBLIOGRAFÍA Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering, Ian Foster, Addison-Wesley, 1995. Disponible en http://www-unix.mcs.anl.gov/dbpp/ El sitioforma parte de un proyectoqueincluye: El contenidodel librodesigning and Building Parallel Programs. Una colección de herramientas públicas para programación paralela. Un conjuntode enlaces web paraaccedera información sobre computación paralela. Otros recursos educativos. COMPUTACIÓN DE ALTA PERFORMANCE 2010 8 PRESENTACIÓN

BIBLIOGRAFÍA PVM: A User'sGuide and Tutorial fornetworkedparallelcomputing, A. Geist(Editor), et al. MIT Press, 1994. Using MPI. Portable Parallel Programming with the Message Passing Interface, W. Gropp, E. Lusk, A. Skjellum, MIT Press, 1994 y 1999. COMPUTACIÓN DE ALTA PERFORMANCE 2010 9 PRESENTACIÓN

PROGRAMA DEL CURSO Introducción Conceptos relevantes. Evolución histórica de la computación paralela y distribuida. Arquitecturas paralelas Categorización de Flynn. Arquitecturas paralelas de multiprocesamiento simétrico (SMP) y masivamente paralelas (MPP). Clusters de computadores. Sistema SPARCCenter 2000E y arquitecturas multicore. COMPUTACIÓN DE ALTA PERFORMANCE 2010 10 PRESENTACIÓN

PROGRAMA DEL CURSO Modelos de computación paralela Lenguajes concurrentes = sincronización + comunicación. Método de Descomposición de Dominio. Método de Descomposición Funcional. Modelo maestro esclavo, modelo cliente-servidor, arquitecturas de 3 niveles, procesamiento totalmente distribuido. Medidas de performance Speedup y eficiencia computacional. Ley de Amdahl y objetivo del procesamiento paralelo. Factores que afectan la performance. Scheduling y balance de cargas. COMPUTACIÓN DE ALTA PERFORMANCE 2010 11 PRESENTACIÓN

PROGRAMA DEL CURSO Introducción al paralelismo en lenguaje C Primitivas de comunicación entre procesos (fork, pipes, semáforos, memoria compartida, sockets, RPC, etc.). Programación multithreading Bibliotecas para desarrollar programas paralelos y distribuidos PVM (Parallel Virtual Machine). MPI (Message Passing Interface). Computación científica y procesadores gráficos OpenMPy HPF. GPUsy CUDA. COMPUTACIÓN DE ALTA PERFORMANCE 2010 12 PRESENTACIÓN

PROGRAMA DEL CURSO Monitoreo de aplicaciones y evaluación de desempeño Consideraciones sobre tolerancia a fallos Tendencias actuales en la programación paralela Procesamiento paralelo simétrico y procesamiento paralelo masivo. Influencia del lenguaje Java, Microsoft MSMQ y.net. Grid computing y cloud computing. Proyectos desarrollados en el Grupo de Procesamiento Paralelo Aplicadoy charlas de invitados especiales Charlas de invitados especiales. Presentación de proyectos finales de años anteriores. Descripción de proyectos en el área. COMPUTACIÓN DE ALTA PERFORMANCE 2010 13 PRESENTACIÓN

INTRODUCCIÓN Importancia de poder satisfacer los requisitos crecientes de poder de cómputo Problemas complicados. Modelos complejos. Grandes volúmenes de datos. Capacidad de respuesta en tiempo limitado (sistemas de tiempo real). Procesamiento paralelo Varios procesos cooperan para resolver problema común. Aplicación de técnicas de división de tareas o de datospara reducir el tiempo de ejecución de un proceso o una aplicación, mediante la resolución simultánea de algunos de los subproblemas generados. COMPUTACIÓN DE ALTA PERFORMANCE 2010 14 PRESENTACIÓN

INTRODUCCIÓN Computador paralelo Conjunto de procesadores capaces de trabajar cooperativamente en la resolución de problemas computacionales. La definición incluye un amplio espectro: supercomputadoras, procesadores masivamente paralelos (MPP), clusters, etc. Programación paralela Ha dejado de ser exótica. Posibilitada por avances en diferentes tecnologías: Poder de procesamiento (microprocesadores). Redes (comunicación de datos). Desarrollo de bibliotecas e interfaces para programación. COMPUTACIÓN DE ALTA PERFORMANCE 2010 15 PRESENTACIÓN

PROCESAMIENTO PARALELO Y DISTRIBUIDO Procesamiento paralelo Paralelismo a través de hilos (multithreading). Programación paralela. Sobre supercomputadores. Sobre máquinas paralelas de bajo costo. Procesamiento distribuido Propulsado por el desarrollo de las redes de computadoras. Procesadores independientes y mecanismo de interconexión. Cooperación para lograr un objetivo global. Datos compartidos Múltiples repositorios de datos. Sincronización. Habitualmente a través del pasaje explícito de mensajes. COMPUTACIÓN DE ALTA PERFORMANCE 2010 16 PRESENTACIÓN

APLICACIONES Utilizar herramientas de desarrollo, simulación y optimización que utilicen paralelismo permite: Reducir el tiempo necesario para desarrollar, analizar y optimizar diversas alternativas de diseño. Obtener resultados más precisos. Abordar casos realistas y escenarios extremos. Analizar alternativas de diseño que en otro caso resultarían intratables. En definitiva, las técnicas de procesamiento posibilitan obtener resultados más precisos de un modo eficienteen la resolución de instancias difíciles de problemas complejos. COMPUTACIÓN DE ALTA PERFORMANCE 2010 17 PRESENTACIÓN

INFRAESTRUCTURA No solo la tecnología ha avanzado, permitiendo disponer de máquinas paralelas caseras. Clusters de computadores de bajo costo. Internet surge como una fuente potencial de recursos de computación ilimitados. Internet 2 amplía la banda y la potencia de comunicación entre equipos. Se ha desarrollado la tecnología grid(y recientemente, cloud): Compartir recursos informáticos (locales o remotos) como si fueran parte de un único computador. Permitir gestionar y distribuir la potencia de cálculo disponible en la mediana empresa. Empresas de renombre e investigadores han diseñado soluciones tecnológicas en este sentido. COMPUTACIÓN DE ALTA PERFORMANCE 2010 18 PRESENTACIÓN

APLICACIONES Procesamiento paralelo de gran porte Aplicaciones científicas. Manejo de enormes volúmenes de datos. Procesamiento paralelo de mediano porte Aplicaciones comerciales. Procesamiento transaccional financiero, bases de datos. Programas multithreading Aplicaciones de escritorio. Procesamiento distribuido Internet, grid y cloud web services. COMPUTACIÓN DE ALTA PERFORMANCE 2010 19 PRESENTACIÓN

CONSIDERACIONES IMPORTANTES DISEÑO del HARDWARE Tecnología, poder y cantidad de los elementos de procesamiento. Conectividad entre elementos. MECANISMOS de PROGRAMACIÓN Abstracciones y primitivas para cooperación. Mecanismos de comunicación. Bibliotecas de desarrollo. La clave es la integración de estos aspectos para obtener un mejor desempeño computacional en la resolución de aplicaciones COMPUTACIÓN DE ALTA PERFORMANCE 2010 20 PRESENTACIÓN

PROCESAMIENTO DE ALTO DESEMPEÑO Aspectos relevantes: Arquitecturas de computadores paralelos. Modelos de programación. Diseño de algoritmos eficientes. Medidas para evaluar los algoritmos paralelos. Lenguajes y bibliotecas para programación paralela y distribuida. Tendencias tecnológicas actuales de diseño y programación. SERÁN LOS ASPECTOS A ABORDAR A LO LARGO DEL CURSO COMPUTACIÓN DE ALTA PERFORMANCE 2010 21 PRESENTACIÓN

CALENDARIO Jueves 5 de agosto, 17:00 hs. Salón de posgrados del IMERL (entrepiso, entrada por planta baja). COMPUTACIÓN DE ALTA PERFORMANCE 2010 22 PRESENTACIÓN