• Composante

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

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.

Lire plus

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.

Lire plus

Pré-requis obligatoires

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.

Lire plus

Informations complémentaires