Logo ÉTS
Session
Cours
Responsable(s) Kaiwen Zhang

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement





Cours

Contenu:

  • Introduction aux systèmes distribués (4 heures)
    • Introduction au cours
    • Définition d'application et système distribué
    • Exigences des applications et systèmes distribués
    • Transparence dans les applications et systèmes distribués
    • Examples d'applications distribués
  • Appel de procédure distante RPC (7 heures)
    • Différences entre objets locaux et objets distribués
    • Représentation de données externes: JSON, Protobuf, Thrift
    • Technologies: JSON-RPC, gRPC
  • Intergiciels de messagerie (7 heures)
    • Files d'attente: AMQP, RabbitMQ, MQTT
    • Publish/Subscribe orienté contenu
    • Kafka
  • Applications Big Data (8 heures)
    • MapReduce, Spark
    • Traitement continue de données: Storm, Flink
  • Systèmes décentralisés (13 heures)
    • Réseaux pair-à-pair: Tables de hachage distribuées
    • Applications pair-à-pair: Skype, Spotify, BitTorrent
    • Technologies de chaînes de blocs: Bitcoin, Ethereum, Hyperledger
    • Contrats intelligents: Solidity

[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 cours. Ces exercices ne seront pas corrigés. Les solutions aux questions seront données 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.

Il y aura trois (3) laboratoires, chacun servant d’introduction aux technologies suivantes :

  1. Publish/Subscribe
  2. Traitement de données Big/Fast Data
  3. Application décentralisée (Solidity et Ethereum)

La durée ainsi que le travail à accomplir pour chacun des laboratoires seront spécifiés durant le trimestre.

Si vous éprouvez des difficultés techniques avec le matériel des laboratoires du département, s.v.p. communiquez le problème à support-logti@etsmtl.ca.


Utilisation d'outils d'ingénierie

Les laboratoires sont développés en langages C/C++ ou JAVA dans un environnement Posix ou Windows. D'autres langages peuvent être proposés.