CCPG1055 Sistemas Distribuidos y Computación en la Nube

Instructor: Vanessa Cedeno-Mieles

[Descripción] [Anuncios] [Syllabus] [Libro] [Horario] [Contacto] [Recursos Adicionales]

Descripción

El curso introduce principios fundamentales de los sistemas distribuidos y paralelos, con especial énfasis en aquellos que se usan en plataformas de computación en la nube y de procesamiento masivo y escalable de datos. Se exploran conceptos de comunicación y coordinación entre procesos distribuidos, recalcando los conceptos de atomicidad y consenso. Se recalca que resulta imprescindible el usar paralelismo para conseguir mejoras de rendimiento, y se estudian las estrategias de descomposición, diseño y arquitectura de sistemas, incluyendo estrategias de implementación, análisis de rendimiento y mejoras (tuning). Se estudia también los conceptos de tolerancia a fallos, con un énfasis en el mantenimiento de estado replicado, introduciendo conceptos que proporcionan un enlace con los conceptos estudiados bajo el contexto de las redes de datos.

Anuncios

10/13/20: Primera clase por canal de Microsoft Teams.

Syllabus

Syllabus del curso en formato PDF:

Libro

*M. van Steen and A.S. Tanenbaum, Distributed Systems, 3rd ed., distributed-systems.net, 2017.

(Complementario) *George Coulouris, Jean Dollimore, Tim Kindberg, and Gordon Blair. 2011. Distributed Systems: Concepts and Design (5th. ed.). Addison-Wesley Publishing Company, USA.

Horario

Clases: Paralelo 2, Martes - Jueves 07:30 - 09:00am.

Clases: Paralelo 3, Martes - Jueves 09:30 - 11:00am.

Office hours: por cita.

Contacto

Vanessa Cedeno-Mieles     

Recursos Adicionales

Cada video de clase y recursos externos por sesión, tienen un control de lectura en SidWeb el cual está disponible una semana antes de la sesión correspondiente.

Sesión Unidad Subunidad Mes Día Tipo Tema Link
1 1 Octubre 13 Syllabus y políticas del curso
2 1.1 Octubre 15 Cuestionario Estado personal Teams
Video de clase Conceptos básicos de sistemas distribuidos y computación en la nube
Lectura externa Google as xerox parc
3 1.2 Octubre 20 Video de clase Desafíos al construir sistemas distribuidos
Video externo Why Are Distributed Systems So Hard?
4 1.3 Octubre 22 Video de clase Modelos y arquitecturas distribuidas
Video externo Scaling Memcache at Facebook
5 2 2.1 Octubre 27 Video de clase Modelo de fallas en sistemas distribuidos
Video externo How Netflix Embraces Failure to Improve Resilience and Maximize Availability
6 2.2 Octubre 29 Video de clase Redundancia y enmascaramiento de fallas
7 2.3 Noviembre 5 Video de clase Escalabilidad, replicación, consenso y acuerdo
Video externo In Search of an Understandable Consensus Algorithm
1 1 y 2 Noviembre 10 Lección Unidades 1 y 2
9 3 3.1 Noviembre 12 Video de clase Parte 1: Descomposición de tareas paralelas y distribuidas
Video de clase Parte 2: Descomposición de tareas paralelas y distribuidas
Lectura externa Professor Enlists Android Phones in Search for Black Holes
10 3.2 Noviembre 17 Video de clase Parte 1: Análisis de rendimiento de algoritmos paralelos
Video de clase Parte 2: Análisis de rendimiento de algoritmos paralelos
Lectura externa Uber Marketplace: Location Serving & Storage in the Uber Marketplace
11 3.3 Noviembre 19 Video de clase Parte 1: Plataformas de procesamiento distribuido
Video de clase Parte 2: Plataformas de procesamiento distribuido
Video externo Achieving Rapid Response Times in Large Online Services
12 4 4.1 Noviembre 24 Video de clase Protocolo pedido-respuesta
Video externo The Two Generals’ Problem
13 4.2 Noviembre 26 Video de clase Parte 1: Comunicación directa entre procesos
Video de clase Parte 2: Comunicación directa entre procesos
Lectura externa Avoiding Double Payments in a Distributed Payments System
14 4.3 Diciembre 1 Video de clase Parte 1: Comunicación indirecta entre procesos (colas de mensajes, publicar-subscribir)
Video de clase Parte 2: Comunicación indirecta entre procesos (colas de mensajes, publicar-subscribir)
15 1, 2, 3 y 4 Diciembre 3 Lección Unidades 1, 2, 3 y 4
16 5 5.1 Diciembre 8 Video de clase Latencia versus throughput
17 5.2 Diciembre 10 Video de clase Consistencia, disponibilidad, tolerancia a particiones, en bases de datos distribuidas
Video externo Why Computers Can't Count Sometimes
18 5.3 Diciembre 15 Video de clase Servicios con estado o sin estado
Lectura externa Spanner, the Google Database That Mastered Time, Is Now Open to Everyone
Video externo Spanner: Google’s Globally-Distributed Database
19 5.4 Diciembre 17 Video de clase Localidad de datos y su aplicación en almacenamiento y cacheo en la nube
Video externo An analysis of Facebook photo caching
20 5.5 Diciembre 22 Video de clase Redes de distribución de contenidos: Balanceo de carga
Video externo Client-side load balancing
Video externo Server-side load balancer
Lectura externa (Opcional) Spring Cloud Series: Balanceo de carga en el cliente (client side load balancing) usando Ribbon
21 Enero 5 Video de clase Redes de distribución de contenidos: Ruteo global de pedidos
22 6 6.1 Enero 7 Video de clase Tiempo físico
Lectura externa Time Split to the Nanosecond Is Precisely What Wall Street Wants
23 6.2 Enero 12 Video de clase Tiempo lógico
Video externo Hybrid Logical Clocks
24 6.3 Enero 14 Video de clase Consenso y elecciones
Video externo Paxos vs Raft: Have we reached consensus on distributed consensus?
25 Enero 19 Presentación de proyectos
26 Enero 21 Presentación de proyectos
1,2,3,4,5,6 Enero 25 Examen - 14:00 a 16:00
1,2,3,4,5,6 Febrero 8 Examen - 14:00 a 16:00