Composante
École Nationale Supérieure d'Électrotechnique d'Électronique d'Informatique d'Hydraulique et des Télécommunications
Objectifs
Introduction à la programmation distribuée en s'appuyant sur une connaissance de base des réseaux locaux et des protocoles TCP-UPD/IP. Présentation du modèle client-serveur. Introduction à la causalité, au consensus, et à la diffusion fiable.
Description
Le cours comporte deux parties:
– Introduction aux concepts de base de la programmation distribuée, au modèle client-serveur, à différents schémas de réalisation des serveurs (séquentiel, multi-entrées, à la demande, multi-threaded)
– Introduction à l'algorithmique distribuée, notion d'horloge logique, notion d'ordre causal, d'ordre total, au principe et solution du consensus distribuée et de la diffusion atomique.
Le bureau d'étude permet une mise en pratique de ces concepts et techniques de développement en s'appuyant sur les sockets BSD. Un problème de diffusion d'information est tout d'abord résolu par une approche client-serveur, une seconde solution s'appuyant sur un modèle pair-à-pair et sur la mise en œuvre d'un protocole de diffusion fiable.
Pré-requis obligatoires
Algorithmique, programmation C/C++, réseaux locaux, principes des systèmes d'exploitation,Unix.