2.13.3 PD/Comunicación y coordinación (3 horas Core-Tier1)

Temas:
Core Tier1

Core Tier2

Electivo

Objetivos de Aprendizaje (Learning Outcomes):
Core-Tier1:

  1. Usar exclusión mútua para evitar una condición de carrera [Usar]
  2. Dar un ejemplo de una ordenación de accesos entre actividades concurrentes (por ejemplo, un programa con condición de carrera) que no son secuencialmente consistentes [Familiarizarse]
Core-Tier2:
  1. Dar un ejemplo de un escenario en el que el bloqueo de mensajes enviados pueden dar deadlock [Usar]
  2. Explicar cuándo y por qué mensajes de multidifusión (multicast) o basado en eventos puede ser preferible a otras alternativas [Familiarizarse]
  3. Escribir un programa que termine correctamente cuando todo el conjunto de procesos concurrentes hayan sido completados [Usar]
  4. Usar una apropiada cola de sincronización para almacenar temporalmente datos pasados entre actividades [Usar]
  5. Explicar por qué verificaciones para precondiciones, y acciones basados en estas verificaciones, deben compartir la misma unidad de atomicidad para ser efectivo [Familiarizarse]
  6. Escribir un programa de prueba que pueda revelar un error de programación concurrente; por ejemplo, falta una actualización cuando dos actividades intentan incrementar una variable [Usar]
  7. Describir al menos una técnica de diseño para evitar [Familiarizarse]
  8. Describir las ventajas relativas del control de concurrencia optimista y conservadora bajo diferentes tipos de carrera entre actualizaciones [Familiarizarse]
  9. Dar un ejemplo de un escenario en el que un intento optimista de actualización puede nunca completarse [Familiarizarse]
Elective:
  1. Usar semaforos o variables de condición para bloquear hebras hasta una necesaria precondición de mantenga [Usar]

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