Docente
|
Di Luna Giuseppe Antonio
(programma)
The complete program (with all the recorded video lectures) can be found in the official course website:
https://sites.google.com/view/distributedsystems-2020-mscybe/lectures
The course is divided temporally into three parts each part takes roughly 4 weeks.
Thus the course is divide in a first part with Modules M1,M2, M3 (20 hours)
a second part with modules: M4, M5 (20 hours)
and a last part with modules: M6, M7 (20 hours)
Introduction to Distributed Systems
-Brief history;
-Challanges;
-Motivations.
M1: Models, Abstractions, and Basic Concepts
-Processes, communication, traces and execution, I/O Automata;
-Failures: crash-stop, and byzantine;
-Event based programming: abstraction, specification and implementations;
-Links: fair-lossy, stubborn, point-to-point.
References: https://sites.google.com/view/distributedsystems-2020-mscybe/lectures
M2: Time in Distributed Systems
-Synchronous, asynchronous, and eventually synchronous systems;
-Clock Synchronization: Christian, Berkley, NTP;
- Clock sync. Tree based vs Fully-Distributed Algorithms, Local Skew vs Global Skew, The limits of ordering with timestamps
-Logical clocks and Vector Clock, Happened-before relationship.
-Encapusaliting time in failure detectors: P, $\Diamond$-P;
-Leader election and Eventual Leader Election
-Distributed system models: fail-stop, fail-noisy, fail-silent."
References: https://sites.google.com/view/distributedsystems-2020-mscybe/lectures
M3: Basic Broadcast Primitives
- Best effort broadcast;
- Reliable broadcast;
- Uniform reliable broadcast;
- Causal broadcast.
References: https://sites.google.com/view/distributedsystems-2020-mscybe/lectures
M4: Shared Memories
- Consistency: regular, sequential consistency and linearizability;
- Regular (1,N) register: Message Passing and (1,1)-Regular implementation
- Atomic (1,1), (1,N) and (N,N) registers;
- Non composability of sequential consistency;
-Relationship between consistency properties;"
https://sites.google.com/view/distributedsystems-2020-mscybe/lectures
M5: Consensus
-Consensus specification;
-Hiearchical consensus: uniform and non-uniform;
-FLP: proof not required only the statement
-Paxos.
https://sites.google.com/view/distributedsystems-2020-mscybe/lectures
M6: Total Ordering and Replicated State Machine
-Total Order broadcast
-Replicated State Machine and Raft.
-Active Replication vs Primary Backup
https://sites.google.com/view/distributedsystems-2020-mscybe/lectures
M7: BFT
Intro:
- Byzantine failures.
- Authenticated Channel and crypto assumptions.
- Byzantine Broadcast, consistent and reliable.
https://sites.google.com/view/distributedsystems-2020-mscybe/lectures
Consensus:
-synchronous systems: an impossibility result: the necessity of 3f+1 (Not Formal see slides).
-synchronous systems: King Algorithm
-eventually-synchronous system: PBFT"
https://sites.google.com/view/distributedsystems-2020-mscybe/lectures
Introduction to Reliable and Secure Distributed Programming - C. Chacin, R. Guerraoui, and L. Rodrigues. 2011
|