An algorithmic approach to distributed systems
- 2 ECTS
This course studies distributed systems that are characterized by distributed memory, no synchronisation, no native failure resilience, and grounds upon message-passing. Consequently, it is sometimes not trivial at all to build correct distributed applications without having a clear conceptual understanding about the underlying assumptions and their consequences on the distributed algorithms. The content of the course is thus to study how to solve the main problems that arise when many distributed and asynchronous activities are involved; typically, in order to reach a common, global and shared view or take a common and coherent decision.
Concrete objectives is thus to gain the key principles and some more advanced concepts that underlie distributed systems, through an algorithmic oriented approach.
Prerequisites: Algorithmics, basic notions of operating system and programming.