Number of hours
- Lectures 12.0
- Laboratory works 6.0
ECTS
ECTS 2.0
Goal(s)
The objective is to master the basic algorithmic concepts underlying distributed systems. For instance, we will study the notions of machine failures, synchronous vs asynchronous communications, fault detection.
In oder to better understand the theoretical concepts presented during the lectures, the students will realize a lab project (design and implementation of a distributed algorithm).
Contact Vivien QUEMAContent(s)
This module contains two complementary parts:
The first part is about the basic algorithmic concepts underlying distributed systems. Within this part, we will study the following concepts: machine failures, synchronous vs asynchronous communications, fault detection, etc. We will illustrate these notions via the study of a set of algorithms that form the basis of most distributed systems (broadcast, consensus, etc.).
The second part is a lab project that consists in designing and implementing a distributed algorithm.
Prerequisites
First session:
Written exam (E1)
Practical activity (TP)
The only documents that are allowed are lecture notes.
Second session:
Written exam (E2)
Practical activity (TP) - the mark is the one of the first session.
The only documents that are allowed are lecture notes.
N1=(2*E1+TP)/3
N2=(2*E2+TP)/3
Introduction to Reliable and Secure Distributed Programming.
Christian Cachin, Rachid Guerraoui, and Luís Rodrigues.
Distributed Algorithms.
Nancy Lynch