Descriptif
Students who complete this module (organized in two modules of 24h each) will learn how to design distributed algorithms, reason about their correctness, and derive matching complexity bounds. The primary focus of the module is on understanding of the foundations of distributed computing. The first module will discuss basics of synchronization, fault-tolerant shared-memory computations, consensus and transactional memory.
Objectifs pédagogiques
Acquis d'apprentissageÀ l'issue de l'UE, l'élève sera capable de:
- Explain the principles underlying fault-tolerant distributed systems
- Design concurrent data structures and distributed algorithms
- Understand inherent costs and impossibilities in distributed computing
Compétences de rattachement (et justification)
- BC1.5 – Réaliser un système complexe en mettant en œuvre les solutions technologiques nécessaires, en s’appuyant sur les ressources humaines, techniques, matérielles disponibles en faisant preuve de rigueur, d’esprit critique et d’adaptabilité; Justification : A distributed system is a complex combination of technologies, and our course gives a principled approach to deal with it.
- BC10.3 – Analyser une résolution par des approches formelles ou mathématiques; Justification : We focus on the foundations of distributed systems, by taking a formal approach based on precise specifications and proofs.
48 heures en présentiel
12 heures de travail personnel estimé pour l’étudiant.