2.11.16 PDC/Algoritmos
Temas:
Core
- Expresar e implementar algoritmos en lenguajes y marcos de trabajo dados, para iniciar actividades (por ejemplo hilos), usar constructos de memoria compartida, y APIs de canales, sockets y/o llamada a procedimiento remoto (RPC). Ver también: Fundamentos de los Lenguajes de Programación (FPL) -ParallelDistributedComputing.
- Ejemplos de datos paralelos incluyendo mapeo/reducción.
- Uso de APIs de canal, socket y/o RPC en un lenguaje dado, con control del programa para enviar (generalmente procedimental) vs recibir (generalmente reactivo o basado en RPC).
- Uso de bloqueos, barreras y/o sincronizadores para mantener la vivacidad sin introducir carreras.
Aprendizaje esperado (Learning Outcomes):
Core:
- Implementar un componente paralelo/distribuido basado en un algoritmo conocido [Implementar]
- Escribir un programa de datos paralelos que, por ejemplo, calcule el promedio de un arreglo de números [Escribir]
- Escribir un programa productor-consumidor en el que un componente genere números y otro calcule su promedio. Medir las aceleraciones cuando los números son escalares pequeños versus valores de multiprecisión grandes [Escribir]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM