Calendario

Fecha Tema Apuntes Slides Video
19 agoPresencial Clase 1 — Introducción y RPC
Apuntes:
Leer
Slides:
Descargar
Video:
Ver
Lecturas:
21 ago — — —
26 agoVirtual Clase práctica: Introducción a Go
Clase virtual a cargo del Ing. Ruben Bohorquez
Slides:
Descargar
Video:
Ver
Lecturas:
A Tour of Go
Repositorios:
—
28 agoPresencial Clase 2 — MapReduce
Apuntes:
Leer
Slides:
Descargar
Video:
Ver
Paper:
MapReduce - Dean
Trabajo práctico:
TP1 MapReduce — enunciado
2 sep — — —
4 sepPresencial Clase 3 — Replicación y Sharding
Apuntes:
Leer
Slides:
Descargar
Video:
Ver
Lecturas:
9 sepPresencial Clase 4 — Google File System
Apuntes:
Leer
Video:
Ver
Paper:
GFS - Ghemawat
—
11 sepPresencial Clase práctica: Replicación y consistencia
Clase a cargo del Ing. Pablo Romanelli
Apuntes:
Leer
Slides:
Descargar
Lecturas:
Bibliografía en el apunte
Repositorios:
replication-consistency
Trabajo práctico:
TP1 MapReduce — entrega
—
16 sep — — —
18 sepPresencial Clase 5 — Raft I: elección de líder
Apuntes:
Leer
Video:
Ver
Paper:
Raft - Ongaro
Trabajo práctico:
TP2 Raft — enunciado
—
23 sepPresencial Clase 6 — Raft II: log y snapshots
Apuntes:
Leer
Video:
Ver
Paper:
Raft - Ongaro
—
25 sep PARO DOCENTE
Trabajo práctico:
TP2 Raft — entrega 2A
— — —
30 sep — — —
2 octPresencial Clase 7 — Linealizabilidad y Zookeeper
Apuntes:
Leer
Video:
Ver
Paper:
Zookeeper - Hunt
Lecturas:
Linearizability - Herlihy y Wing
Trabajo práctico:
TP2 Raft — entrega 2B
—
7 octVirtual Clase 8 — Dynamo I, hashing y relojes
Apuntes:
Leer
Video:
Ver
Paper:
Dynamo - DeCandia
Lecturas:
—
9 oct
Trabajo práctico:
TP2 Raft — entrega 2C
— — —
14 octPresencial Clase 9 — Dynamo II y DynamoDB
Paper:
DynamoDb - Elhemali
Videos:
DynamoDB deep dive
— — —
16 octPresencial Clase práctica: Replicación sin líder y CRDTs — — —
21 oct — — —
23 oct Clase 10 — Transacciones distribuidas
Paper:
DynamoDb - Idziorek
Trabajo práctico:
TP2 Raft — entrega 2D
— — —
28 oct — — —
30 oct Clase 11 — Spanner
Paper:
Spanner - Corbett
Trabajo práctico:
TP3 Mini-DynamoDb — enunciado
— — —
4 nov — — —
6 nov Clase 12 — Consistencia en caches
Paper:
Memcache - Nishtala
— — —
11 nov — — —
13 nov Clase 13 — Sistemas de Mensajería
Paper:
Kafka - Kreps
Lecturas:
Videos:
Intra-cluster Replication in Apache Kafka
— — —
18 nov — — —
20 nov Clase 14 — Procesamiento de data streams
Paper:
Millwheel - Akidau
Lecturas:
Capítulo 11, pp. 464–479 de Kleppmann (2017)
— — —
25 nov — — —
27 nov Clase 15 — Bitcoin
Clase asincrónica a cargo del Ing. Tomás Arjovsky
Paper:
Bitcoin - Nakamoto
Trabajo práctico:
TP3 Mini-DynamoDb — entrega y presentación
— — —
2 dic — — —
4 dic — — —

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.