F2B101B : Mise en oeuvre des systèmes logiciels distribués


Retour
Imprimer la fiche programme
Code analytique: EDF02B101
Responsable  : Yvon KERMARREC   
Programmé en UVF2B101

Présentation :

Ce module vise à examiner les différentes approches et algorithmes nécessaires au fonctionnement des systèmes distribués.
Ces derniers introduisent une nouvelle thématique qui associe communication par réseau et informatique et de ce fait rende indispensable une nouvelle algorithmique. Dans un premier, nous aborderons l'algorithmique pour le contrôle distribué pour la gestion des ressources, la duplication des données, le consensus, etc. Ces différents algorithmes seront comparés afin de mettre en évidence leurs qualités mais aussi leurs comportements en cas de défaillance.

Une deuxième étape s'interessera à la mise en place des systèmes distribués. Il s'agit donc d'explorer comment les concepts de haut niveau (tels la duplication de service, les transactions...) sont effectivement mis en oeuvre dans les systèmes distribués.

Les objectifs de ce module se déclinent sous la forme de 3 sous objectifs :
- faire le lien entre les concepts de haut niveau et ceux de bas niveau (système d'exploitation, réseau et machines),
- étudier une nouvelle algorithmique afin de résoudre les problèmes classiques du contrôle distribué.

Volume horaire : 33h


Contenu détaillé :

Algorithmique distribuée pour la mise en œuvre de contrôles :
point clé : montrer qu’une autre algorithmique existe et surtout montrer les différentes recettes de ces algorithmes : organisation en arbre, en anneau, distribution du contrôle et des structures de données liées au contrôle
- algorithme classiques autour de l’exclusion mutuelle : comparer les algorithmes proposés et surtout montrer leur approche de conception : Lamport, Ricart, Maekawa et Raymond
- introduire la mise en place de consensus en distribué
- algorithmes avancés avec la resynchronisation des horloges (vers les protocoles), la détection de terminaison et d’interblocage, la prévention des interblocages, etc…


Cohérence et réplication des données et du contrôle
point clé : c est ici toute la difficulté liée à la duplication des données et à la cohérence des doublons. On peut aussi se référer aux caches webs.
- les modèles de cohérences
- les protocoles
- la notion de mémoire partagée virtuelle
- application au serveur de noms
- un TP pour mettre en place une politique de cohérence (simulation)

la tolérance aux fautes
point clé : c’est un thème lié à la nature même des systèmes distribués…. Comment améliorer la fiabilité ?
- nature des pannes et des fautes
- communication fiable
- le commit en distribué
- « recovery » et point de reprise

Implémentation de CORBA ou de Java RMI,
point clé :
- comment ca marche ?
- exploration de plusieurs systèmes afin d'évaluer les différentes mises en oeuvre.

Implémentation des Web services


Vers des OS distribué :

- établir le lien avec des services offerts par les OS : avec, en particulier, une présentation de NFS
- Aborder les services qu’un OS peut offrir : répartition de charge etc…




Année 2019/2020
Dernière mise à jour le 11-JAN-19
Validation par le responsable de programme le


IMT Atlantique
Campus de Brest
Technopôle Brest-Iroise
CS 83818
29238 Brest Cedex 3
France

Tél  +33 (0)2 29 00 11 11
Fax +33 (0)2 29 00 10 00