The small DAD guide
A small guide to the topics covered in the Theory classes.
Additional Material
Some additional material, in case you would like to learn more about some specific topics.
Slides
I am making available the slides that have been used during 2017-2018 by Prof. Paolo Romano. Actually, these slides are a revised version of slides prepared earlier by professors Paulo Ferreira and Luis Veiga for PADI. Note that each professor has its own style and a different perspective of which is the best sequence to introduce concepts. Also, the interaction with students during the class, and the questions raised during the lectures, may lead to slight variations in the order and/or emphasis of some topics. Finally, every year we try to improve the course, and this requires us to perform changes to the order and depth of coverage of some materials. Thus, you may find some discrepancies between the order by which some concepts are presented in the slides and the schedule and content of the classes taught this year.
Some additional material, in case you would like to learn more about some specific topics.
- About the pub/sub system named Siena: siena-tocs.pdf
- Scribe, a scalable application-level multicast service: scribe.pdf
- The original ABD paper: abd.pdf
- The original Xu and Liskov paper on replicated tuple space: xu-liskov-distributed-ft-linda.pdf
- The new clock synchronization algorithm by google: sundial.pdf
- The Bully algorithm: bully.pdf
- Impossibility of consensus: flp.pdf
- The original Paxos paper by Lamport: lamport-paxos-original.pdf
- Paxos made simple, by Lamport: lamport-paxos-madesimple.pdf
- Lazy replication in all splendor: lazyreplication.pdf
- Google Spanner: spanner-by-google.pdf
- Spanner's concurrency control made simple: spanner-cc-malki.pdf
- A revamped version of Bayou for the cloud: pileus.pdf
- To know more about CRDTs: crdts.pdf
Slides
I am making available the slides that have been used during 2017-2018 by Prof. Paolo Romano. Actually, these slides are a revised version of slides prepared earlier by professors Paulo Ferreira and Luis Veiga for PADI. Note that each professor has its own style and a different perspective of which is the best sequence to introduce concepts. Also, the interaction with students during the class, and the questions raised during the lectures, may lead to slight variations in the order and/or emphasis of some topics. Finally, every year we try to improve the course, and this requires us to perform changes to the order and depth of coverage of some materials. Thus, you may find some discrepancies between the order by which some concepts are presented in the slides and the schedule and content of the classes taught this year.
- dad-1617-02-introduction-distribution.pdf
- dad-1617-03-group-communication.pdf
- ´dad-1617-04-pubsub.pdf
- dad-1617-05-message-queues-shared-memory-tuples.pdf
- dad-1617-06-P2P.pdf
- dad-1617-07-tempo-sistemas-distribuidos.pdf
- dad-1617-08-estados-globais-snapshots.pdf
- dad-1617-09-exclusao-mutua-eleicao-lider.pdf
- dad-1617-10-multicast-coordenacao.pdf
- dad-1617-11-consensus+paxos.pdf
- dad-1617-12-lazy-replication-gossip.pdf
Sample Exams
To check what kind of questions can appear in an exam, take a look at the examples below. Note that the content of the course changes with time. Old exams can cover topics not addressed this year. This year we can ask new questions.