• No se han encontrado resultados

PACO-I5O01 - Paralelismo y Concurrencia

N/A
N/A
Protected

Academic year: 2021

Share "PACO-I5O01 - Paralelismo y Concurrencia"

Copied!
6
0
0

Texto completo

(1)

Competencias de la titulación a las cuales contribuye la asignatura

Otros: Eva Marín Tordera

Responsable: Eva Marín Tordera Unidad que imparte:

Curso:

Créditos ECTS:

701 - AC - Departamento de Arquitectura de Computadores 2017

GRADO EN INGENIERÍA INFORMÁTICA (Plan 2010). (Unidad docente Obligatoria)

6 Idiomas docencia: Catalán, Castellano

Titulación:

Profesorado

Específicas:

1. CEFB5. Conocimiento de la estructura, funcionamiento e interconexión de los sistemas informáticos, así como los fundamentos de su programación.

2. CEFC2. Capacidad para planificar, concebir, desplegar y dirigir proyectos, servicios y sistemas informáticos en todos los ámbitos, liderando su puesta en marcha y su mejora continua y valorando su impacto económico y social.

3. CEFC8. Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados.

4. CEFC9. Capacidad de conocer, comprender y evaluar la estructura y arquitectura de los computadores, así como los componentes básicos que los conforman.

5. CEFC14. Conocimiento y aplicación de los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real.

Las clases de teoría se realizarán utilizando los medios disponibles en las aulas (pizarras, equipamiento multimedia) y están basadas en la exposición oral por parte del profesorado de los contenidos sobre la materia objeto de estudio (método expositivo). En algunos casos, se realizarán clases expositivas basadas en la participación e intervención de los estudiantes mediante actividades de corta duración en el aula, como son las preguntas directas, las exposiciones de los

Metodologías docentes Capacidades previas

(2)

· Herramientas de ayuda al desarrollo de programas paralelos

· Programación y evaluación de programas paralelos (modelos de programación para las diferentes plataformas paralelas).

· Coherencia y consistencia de memoria. Comunicación, sincronizació, condiciones de carrera, exclusión mutua, sección crítica, monitores, abrazo mortal.

Dedicación total: 150h Horas grupo grande: Horas grupo mediano: Horas grupo pequeño: Horas actividades dirigidas: Horas aprendizaje autónomo:

45h 0h 15h 0h 90h 30.00% 0.00% 10.00% 0.00% 60.00%

(3)

1. Introducción al paralelismo y la concurrencia

2. Análisis de aplicaciones paralelas

Dedicación: 9h Dedicación: 11h Grupo grande/Teoría: 1h Grupo mediano/Prácticas: 2h Aprendizaje autónomo: 6h Grupo grande/Teoría: 1h Grupo mediano/Prácticas: 2h Grupo pequeño/Laboratorio: 2h Aprendizaje autónomo: 6h

Necesidad de paralelismo. Paralelismo versus concurrencia. Problemas en el uso de la concurrencia: deadlock, LifeLock, Starvation, fairness, data races

Puede un calculo dividirse en diferentes partes? Basándose en las tareas a realizar o basándose en los datos a repartir.

Habrá dependencia de datos entre las tareas? Cómo se resolverán? Una buena descomposición determina el grado de paralelismo alcanzable Descripción:

Descripción:

Actividades vinculadas:

Actividades vinculadas: Actividad 1: Problemas tema 1

Actividad 2: Lab 0: Experimental setup, tools and programming model

Actividad 1: Problemas de análisis de aplicaciones paralelas

(4)

3. Introducción a las arquitecturas (de memoria

compartida) paralelas

4. Principios de programación

paralela:descomposición en tareas

