Logo ÉTS
Session
Cours
Responsable(s) Kaiwen Zhang

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement





Cours

Contenu[1]

1.  Fondements (6 heures[2])

  • Introduction aux systèmes distribués
  • Caractéristiques des systèmes distribués
  • Infrastructure réseau et systèmes d'exploitation
  • Communication interprocessus et appel de procédure à distance
  • Exemples d'applications (service de noms, service de répertoire, Big Data)

2.  Algorithmes distribués (9 heures)

  • Synchronisation d'horloge physique
  • Temps logique
  • Coordination

3.  Partage de données (6 heures)

  • Modèles de cohérences
  • Transactions
  • Réplication et agents mobiles

4.  Connaissances avancées (3 heures)

  • Hachage cohérent
  • Théorème CAP
  • Cache web

5. Traitement d'informations Big data (4.5 heures)

  • MapReduce
  • Spark

6.  Systèmes P2P (4.5 heures)

  • Tables de hachage distribuées (DHT)
  • Applications
  • Réseau Tor

7. Chaînes de blocs (6 heures)

  • Problème des généraux byzantins
  • Cryptographie asymétrique, arbre de Merkle
  • Plateformes: Bitcoin, Ethereum, Hyperledger

[1] 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.

[2]  ces 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.

 

 

Laboratoires et travaux pratiques

Des exercices seront donnés environ à chaque semaine durant les laboratoires. Ces exercices ne seront pas corrigés. Les solutions aux questions seront données et discutées durant les laboratoires, une semaine après que les exercices sont publiés. Le but de ces exercices est d'approfondir les connaissances sur le matériel vu en classe et de se préparer pour les examens.

Le projet de trimestre a pour but de faire la synthèse des connaissances acquises dans le cadre du cours et d'acquérir de nouvelles connaissances liées au cours. Les étudiants peuvent proposer leurs propres projets ou choisir parmi la liste suggérée (14 heures).


Utilisation d'outils d'ingénierie

Les projets de trimestre sont développés en langages C/C++ ou JAVA dans un environnement Posix ou Windows.