Logo ÉTS
Session
Cours
Responsable(s) Kaiwen Zhang

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Kaiwen Zhang


PLAN DE COURS

Été 2018
LOG735 : Systèmes distribués (3 crédits)





Préalables
Programme(s) : 7365
             
  Profils(s) : Pour tous les étudiants  
             
    LOG645    
             
Unités d'agrément
Données non disponibles




Descriptif du cours
Ce cours présente les principaux concepts de base liés aux systèmes distribués tels que réseau informatique, système d’exploitation, communication interprocessus, appel de procédure à distance, service de noms et service de répertoire. Il vise également à familiariser l’étudiant avec des aspects importants dans les systèmes distribués, tels que la coordination, la réplication et les agents mobiles.

Au terme de ce cours, l'étudiant sera en mesure de :
• démontrer l’impact des principaux facteurs qui produisent des variétés de modèles basés sur les différents modèles architecturaux et fondamentaux;
• analyser et concevoir des applications distribuées exploitant différents systèmes d’exploitation, s’exécutant sur différents matériels et reliées par différents réseaux de télécommunications;
• concevoir et implémenter des méthodes de synchronisation dans les systèmes distribués.



Objectifs du cours
  • Concevoir et implémenter des architectures d'applications et de systèmes distribués
  • Appliquer des principes fondamentaux pour le développement de systèmes distribués
  • Comprendre les propriétés des composantes utilisées dans la conception de systèmes distribués
  • Apprécier les défis liés à l'entretien de systèmes à grande échelle (pannes de réseaux et de machines, concurrence, etc.)
  • Étudier des concepts avancés pour des systèmes spécialisés (MapReduce, P2P, Chaîne de blocs, etc.)



Stratégies pédagogiques

Les objectifs seront atteints par un enseignement sous la forme d'un cours magistral, à raison de trois (3) heures par semaine pendant treize (13) semaines. La participation active des étudiant(e)s sera sollicitée via divers exercices en classe durant les cours. Les concepts vus en classe seront mis en application par l’intermédiaire de douze (12) séances de laboratoires et projets de deux (2) heures chacune.




Utilisation d’appareils électroniques

L'utilisation d'appareils électroniques en classe est interdite. Aucun enregistrement (photographie, film ou audio) ne sera toléré.




Horaire
Groupe Jour Heure Activité
01 Mercredi 08:30 - 10:30 Laboratoire (Groupe A)
Mercredi 10:30 - 12:30 Laboratoire (Groupe B)
Jeudi 13:30 - 17:00 Activité de cours



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Kaiwen Zhang Activité de cours Kaiwen.Zhang@etsmtl.ca A-4475



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.




Évaluation
Examen intra 30 %
Examen final 40 %
Projet de trimestre 30 %

Le projet de trimestre est sous-divisé de la façon suivante:

  • Proposition de projet: 5%
  • Rapport, code, et documentation du projet: 15%
  • Présentation du projet final: 10%

L'étudiant(e) doit avoir une moyenne d'au moins 50% dans les travaux individuels afin de réussir le cours. Cette condition est nécessaire mais non suffisante.

Les deux (2) examens sont sans documentation et seule une calculatrice non programmable est permise.




Dates des examens intra
Groupe(s) Date
1 31 mai 2018



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/Examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.

Dispositions additionnelles

Veuillez respecter la procédure de remise, de même que les échéances fixées :

Retard de moins de 24 heures : perte de 10 %;
Retard de plus de 24 heures, mais moins de 48 heures: perte de 20 %;
Retard de plus de 48 heures, mais moins de 72 heures: perte de 30 %;
Retard de plus de 72 heures: perte de 100 %.




Absence à un examen
• Pour les départements à l'exception du SEG :
Dans les cinq (5) jours ouvrables suivant la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat ou autre) à un examen entraînera l’attribution de la note zéro (0).

• Pour SEG :
Dans les cinq (5) jours ouvrables suivant la tenue de son examen, l’étudiant devra justifier son absence auprès de son enseignant. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat ou autre) à un examen entraînera l’attribution de la note zéro (0).



Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiants doivent consulter le Règlement sur les infractions de nature académique (https://www.etsmtl.ca/A-propos/Direction/Politiques-reglements/Infractions_nature_academique.pdf ) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet.  À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et les étudiants sont invités à consulter la page Citer, pas plagier ! (https://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).



Documentation obligatoire

Manuels de cours (disponible en ligne):

  • Coulouris, G., J. Dollimore et T. Kindberg. Distributed Systems – Concepts and Designs, 5th edition, Addison-Wesley, 2012. (CKDB)
  • Tanenbaum, A., van Steen, M. Distributed Systems: Principles and Paradigms. Prentice Hall International, 2001. (TS)



Ouvrages de références

Tout autre matériel sera fourni en ligne à chaque semaine.




Adresse internet du site de cours et autres liens utiles

https://ena.etsmtl.ca/course/view.php?id=7700 (Moodle)




Autres informations

Ce cours utilise la plateforme Moodle pour toute communication durant le semestre. Les élèves pourront aussi utiliser Moodle pour poser des questions à l'enseignant.