ENSTA - 2 006 D8-1/ D8-2 Fondements et programmation des grands systèmes distribués Gilles Fedak INRIA Futurs (LRI/Université Paris XI) fedak@lri.fr Date du cours A6-1 Systèmes distribués ENSTA/G. FedakPlan du cours ● Cours 1 : Introduction aux systèmes d'exploitation, distribués et répartis. – Plan et objectifs du cours – Révision de programmation réseau ● TP : programmation réseau 1/ 2 : buffer, channel, connection ● Cours 2 : Communication dans les systèmes distribués – Client/serveur, appel de procédure à distance (RPC), représentation des données ● TP : programmation réseau 2/3 : server, asynchrone ● Cours 3 : Introduction à la programmation parallèle – Classe d'architectures parallèles, paradigmes de programmation SPM D, passage de messages, M PI ● TP: programmation M PI Date du cours A6-1 Systèmes distribués ENSTA/G. FedakPlan du cours ● Cours 4 : Introduction à l'algorithmique distribuée – M odèles, chronogramme, horloge de Lamport, horloge de M attern, coupure et snapshot ● Projet 1/3 ● Cours 5 : Cohérence des données – élection de leaders, réplication, cache distribué ● Projet 2/3 ● Cours 6 : Intergiciel pour les systèmes distribués – Bus logiciel, architecture 3 tiers, CORBA, W eb service ● Projet 3/3 Date du cours A6-1 Systèmes distribués ENSTA/G. FedakPlan du cours (2 eme semestre) ● Cours 7 : Les systèmes pair-à-pair (P2P) – TP 1/2: SOAP ● Cours 8 : Tolérance aux pannes – TP 2/2: SOAP ● Cours 9 : Cryptographie et sécurité – TP 1/2: Crypto ● Cours ...
Fondements et programmation des grands systèmes distribués
Date du cours
Gilles Fedak INRIA Futurs (LRI/Université Paris XI) fedak@lri.fr
A6-1 Systèmes distribués ENSTA/G. Fedak
Plan du cours
●
●
●
Cours 1 : Introduction aux systèmes d'exploitation, distribués et répartis. –Plan et objectifs du cours –Révision de programmation réseau ●TP : programmation réseau 1/ 2 : buffer, channel, connection Cours 2 : Communication dans les systèmes distribués –Client/serveur, appel de procédure à distance (RPC), représentation des données ●TP : programmation réseau 2/3 : server, asynchrone Cours 3 : Introduction à la programmation parallèle –Classe d'architectures parallèles, paradigmes de programmation SPMD, passage de messages, MPI ●TP: programmation MPI
Date du cours
A6-1 Systèmes distribués ENSTA/G. Fedak
Plan du cours
●
● ●
Cours 4 : Introduction à l'algorithmique distribuée – de Lamport, horloge deModèles, chronogramme, horloge Mattern, coupure et snapshot ●Projet 1/3 Cours 5 : Cohérence des données –élection de leaders, réplication, cache distribué ●Projet 2/3 Cours 6 : Intergiciel pour les systèmes distribués –Bus logiciel, architecture 3 tiers, CORBA, Web service ●Projet 3/3
Date du cours
A6-1 Systèmes distribués ENSTA/G. Fedak
Plan du cours (2eme semestre)
●
●
●
●
●
●
Cours 7 :Les systèmes pair-à-pair (P2P)
–TP 1/2: SOAP
Cours 8 :Tolérance aux pannes
–TP 2/2: SOAP
Cours 9 :Cryptographie et sécurité
–TP 1/2: Crypto
Cours 10 :Gestion des ressources à grande échelle
–TP 2/2: Crypto
Cours 11 : Les grilles de calcul et de données (GRID)
–TP 1/2: Globus
Cours 12 :Examen final
–TP 2/2: Globus Date du cours A6-1 Systèmes distribués ENSTA/G. Fedak
Introduction aux systèmes distribués
●
Qu'est-ce qu'un système distribué ?
–
«Un système distribué est une collection d'ordinateur indépendants qui apparaissent pour l'utilisateur de ce système comme un unique odinateur »
Date du cours
A. S. Tanenbaum (Distributed Operating Systems)
A6-1 Systèmes distribués ENSTA/G. Fedak
Visions des systèmes distribués
●
●
●
Vision matérielle d'un système distribué : architecture matérielle
–Organisation des ressources matérielle :
●Réseaux, processeurs, stockage et mémoire Vision logicielle d'un système distribué
–Divers couches : applications/middleware/OS
Vision algorithmique
–Définitions d'un formalisme
–Expression d'algorithme
Date du cours
A6-1 Systèmes distribués ENSTA/G. Fedak
Exemples d'architectures/réseaux
●
●
●
●
Machine parallèle et multi-processeurs –Vise la haute-performance. Machine dédiée
–Tres grand nombre de machines, appartiennent à des utilisateurs individuels, serveurs. –Grande variété d'application (mail, web, P2P)
Comment construire des systèmes distribués pour des architectures/réseaux aussi différentes?
Date du cours
A6-1 Systèmes distribués ENSTA/G. Fedak
Fortement couplé
Faiblement couplé
Internet
2006 :1 milliard d'utilisateurs
Date du cours
●
●
Historique –1966 : ARPANET –1972 : TCP –1993 : Web Caractéristiques des ressources –Trés nombreuses (> x millions) –Pas de sécurité et pas de confiance –Volatiles (pannes et défaillance) –Domaine d'administrations différents –Faibles performances : réseau/stockage/calcul
A6-1 Systèmes distribués ENSTA/G. Fedak
Rappel : les couches réseau
Date du cours
●
●
Organisation en couche
–Chaque couche ne communique qu'avec la couche directement inférieure