5.45.4.10 Coordinación (7 horas) [Habilidades AG-C09,AG-C11]

Referencias Bibliográficas: [Herlihy et al., 2020,van Steen and Tanenbaum, 2023]

Temas

  1. Dependencias
    1. La iniciación o progreso de una actividad puede depender de otras actividades, para evitar condiciones de carrera, garantizar la terminación o cumplir otros requisitos.
    2. Garantizar el progreso evitando ciclos de dependencia, usando condiciones monótonas, eliminando dependencias no esenciales.
  2. Constructos de control y patrones de diseño:
    1. Basados en finalización: Barreras, reuniones (joins), incluido el control de terminación.
    2. Habilitados por datos: Colas, diseños productor-consumidor.
    3. Basados en condición: Polling, reintentos, retrocesos, ayuda, suspensión, señalización, tiempos de espera.
    4. Reactivos: Habilitar y activar continuaciones.

Aprendizaje esperado (Learning Outcomes)

  1. Mostrar cómo garantizar que un programa termine correctamente cuando todas las tareas concurrentes de un conjunto hayan finalizado [Diseñar]
  2. Escribir una función que cuente eventos, como entradas de sensores o recepciones de paquetes de red, de manera eficiente [Escribir]
  3. Escribir un programa de filtro/mapeo/reducción en múltiples estilos [Escribir]
  4. Escribir un programa en el que la terminación de un conjunto de acciones paralelas sea seguida por otra [Escribir]
  5. Escribir un servicio que cree un hilo (u otra forma de activación procedimental) para devolver una página web solicitada a cada nuevo cliente [Escribir]

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