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 MapReduceentrega 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 Raftentrega 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 Raftentrega 2B
29 abr
Trabajo práctico:
TP2 Raftentrega 2C
1 may FERIADO
6 may Clase 10 — Dynamo I, hashing y relojes
Paper:
Dynamo - DeCandia
Lecturas:
Trabajo práctico:
TP2 Raftentrega 2D
8 may Clase 11 — Dynamo II y DynamoDB
Paper:
DynamoDb - Elhemali
Videos:
DynamoDB deep dive
13 may
15 may Clase 12 — Transacciones distribuidas
Paper:
DynamoDb - Idziorek
Trabajo práctico:
TP3 Mini-DynamoDb — enunciado
20 may
22 may Clase 13 — Cloud databases: Spanner
Paper:
Spanner - Corbett
27 may Clase 14 — Spark
Paper:
Spark - Zaharia
29 may Clase 15 — Message-oriented middleware y Kafka
Paper:
Kafka - Kreps
3 jun Clase 16 — Procesamiento de data streams
Paper:
Millwheel - Akidau, Dataflow - Akidau
5 jun
Trabajo práctico:
TP3 Mini-DynamoDbentrega y presentación
10 jun Clase 17 — Bitcoin
Clase asincrónica a cargo del Ing. Tomás Arjovsky
Paper:
Bitcoin - Nakamoto
12 jun
17 jun Clase 18 — Cluster computing y Borg
Paper:
Borg - Verma
19 jun Clase 19 — Serverless computing
Paper:
Lambda Firecracker
24 jun
26 jun Clase 20 — Internet scale services
Paper:
Services - Hamilton

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.