Referencias Bibliográficas: []
Temas
- Fallos:
- Fallos basados en red (incluyendo particiones) y fallos basados en nodos
 
- Impacto en garantías a nivel de sistema (p.e., disponibilidad)
 
 
 
- Envío de mensajes distribuido:
- Conversión y transmisión de datos
 
- Sockets
 
- Secuenciamiento de mensajes
 
- Almacenando Buffering, renviando y desechando mensajes
 
 
 
- Compensaciones de diseño para Sistemas Distribuidos:
- Latencia versus rendimiento
 
- Consistencia, disponibilidad, tolerancia de particiones
 
 
 
- Diseño de Servicio Distribuido:
- Protocolos y servicios Stateful versus stateless
 
- Diseños de Sesión (basados en la conexión)
 
- Diseños reactivos (provocados por E/S) y diseños de múltiples hilos
 
 
 
- Algoritmos de Distribución de Núcleos:
- Elección, descubrimiento
 
 
Objetivos de Aprendizaje
- Distinguir las fallas de red de otros tipos de fallas [Familiarity] 
 
- Explicar por qué estructuras de sincronización como cerraduras simples (locks) no son útiles en la presencia de fallas distribuidas [Familiarity] 
 
- 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] 
 
- Medir el rendimiento observado y la latencia de la respuesta a través de los hosts en una red dada [Usage] 
 
- Explicar por qué un sistema distribuido no puede ser simultaneamente Consistente (Consistent), Disponible (Available) y Tolerante a fallas (Partition tolerant). [Familiarity] 
 
- Implementar un servidor sencillo - por ejemplo, un servicio de corrección ortográfica [Usage] 
 
- Explicar las ventajas y desventajas entre: overhead, escalabilidad y tolerancia a fallas entre escojer un diseño sin estado (stateless) y un diseño con estado (stateful) para un determinado servicio [Familiarity] 
 
- Describir los desafios en la escalabilidad, asociados con un servicio cresciente para soportar muchos clientes, así como los asociados con un servicio que tendrá transitoriamente muchos clientes [Familiarity] 
 
- Dar ejemplos de problemas donde algoritmos de consenso son requeridos, por ejemplo, la elección de líder [Usage] 
 
Generado por Ernesto Cuadros-Vargas ,               Sociedad Peruana de Computación-Peru,               basado en el modelo de la Computing Curricula de               IEEE-CS/ACM