4.40.2.2 Sistemas distribuídos (20 horas) [Habilidades 1,6]

Referencias Bibliográficas: [Pacheco, 2011,Schmidt, 1995a] Temas
  1. Fallos:
    1. Fallos basados en red (incluyendo particiones) y fallos basados en nodos
    2. Impacto en garantías a nivel de sistema (p.e., disponibilidad)
  2. Envío de mensajes distribuido:
    1. Conversión y transmisión de datos
    2. Sockets
    3. Secuenciamiento de mensajes
    4. Almacenando Buffering, renviando y desechando mensajes
  3. Compensaciones de diseño para Sistemas Distribuidos:
    1. Latencia versus rendimiento
    2. Consistencia, disponibilidad, tolerancia de particiones
  4. Diseño de Servicio Distribuido:
    1. Protocolos y servicios Stateful versus stateless
    2. Diseños de Sesión (basados en la conexión)
    3. Diseños reactivos (provocados por E/S) y diseños de múltiples hilos
  5. Algoritmos de Distribución de Núcleos:
    1. Elección, descubrimiento
Objetivos de Aprendizaje
  1. Distinguir las fallas de red de otros tipos de fallas [Familiarity]
  2. Explicar por qué estructuras de sincronización como cerraduras simples (locks) no son útiles en la presencia de fallas distribuidas [Familiarity]
  3. Escribir un programa que realiza cualquier proceso de marshalling requerido y la conversión en unidades de mensajes, tales como paquetes, para comunicar datos importantes entre dos hosts [Usage]
  4. Medir el rendimiento observado y la latencia de la respuesta a través de los hosts en una red dada [Usage]
  5. Explicar por qué un sistema distribuido no puede ser simultaneamente Consistente (Consistent), Disponible (Available) y Tolerante a fallas (Partition tolerant). [Familiarity]

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