Referencias Bibliográficas: [,,]
Temas
- Caminos críticos, el trabajo y la duración y la relación con la ley de Amdahl.
- Aceleración y escalabilidad.
- Naturalmente (vergonzosamente) algoritmos paralelos.
- Patrones Algoritmicos paralelos (divide-y-conquista, map/reduce, amos-trabajadores, otros)
- Algortimos específicos (p.e., MergeSort paralelo)
- Algoritmos de grafos paralelo (por ejemplo, la ruta más corta en paralelo, árbol de expansión paralela)
- Cálculos de matriz paralelas.
- Productor-consumidor y algoritmos paralelos segmentados.
- Ejemplos de algoritmos paralelos no-escalables.
Objetivos de Aprendizaje
- Definir: camino crítico, trabajo y span [Familiarity]
- Calcular el trabajo y el span y determinar el camino crítico con respecto a un diagrama de ejecución paralela. [Usage]
- Definir speed-up y explicar la noción de escalabilidad de un algoritmo en este sentido [Familiarity]
- Identificar tareas independientes en un programa que debe ser paralelizado [Usage]
- Representar características de una carga de trabajo que permita o evite que sea naturalmente paralelizable [Familiarity]
- Implementar un algoritmo dividir y conquistar paralelo (y/o algoritmo de un grafo) y medir empiricamente su desempeño relativo a su analogo secuencial [Usage]
- Descomponer un problema (por ejemplo, contar el número de ocurrencias de una palabra en un documento) via operaciones map y reduce [Usage]
- Proporcionar un ejemplo de un problema que se corresponda con el paradigma productor-consumidor [Usage]
- Dar ejemplos de problemas donde el uso de pipelining sería un medio eficaz para la paralelización [Usage]
- Implementar un algoritmo de matriz paralela [Usage]
- Identificar los problemas que surgen en los algoritmos del tipo productor-consumidor y los mecanismos que pueden utilizarse para superar dichos problemas [Usage]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM