F2B101B : Mise en oeuvre des Systèmes Logiciels Distribués


Retour
Imprimer la fiche programme
Code analytique: EDF02B101
Responsable  :    
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.

Objectifs (obsolète):

Les objectifs de ce module se décline 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 ne place de consensus en distribué
- algorithme 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
- décortiquer un ou plusieurs systèmes et montrer les implémentation des concepts vus dans la partie 2

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…


PATTERNS et conception des intergiciels


Mise en œuvre de mécanismes de haut niveau de distribution avec Ada 95
- présentation rapide de aspects distribués proposés par Ada 95
- mise en oeuvre de ces concepts dans le cadre de l'environnement
GNAT (gcc pour Ada 95)


Année 2006/2007
Dernière mise à jour le 04-JUL-06
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