Dedicación: 20h Dedicación: 22h Grupo grande/Teoría: 2h Grupo mediano/Prácticas: 4h Grupo pequeño/Laboratorio: 2h Aprendizaje autónomo: 12h Grupo grande/Teoría: 2h Grupo mediano/Prácticas: 4h Grupo pequeño/Laboratorio: 2h Actividades dirigidas: 2h Aprendizaje autónomo: 12h Paralelismo dentro de un procesador (ILDP, DLP, TLP), multiprocesadores de memoria compartida, multiprocesadores de memoria distribuida

Identificación de patrones de concurrencia. Descomposición en tareas, granularidad y análisis de dependencias. Identificación de patrones de paralelismo: task paralelismos versus divide and conquer. Mecanismos para implementar la descomposición en tareas: thread creation and destruction, thread synchronization patterns, exclusión en el acceso a datos compartidos.

Descripción:

Descripción:

Actividades vinculadas:

Actividades vinculadas: Actividad 1: Problemas tema 3

Actividad 2: Lab 0: Experimental setup, tools and programming model Actividad 4: Prueba de conocimiento

Actividad 1: Problemas paralelismo tareas

(5)

5. Programación de memoria compartida

6. Principios de programación paralela:

descomposición en datos

Dedicación: 31h Dedicación: 31h Grupo grande/Teoría: 3h Grupo mediano/Prácticas: 6h Grupo pequeño/Laboratorio: 2h Actividades dirigidas: 2h Aprendizaje autónomo: 18h Grupo grande/Teoría: 3h Grupo mediano/Prácticas: 6h Grupo pequeño/Laboratorio: 4h Aprendizaje autónomo: 18h

Regiones paralelas, threads y tareas. Task / threads barriers, exclusión mutua y locks. Distribuidores de trabajo: bucles, secciones

Descomposición de datos (geométrica versus estructura recursiva), organización del flujo de datos (regular versus irregular). Mecanismos para implementar la descomposición: process creation and desturction, process synchronization (barrier) and communications patterns (point-to-point communication, synchronous and Asynchronous communication)

Descripción:

Descripción:

Actividades vinculadas:

Actividades vinculadas:

Actividad 1: Problemas de memoria compartida

Actividad 2: Lab 2: Divide and Conquer parallelism with OpenMP: Sorting Actividad 3: Trabajo dirigido. Práctica adicional

Actividad 1: Problemas descomposición de datos

(6)

Bibliografía

Software a Boada Material informático

Conexión y software en boada.ac.upc.edu Otros recursos:

Básica:

Mattson, Timothy G.; Sanders, Beverly A.; Massingill, Berna. Patterns for parallel programming. Boston [etc.]: Addison-Wesley, 2005. ISBN 0321228111.

Referencias

Documento similar

Nuestro Grupo, pese a formar parte del Movimiento Scout Católico, adopta el sistema de Programas Educativos de la Federación de Scouts de España (ASDE), el cual

Asimismo, en algunas asignaturas cada grupo de clases expositivas se subdivide en 3 de Prácticas de Laboratorio (por ejemplo, al grupo de clases expositivas TE1

En relación con cada asunto, se debe identificar un solo grupo (que puede ser una Comisión de Estudio, un Grupo de Tareas Especiales o un Grupo de Trabajo, etc.) que asuma

— Y para terminar, haremos unas reflexiones sobre una enseñanza adap- tada a las clases de español en grandes grupos, en Gabón..

En efecto, hacer un seguimiento del día a día de cada grupo de trabajo requiere un modelo de formación y evaluación, pero es posible que la dedicación por parte del

El Grupo SigMAT es un Grupo de Investigación de la Junta de Andalucía creado en 2012 y compuesto por profesorado e investigadores del Departamento de Teoría de la Señal,

A) Clases expositivas en grupo grande (“GA” o “GB” en las tablas horarias ): Lección impartida por el profesor que puede tener formatos diferentes (teoría, problemas

A) Clases expositivas en grupo grande (“CLE”): Lección impartida por el profesor que puede tener formatos diferentes (teoría, problemas y/o ejemplos generales, directrices