La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) H. Fauconnier (LIAFA Université Paris 7)

Présentations similaires


Présentation au sujet: "INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) H. Fauconnier (LIAFA Université Paris 7)"— Transcription de la présentation:

1 INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) H. Fauconnier (LIAFA Université Paris 7)

2 INTRODUCTIONEnpc 2 Plan du cours: 1. Introduction générale 2. Réseaux Principes généraux, TCP-IP, mise en œuvre 3. Algorithmique distribuée Horloges logiques, snapshots, état global, cohérence, transactions 4. Introduction au calcul parallèle PVM, mise en œuvre 5. Applications distribuées et services OMG Corba 6. Tolérance aux pannes Types de défaillances, problèmes daccord 7. Grande échelle P2P, grilles de calcul

3 INTRODUCTIONEnpc 3 Introduction Diversité des systèmes distribués: Quelques exemples Systèmes embarqués: ex avionique aérospatiale Coopération faible Fortement « synchrone » Tolérance aux pannes (safety critical) Durée de vie Pas de problème de confidentailité Client(s)/serveur(s) Modèle assez général ( pair à pair) Généralement asynchrone Des réseaux locaux au réseaux de grande taille Continuité du service: réplication (assurer la cohérence!) Problème de sécurité et de confidentialité

4 INTRODUCTIONEnpc 4 Diversité… suite Système de réservation et base de données distribuées: répartition Assurer la concurrence : cohérence des données, transaction Tolérance aux pannes par réplication Nombreux sites Autres propriétés: sécurité (confidentialité) et équité Pair à pair: (kazaa, gnutella, emule…) Partage et répartition de données Recherche des données (ex DHT) Pas de problème de cohérence (?) Plusieurs millions de sites Confidentialité (?)

5 INTRODUCTIONEnpc 5 Diversité… Grille de calcul Calculs parallèles Efficacité, algorithmique Plusieurs centaines de milliers de sites Le web comme système à image unique Stockage réparti Puissance de calcul arbitrairement grande

6 INTRODUCTIONEnpc 6 Distribués… Quelques critères: Nombre de sites et répartition Dizaine pour avionique Plusieurs millions P2P Mémoire partagée ou communication par messages Partage de bus TCP sur le web Communication Fiabilité Connecté (TCP) ou non (UDP) Synchrone / asynchrone (ici synchrone = il existe une borne connue sur les délais de communication) Point à point ou diffusion Graphe de communication (routage) …

7 INTRODUCTIONEnpc 7 Critères… Processeurs synchrones ou asynchrones, horloges globales ou locales (ici synchrone = le temps pour effectuer un pas de calcul est connu) Exemple: calcul parallèle : à chaque top tous les processeurs font un pas de calcul, les échanges se font pas partage de la mémoire: PRAM. Problème de la gestion des conflits daccès Tolérances aux pannes: Quel type de défaillances? Processeurs / communication La redondance Active Passive Sécurité (confidentialité) Cryptographie …

8 INTRODUCTIONEnpc 8 Le cours: objectifs La réalité de base: le réseau Calculs parallèles: comment implémenter des algorithmes parallèles (exemple PRAM) sur des réseaux de processeurs -> PVM Définir des standards et des classes dapplications distribuées (exemples client/serveur, modèles de la répartition) -> OMG Corba

9 INTRODUCTIONEnpc 9 Le cours: objectifs Algorithmes: Spécificité de lalgorithmique distribuée

10 INTRODUCTIONEnpc 10 Algorithmique Une algorithmique « différente » Parallélisme: répartir les calculs localement -> dautres algorithmes Distribué: état local accessible, état global du système difficile (ou impossible) à obtenir Tolérance aux pannes: types de défaillances. Problèmes daccords.

11 INTRODUCTIONEnpc 11 Deux exemples…

12 INTRODUCTIONEnpc 12 Terminaison distribuée Chaque employé est dans un bureau: Un téléphone Une pile de dossiers à traiter Il peut (de façon imprévisible) Traiter des dossiers et peut être amené à donner du travail aux autres Recevoir du travail à faire des autres Il sait sil a fini (localement) son travail (mais attention même dans ce cas il peut encore recevoir du travail)

13 INTRODUCTIONEnpc 13 Terminaison distribuée Objectif: au lieu dappliquer les 35 heures, les employés peuvent rentrer chez eux si tout le travail est terminé. Solution(s)?

