School / Prep
ENSEIRB-MATMECA
Internal code
ET8IF223
Description
The aim of the course is to introduce distributed algorithms and the theoretical foundations of concurrent programming.
Familiarize students with
- the main models that have been proposed to abstract the wide variety of existing distributed systems ranging from networks to multicore machines.
classical problems (election, consensus, mutual exclusion, broadcast, consistency of shared data, etc.) and the main algorithmic techniques proposed to solve them, while highlighting the link between the computational model, the solution and their complexity.
-techniques to guarantee fault tolerance (e.g. replication)
Design simple distributed algorithms.
Finally, this course presents various current applications and problems to show the evolution of distributed systems and their applications (e.g. Bitcoin).
Teaching hours
- CIIntegrated courses28h
Mandatory prerequisites
IF111
Syllabus
1) Introduction, general presentation 2) Mutual exclusion and synchronization
3) Shared objects and consistency criteria (Linearisability)
4) Classical problems in the message exchange model (Leader election, spanning tree construction, broadcast)
5) Consensus in different models and impossibilities
6) Fault tolerance and replication
7) Bitcoin
Further information
Assessment of knowledge
Initial assessment / Main session - Tests
Type of assessment | Type of test | Duration (in minutes) | Number of tests | Test coefficient | Eliminatory mark in the test | Remarks |
---|---|---|---|---|---|---|
Integral Continuous Control | Continuous control | 1 |