Fecha Tema Notas Video
11 mar Clase 1 — Introducción y RPC
Notas:
Descargar
Video:
Ver
Lecturas:
13 mar Clase 2 — MapReduce
Notas:
Descargar
Video:
Ver
Paper:
MapReduce - Dean
Trabajo práctico:
TP1 MapReduce — enunciado
18 mar Clase 3 — Introducción a Go
Notas:
Descargar
Video:
Ver
Lecturas:
A Tour of Go
20 mar Clase 4 — Replicación y Sharding
Notas:
Descargar
Video:
Ver
Lecturas:
25 mar Clase 5 — Google File System
Notas:
Descargar
Video:
Ver
Paper:
GFS - Ghemawat
27 mar — —
1 abr
Trabajo práctico:
TP1 MapReduce — entrega y presentación
— —
3 abr FERIADO — —
8 abr Clase 6 — Raft I: elección de líder
Notas:
Descargar
Video:
Ver
Paper:
Raft - Ongaro
Trabajo práctico:
TP2 Raft — enunciado
10 abr Clase 7 — Raft II: log y snapshots
Notas:
Descargar
Video:
Ver
Paper:
Raft - Ongaro
15 abr
Trabajo práctico:
TP2 Raft — entrega 2A
— —
17 abr Clase 8 — Linealizabilidad y Zookeeper
Video:
Ver
Paper:
Zookeeper - Hunt
—
22 abr ELECCIONES — —
24 abr Clase 9 — Consistencia en caches
Notas:
Descargar
Video:
Ver
Paper:
Memcache - Nishtala
Trabajo práctico:
TP2 Raft — entrega 2B
29 abr
Trabajo práctico:
TP2 Raft — entrega 2C
— —
1 may FERIADO — —
6 may Clase 10 — Dynamo I, hashing y relojes
Notas:
Descargar
Video:
Ver
Paper:
Dynamo - DeCandia
Lecturas:
Trabajo práctico:
TP2 Raft — entrega 2D
8 may Clase 11 — Dynamo II y DynamoDB
Notas:
Descargar
Video:
Ver
Paper:
DynamoDb - Elhemali
Videos:
DynamoDB deep dive
13 may — —
15 may Clase 12 — Transacciones distribuidas
Notas:
Descargar
Video:
Ver
Paper:
DynamoDb - Idziorek
Trabajo práctico:
TP3 Mini-DynamoDb — enunciado
20 may — —
22 may Clase 13 — Bitcoin
Clase asincrónica a cargo del Ing. Tomás Arjovsky
Notas:
Descargar
Video:
Ver
Paper:
Bitcoin - Nakamoto
27 may Clase 14 — Spanner
Notas:
Descargar
Video:
Ver
Paper:
Spanner - Corbett
29 may — —
3 jun — —
5 jun Clase 15 — Sistemas de Mensajería
Notas:
Descargar
Video:
Ver
Paper:
Kafka - Kreps
Lecturas:
Videos:
Intra-cluster Replication in Apache Kafka
10 jun — —
12 jun
Trabajo práctico:
TP3 Mini-DynamoDb — entrega y presentación
— —
17 jun Clase 16 — Procesamiento de data streams
Notas:
Descargar
Video:
Ver
Paper:
Millwheel - Akidau
Lecturas:
Capítulo 11, pp. 464–479 de Kleppmann (2017)
19 jun — —
24 jun Clase especial: EVM y Smart Contracts
A cargo del Ing. Ruben Bohorquez
Video:
Ver
—
26 jun — —

Bibliografía

  1. Jerome H. Saltzer, M. Frans Kaashoek. Principles of Computer System Design: An Introduction. July 2009.
  2. Martin Kleppmann. Designing Data-Intensive Applications. 2017.
  3. George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair. Distributed Systems: Concepts and Design. Fifth Edition. 2012.