14 INTRODUCTIONEnpc 14 Chaque employé Fait de façon non déterministe: *[ ¬fini -> travail ¬fini -> envoyer message pour donner du travail ¬fini -> fini = true reçu message -> fini = false ] Terminaison locale: fini Terminaison distribuée: pour tout processus p fini p

15 INTRODUCTIONEnpc 15 Terminaison distribuée Tout le travail est terminé= Terminaison distribuée ( Terminaison locale) La solution ne doit pas modifier le déroulement normal du travail La solution doit assurer 1. Sûreté: si lalgorithme dit que la terminaison distribuée est atteinte, cest vrai! 2. Vivacité: si à un instant donné la terminaison distribuée est vraie, lalgorithme le détectera (peut-être plus tard).

16 INTRODUCTIONEnpc 16 Remarques : La terminaison distribuée est la conjonction des terminaisons locales La terminaison distribuée est une propriété stable. Si TD est vraie à linstant t, TD sera vraie pour tout t>t (condition du problème) (importance du téléphone!)

17 INTRODUCTIONEnpc 17 Terminaison distribuée Une solution: Si quelquun a terminé localement, il lance un parcours de jeton v1 (consultation séquentielle de tout le monde) en demandant si on a terminé Quand v1 arrive chez moi, je garde le jeton jusquà ce que jai terminé localement Si linitiateur du jeton reçoit v1, il lance un parcours de jeton v2, Quand v2 arrive chez moi, si jai terminé localement ET je nai rien fait depuis v1 alors je transmets le jeton au suivant Si linitiateur reçoit v2, la terminaison distribuée est atteinte.

18 INTRODUCTIONEnpc 18 Principe Soit U p linstant où v1 arrive en p et D p linstant où v2 arrive en p. On a: Terminaison locale de p entre U p et D p Comme v1 visite tous les sites et v2 commence après la fin de v1, si i est linitiateur, on a: Terminaison locale de tous les p entre D i et D p => en D i terminaison locale de tous les p et donc terminaison distribuée en D i La terminaison distribuée est stable donc pour tout t>D i on a encore la terminaison distribuée Sûrete

19 INTRODUCTIONEnpc 19 Principe… La vivacité: Supposons que la terminaison distribuée soit réalisée: Soit p le dernier processus ayant atteint la terminaison locale, les jetons v1 et v2 quil lance lui reviendront et la terminaison distribuée est bien détectée (on peut bien sûr améliorer cet « algorithme » en gérant mieux les jetons, on peut généraliser à des « vagues » (consultation de tous et on sait quand tout le monde a été consulté))…

20 INTRODUCTIONEnpc 20 Deuxième exemple… Accord byzantin: Armée byzantine: Généraux traîtres et généraux honnêtes Un traître peut faire nimporte quoi (adversaire) Un général honnête respecte son code Communication synchrone par messages Un général en chef donne un ordre (attaque ou repli stratégique)

21 INTRODUCTIONEnpc 21 Accord byzantin Assurer que tous les généraux honnêtes prennent la même décision et que cette décision est lordre donné par le général en chef (si ce dernier est honnête!) Décision irrévocable telle que: Accord: si p et q sont honnêtes p et q ne peuvent décider différemment Terminaison: si p est honnête il décidera (une seule fois) Validité: si le général en chef est honnête, la seule décision possible est son ordre

22 INTRODUCTIONEnpc 22 Exemple: 4 généraux dont au plus un traître: Ronde 1: le général en chef envoie à tous son ordre. Ronde 2: les autres échangent les valeurs reçues en ronde 1 (chaque général (honnête) a 3 valeurs: celle quil sest envoyé lui-même (= celle quil a reçu en ronde 1 et la valeur de chacun des deux autres) Choisir la valeur majoritaire

23 INTRODUCTIONEnpc 23 Suite Si le général en chef est honnête: À la fin de la ronde 1, tous les généraux ont son ordre v, Dans la ronde 2 au plus un général est un traître: Tous généraux honnêtes récupèrent au moins 2 fois v et au plus une fois une valeur différente Décision v!

24 INTRODUCTIONEnpc 24 Fin Si le général en chef est un traître, en ronde 2 il ny a plus que des généraux honnêtes! À la fin de la ronde 2 ils ont tous les mêmes valeurs ce qui assure laccord! Généralisation?

25 INTRODUCTIONEnpc 25 Et sil ny a que trois généraux dont 2 sont honnêtes? AB: 1 C :1 A :0B :0 C A 0B C 1 Décision 1Décision 0Décision ? Intuition…


Télécharger ppt "INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) H. Fauconnier (LIAFA Université Paris 7)"

Présentations similaires


Annonces Google