Systèmes Informatiques Distribués

  • See this page in english

    En bref

  • Code : N8EE17A

Objectifs

Les systèmes informatiques actuels, qu’ils soient embarqués (avionique, automobile) ou non (systèmes de production par exemple), sont distribués, c’est-à-dire que les applications et les services sont mis en œuvre sur un réseau de calculateurs. La programmation distribuée peut
être définie comme un ensemble d’entités logicielles communicantes qui réalisent une fonction du système.

L’objectif de ce cours est de décrire et de mettre en pratique (1) les concepts de base de la programmation distribuée selon le modèle client-serveur, ainsi que (2) les principes de l’algorithmique distribuée.

Description

La programmation distribuée est illustrée en utilisant les BSD Sockets pour réaliser des applications client-serveur avec différents protocoles de communication, datagramme (UDP) et connecté (TCP). Différents modèles de serveur sont présentés, du serveur séquentiel en mode datagramme au serveur multi-threaded en mode connecté. Les différents modèles sont mis en œuvre dans un bureau d’étude sur un réseau de machines Linux.
La programmation distribuée est abordée selon la problématique de la diffusion fiable de messages vers un groupe de processus et la problématique du consensus.

Un bureau d’étude propose aux étudiants de mettre en œuvre un mécanisme de diffusion fiable et de l’utiliser dans une application peer-to-peer.

Compétences visées

A l’issue de ce cours, l’étudiant est capable de réaliser une application répartie sur un réseau de calculateurs, en particulier sous le système d’exploitation Linux.

Bibliographie

Tim Jones, “BSD sockets programming from a mul-language perspecve”, Eyrolles, Charles River Media Eds.,
ISBN 9781584502685, 2003, 464 p.
Nancy A. Lynch, “Distributed Algorithms”, ISBN 9781558603486, Morgan Kaufmann Publishers, 1996, 872 p.

Pré-requis nécessaires

Une bonne connaissance de l’algorithmique, des protocoles sur réseau IP, de la programmation en C, des principes des systèmes d’exploitation, en particulier la pratique de Linux, sont nécessaires.

Session 1 ou session unique - Contrôle des connaissances

ModalitéNatureCoefficientRemarques
CT (contrôle terminal) Oral/Ecrit100%Examen Systmèes Informatiques Distribués

Session 2 - Contrôle des connaissances

ModalitéNatureCoefficientRemarques
CT (contrôle terminal) Oral/Ecrit100%Examen Systmèes Informatiques Distribués

Contact(s)

FABRE JEAN-CHARLES

Contactez l’ENSEEIHT

L’École Nationale Supérieure d'Électrotechnique, d'Électronique, d'Informatique, d'Hydraulique et des Télécommunications

2, rue Charles Camichel - BP 7122
31071 Toulouse Cedex 7, France

+33 (0)5 34 32 20 00

Certifications

  • Logo MENESR
  • Logo UTFTMP
  • Logo INP
  • Logo INPT
  • Logo Mines télécoms
  • Logo CTI
  • Logo CDEFI
  • Logo midisup