La matière ne sera pas nécessairement présentée dans cet ordre. Toutefois, l’ensemble des sujets sera présenté dans le cadre de ce cours. Les heures sont des heures approximatives d’enseignement pour chaque sujet et incluent le temps alloué à l’examen intra-trimestriel et à la revue pour l'examen final.
1. Fondements (7 heures)
- Introduction aux systèmes distribués
- Caractéristiques des systèmes distribués
- Cas d'étude: BigTable, Hbase, Cassandra, Spanner
- Théorème de CAP
2. Synchronisation de temps (7 heures)
- Horloge physique
- Temps logique
3. Coordination de processus (8.5 heures)
- Exclusion mutuelle et élection de leader
- Algorithmes de consensus: Paxos, Raft
4. Partage de données (9.5 heures)
- Réplication
- Modèles de cohérences
- Système de fichiers distribué: GFS
7. Chaînes de blocs (7 heures)
- Problème des généraux byzantins
- Cryptographie asymétrique
- Bitcoin: clés et script