Lectures

Course Log

Symbol *  indicates hard homeworks (i.e., you can still expect something similar in an exam). Symbols ** and *** indicate really hard, extremely hard homeworks (I will not put something similar in an exam),  you should try to solve them just for fun. Homeworks are not graded. 

 Lectures:

Streaming and Recording:

This year 2023/2024 the streaming and recording of lectures is not granted. The regulations of Sapienza explicitly say that lectures are physical and must be done in presence. To help students that work I made available at this link the recording of the lectures of the year 2021/2022.  

Lecture 1: 25/09/2023. Aula Alfa, 14:00-17:00
Lecture syllabus.

Material to read: Main Book (1, 2.1 and 2.2. 2.4.1-2.4.2), H. Attiya, J.L. Welch. 2004 (2.1).

Key concepts: System Model, Processes, Uniqueness of the identifies, Local View, Delivery event vs Message creation, Asynchronous System, indistinguishability of the views. Fairness of a scheduler, Crash-stop failures and byzantine failures

Lecture 2: 27/09/ 2023  11:00-13:00  Aula Alfa - Via Salaria 113.

Record your presence here. It is needed for tracking contacts in case of COVID-19 outbreak.  

Lecture syllabus.

Material to read: Main Book (1, 2.1 and 2.2. 2.4.1-2.4.2), H. Attiya, J.L. Welch. 2004 (2.1).

Key concepts:  Abstraction and properties;  Safety and Liveness. The Fair-Lossy Link, The Stubborn and The Perfect link. 

Lecture 3: 02/10/ 2023  14:00-17:00  Aula Alfa - Via Salaria 113.

Tentative Lecture syllabus.

Material to read: H. Attiya, J.L. Welch. 2004 (2.1).  Time 1 is in the Main book (2.5);  Topics of Time 1.2-1.3 can be found on Maarten van Steen et al. 2008 (Chapter 6.1 -  the book is free)

Key concepts:  Synchronous and Eventually-synchronous systems, physical clock drift, Internal and External synchronization, Christian and Berkley, NTP (for us it is just a hierarchy of servers that use christian-like approach), Local Skew vs Global Skew. FIFO LINK

Optional reads: A detailed description of Berkley is here;

Lecture 4: 04/10/ 2023  11:00-13:00  Aula Alfa - Via Salaria 113.

Material to read: An alternative explanation of logical and vector clocks is here. Logical and vector clocks can be found on Maarten van Steen et al. 2008 (Chapter 6.2. -the book is free) Chapter 6.2 contains also a description of Lamport's ME. The main book describes also logical clock and happened-before in Chapter 2.5.1 and Chapter 3 Causal Broadcast.

Optional Material: Leslie Lamport on logical clock: https://www.youtube.com/watch?v=gY9VwiPTa60 Relativity and causality violation: https://plus.maths.org/content/violating-causality. Original paper in which Lamport proposed the logical clock: here.

Key concepts: Happened-before relationship, Logical Clock, Vector Clocks, FIFO Channels.

Lecture 5: 09/10/ 2023  14:00-17:00  Aula Alfa - Via Salaria 113.

Material to read:  Chapter 6.2 of  Maarten van Steen et al. 2008 (Chapter 6.2. -the book is free) contains a description of Lamport's ME.    Failure Detectors are in Main Book (Chapter 2.6).|
Optional Material: The Splendors and Miseries of Rounds, Adam Shimi, https://dl.acm.org/citation.cfm?id=3364635 (access from Sapienza or using the proxy). Original
paper of Chandra and Toueg on Failure Detector (here). The round model for synchrony is folklore and can be found in multiple books (e.g., Distributed Computing - H. Attiya, J.L. Welch. 2004 , pp. 12-13)

Key concepts:  Lamport's ME,  Failure Detectors, P (the algorithm exclude on timeout and the round-based one), Round-based computation and its equivalency with synchrony.

Lecture 6: 11/10/ 2023  11:00-13:00  Aula Alfa - Via Salaria 113.

Lecture syllabus.

Material to read: Failure Detectors and Leader Electors are in Main Book (Chapter 2.6).

Key concepts: Eventually perfect Failure Detector, LE, and Eventual LE. Fail-stop, Fail-noisy and Fail-silent. Applications of FD and LE.

Lecture 7: 16/10/ 2023  14:00-17:00  Aula Alfa - Via Salaria 113.

Lecture syllabus.

Material to read: Broadcast is in Main Book (Chapter 3.1-3.4). Complexity measures: messages and communication steps; are in Main Book (Chapter 2.7.4).

Key concepts: BEB Broadcast, Regular Reliable Broadcast: Lazy and Eager, Uniform Realiable Broadcast: specification. Complexity measures: messages complexity and communication steps (also called message delays).

Lecture 8: 19/10/ 2023  11:00-13:00  Aula Alfa - Via Salaria 113.

Lecture syllabus.

Material to read: Broadcast is in Main Book (Chapter 3.1-3.4), Quorums in Main Book (Chapter 2.7.3). Ordered Broadcast FIFO and Casual are in Main Book (Chapter 3.9).

Key concepts: The use of Quorums,

Lecture 9: 23/10/ 2023  14:00-17:00  Aula Alfa - Via Salaria 113.

Material to read: Broadcast is in Main Book (Chapter 3.1-3.4), Quorums in Main Book (Chapter 2.7.3). Ordered Broadcast FIFO and Casual are in Main Book (Chapter 3.9).

Key concepts: The impossibility proof of URB, FIFO Broadcast, Causal Broadcast, Orthogonality of the ordering concept and reliability properties.

Lecture 10: 25/10/ 2023  11:00-13:00  Aula Alfa - Via Salaria 113.

Material to read: Registers are in Main Book (Chapter 4.1,4.2).

Optional Reads: The book of H. Attiya, J.L. Welch. 2004 has a section on shared memories (Chapters 9.1-3, 10.1-3). The book of Van Steen et al. (Chapter 7) describes a panoply of additional consistency properties.

Key concepts: Waiting Causal Brodacast, Shared Memories, Register definitions, Consistency properties (Regular), Regular register (1,N), Fail-stop and Fail-Silent implementations.

Lecture 11: 30/10/ 2023  14:00-17:00  Aula Alfa - Via Salaria 113.

Material to read: Atomic Registers are in Main Book (Chapter 4.3,4.4).

Optional Reads: Interesting paper on consistency properties (paper). Website with a map of consistency properties (map)

There is no lecture the 1st November -- Italian Public Holiday. 

Lecture 12: 6/11/ 2023  14:00-17:00  Aula Alfa - Via Salaria 113.

Lecture 13: 8/11/ 2023  11:00-13:00  Aula Alfa - Via Salaria 113.

Lecture syllabus.

Material to read: Consensus in Main Book (Chapter 5.1-5.2).

Optional Reads: The book of H. Attiya, J.L. Welch. 2004 shows a lower bound on the step complexity of regular consensus in synchronous systems (Chapters 5.1.4).

Key concepts: Regular vs Uniform Consensus definitions.  Hierarchical Consensus algorithms, uniform and regular variants.

Lecture 14: 13/11/ 2023  14:00-17:00  Aula Alfa - Via Salaria 113
THE LECTURE HAS BEEN CANCELLED

Material to read: Paxos is not in the main book. The lecture will follow the structure of the paper ``Paxos made simple" of Leslie Lamport (link) another good paper is this one (link). The difficulties of implementing paxos are described in this paper (link).

Optional reads: here there is a video of Leslie Lamport explaining Paxos (https://www.youtube.com/watch?v=tw3gsBms-f8). The video is quite difficult, probably is better to read this paper (link).

Key concepts: Paxos. Nb: People say that paxos is notoriously difficult to be understood. For the above, I strongly suggest to read Lamport's paper ``Paxos made simple" and to be attentive during the lecture.

Lecture 14: 15/11/ 2023  11:00-13:00  Aula Alfa - Via Salaria 113.

Material to read: Paxos is not in the main book. The lecture will follow the structure of the paper ``Paxos made simple" of Leslie Lamport (link) another good paper is this one (link). The difficulties of implementing paxos are described in this paper (link).

Optional reads: here there is a video of Leslie Lamport explaining Paxos (https://www.youtube.com/watch?v=tw3gsBms-f8). The video is quite difficult, probably is better to read this paper (link).

Key concepts: Paxos. Nb: People say that paxos is notoriously difficult to be understood. For the above, I strongly suggest to read Lamport's paper ``Paxos made simple".

Lecture 15: 20/11/ 2023  14:00-17:00  Aula Alfa - Via Salaria 113.

Lecture syllabus.

Material to read: Paxos is not in the main book. The lecture will follow the structure of the paper ``Paxos made simple" of Leslie Lamport (link) another good paper is this one (link).  The difficulties of implementing paxos are described in this paper (link).

Optional reads: here there is a video of Leslie Lamport explaining Paxos (https://www.youtube.com/watch?v=tw3gsBms-f8). The video is quite difficult, probably is better to read this paper (link).

Key concepts: Paxos. Nb: People say that paxos is notoriously difficult to be understood. For the above,  I strongly suggest to read Lamport's paper ``Paxos made simple".


Lecture 16: 22/11/ 2023  11:00-13:00  Aula Alfa - Via Salaria 113.

Lecture syllabus.

Material to read:  Total Order Brodacast is in main book (Chapter 6.1)

Key concepts: Total order broadcast


Lecture 17: 27/11/ 2023  14:00-17:00  Aula Alfa - Via Salaria 113.

Lecture syllabus.

Material to read:  Replication is not in the main book (the content of the slides is enough). 

Key concepts: Primary-backup vs Active-replication, Replicated State Machine.

Additional reads: Rachid Guerraoui and André Schiper: “Fault-Tolerance by Replication in Distributed Systems”. In Proceedings of the 1996 Ada-Europe International Conference on Reliable Software Technologies (Ada-Europe '96).

Lecture 18: 29/11/ 2023  11:00-13:00  Aula Alfa - Via Salaria 113.

STUDENTS OPINIONS, please if you have not done it consider to fill the students opinions for the course: instructions and code

Lecture syllabus.

Key concepts: Activate Replication, RAFT

Material to read:  For Raft there is the original paper (here). 

Optional reads: A recent example (11/2021) of a liveness stall in which a lot of money has been lost due to Raft going south:  https://blog.cloudflare.com/a-byzantine-failure-in-the-real-world/

Optional material: Lecture on raft by the authors (youtube)


Lecture 19: 04/12/ 2023  14:00-17:00  Aula Alfa - Via Salaria 113.

ONLY EXERCISES
Lecture syllabus.


Optional reads: A recent example (11/2021) of a liveness stall in which a lot of money has been lost due to Raft going south:  https://blog.cloudflare.com/a-byzantine-failure-in-the-real-world/


Lecture 20: 06/12/ 2023   11:00-13:00  Aula Alfa - Via Salaria 113.

Lecture syllabus.

Material to read and key concepts: Main book 3.10 (Cons. Bcast), 3.11 (Reliable Bcast), 2.2.6 (Byzantine failures) , 2.3 (Crypto Abstractions), 2.4.6 (Authenticated Channel).

Lecture 21: 11/12/ 2023  14:00-17:00  Aula Alfa - Via Salaria 113.

Material to read and key concepts: Main book 3.10 (Cons. Bcast), 3.11 (Reliable Bcast), 2.2.6 (Byzantine failures) , 2.3 (Crypto Abstractions), 2.4.6 (Authenticated Channel). Notice that the impact of signatures and the new version of the impossibility proof have been introduced this year.

Synchronous byzantine agreement is not in the main book. Refer to the notes of Roger Wattenhofer https://disco.ethz.ch/courses/distsys/lnotes/chapter17.pdf  The proof of Th. 17.13 is a sketch and it is different from the scenario argument used in the slides.  For the proof of impossibility with the scenario argument please refer to the book of Nancy Lynch.

Optional reads: Nancy Lynch book contains a detailed section on Byzantine Agreement, and it explains also the Exponential Information Gathering Algorithm (EIG). It has been the first byzantine agreement algorithm discovered.  (N. Lynch. 1998. - Chapter 6.3).

Wattenhofer notes on  crash tolerant consensus (https://disco.ethz.ch/courses/distsys/lnotes/chapter16.pdf)

Lecture 22: 13/12/ 2023  11:00-13:00  Aula Alfa - Via Salaria 113.

Material to read and key concepts: Synchronous byzantine agreement is not in the main book. Refer to the notes of Roger Wattenhofer https://disco.ethz.ch/courses/distsys/lnotes/chapter17.pdf  Pages 159-164.  The 17.12 in the slides is explained in a more detailed way with figures, but it remains the same argument of Th. 17.12 stated more precisely.


Lecture 23: 18/12/ 2023 14:00-17:00 Aula Alfa - Via Salaria 113.

EXERSICES ONLY: EXAM SIMULATION.

To reduce the number of prints needed, please bring a device (e.g, a smartphone) that can read PDF. 

Link to the text: text

Solutions

Lecture 24: 20/12/ 2023 Aula Alfa - Via Salaria 113.

Conclusion and research topics.