Master en Sistemas Informáticos Avanzados PROGRAMACIÓN DE SISTEMAS PARALELOS Prof.: Javier Muguerza / Agustin Arruabarrena Moodle: Programación de Sistemas Paralelos [www.sc.ehu.es/arpar - Master SIA] PROGRAMA 1. LA ARQUITECTURA DE LOS SISTEMAS PARALELOS. Resumen de los conceptos principales de la arquitectura de los sistemas paralelos. Memoria compartida y memoria distribuida. Clusters. Implementaciones más relevantes. La red de comunicación. Protocolos de comunicación de alta eficiencia. Coherencia de los datos. Sincronización entre procesos. Consistencia del sistema. Paralelización y planificación de bucles. Rendimiento del sistema paralelo. 2. PROGRAMACIÓN DE SISTEMAS DE MEMORIA COMPARTIDA (SMP): OpenMP. Introducción. Regiones paralelas. Gestión de threads y ámbito de las variables. Reparto de tareas. Bucles for; scheduling de bucles. Secciones paralelas. Sincronización de los threads. Exclusión mutua: secciones críticas. Variables cerrojo. Sincronización por eventos. Barreras. Ejemplos y ejercicios. 3. PROGRAMACIÓN DE SISTEMAS PARALELOS MEDIANTE PASO DE MENSAJES: MPI. Introducción. Funciones básicas de MPI. Inicio y control de procesos. Envío y recepción de mensajes. Otros modos de comunicación. Comunicación síncrona. Comunicación inmediata. Funciones de comunicación global. Reparto de datos. Cálculo en grupo. Sincronización. Tipos de datos derivados. Comunicadores y topologías. Ejemplos y ejercicios. CONOCIMIENTOS PREVIOS ÚTILES Aunque el curso es autocontenido, es recomendable conocer los conceptos básicos de arquitectura de sistemas paralelos: memoria compartida y distribuida, red de comunicación, paso de mensajes, coherencia de datos, sincronización, análisis de dependencias, etc. Así mismo, es útil tener conocimientos básicos de C para las prácticas de laboratorio (todos los programas de prueba son sencillos). En todo caso, al principio del curso haremos un resumen de todos estos conceptos. CALENDARIO DEL CURSO Del 4 al 22 de Febrero (3 semanas) Horario: 15:30 – 17:30 EVALUACIÓN Asistencia al curso + trabajo práctico de laboratorio