5.45.4.1 Programas: Paralelismo Declarativo (4 horas) [Habilidades AG-C09,AG-C11]

Referencias Bibliográficas: [Pacheco and Malensek, 2021]

Temas

  1. Paralelismo
    1. Paralelismo declarativo: Determinar qué acciones pueden, o no deben, realizarse en paralelo, a nivel de instrucciones, funciones, clausuras, acciones compuestas, sesiones, tareas y servicios es la idea principal que subyace a los algoritmos PDC; no hacerlo es la principal fuente de errores. Ver también: Computación Paralela y Distribuida (PDC) -Algorithms
    2. Definir orden: por ejemplo, usando relaciones de "sucede antes" o grafos acíclicos dirigidos serie/paralelo que representan programas.
    3. Independencia: determinar cuándo el orden no importa, en términos de conmutatividad, dependencias, precondiciones.
    4. Garantizar el orden entre acciones que de otro modo serían paralelas cuando sea necesario, incluyendo bloqueos, publicación segura; e imponer comunicación - enviar un mensaje sucede antes de recibirlo; y relajarlo cuando no sea necesario.

Aprendizaje esperado (Learning Outcomes)

  1. Mostrar gráficamente (como un Grafo Acíclico Dirigido - Directed Acyclic Graph (DAG)) cómo paralelizar una expresión numérica compuesta; por ejemplo, $a = (b + c) * (d + e)$ [Diseñar]
  2. Explicar por qué los conceptos de consistencia y tolerancia a fallos no surgen en programas puramente secuenciales [Explicar]



Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM