2.17.4 SF/Paralelismo
Temas:
Core Tier1
- Procesamiento secuencial vs paralelo.
- Programación paralela vs concurrente.
- Paralelismo de solicitudes vs Paralelismo de tareas.
- Cliente-Servidor/Web Services, Hilos (Fork-join), Pipelining.
- Arquitecturas multinúcleo y soporte de hardware para sincronización.
Objetivos de Aprendizaje (Learning Outcomes):
Core-Tier1:
- Dado un programa, distinguir entre su ejecución secuencial y paralela y las implicaciones en el desempeño de los mismos [Familiarizarse]
- Demostrar sobre una linea de tiempo de ejecución que los eventos y operaciones paralelas pueden tomar lugar simultaneamente (al mismo tiempo). Explicar como la carga de trabajo puede ser realizada en menos tiempo si se explora el paralelismo [Familiarizarse]
- Explicar otros usos del paralelismo, tales como la confiabilidad/redundancia de la ejecución [Familiarizarse]
- Definir las diferencias entre los conceptos de Paralelismo a nivel de Instrucción, Paralelismo a nivel de datos, Paralelimos/Multitareas a nivel de hebras, Paralelimos a nivel de Procesos/Peticiones [Familiarizarse]
- Escribir mas de un programa en paralelo (por ejemplo, un programa paralelo en mas de un paradigma de programación paralela; un programa paralelo que administre recursos compartidos a través de primitivas de sincronización; un programa paralelo que realiza operaciones simultaneas sobre datos particionados a través de paralelización de tareas/procesos (por ejemplo, busqueda de términos en paralelo; un programa que realiza paso a paso un procesamiento pipeline a través de paso de mensajes)) [Usar]
- Usar herramientas de desempeño para medir el speed-up alcanzado por un programa paralelo en términos de tamaño de los datos y número de recursos [Evaluar]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM