25
INTRODUCTION Enpc 1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) ([email protected]) H. Fauconnier (LIAFA Université Paris 7) ([email protected])

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

Embed Size (px)

Citation preview

Page 1: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 1

Systèmes distribuésC. Delporte-Gallet (ESIEE-IGM)([email protected])

H. Fauconnier (LIAFA Université Paris 7)([email protected])

Page 2: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 2

Plan du cours:1. Introduction générale2. Réseaux

Principes généraux, TCP-IP, mise en œuvre3. Algorithmique distribuée

Horloges logiques, snapshots, état global, cohérence, transactions4. Introduction au calcul parallèle

PVM, mise en œuvre5. Applications distribuées et services

OMG Corba6. Tolérance aux pannes

Types de défaillances, problèmes d’accord7. Grande échelle

P2P, grilles de calcul

Page 3: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 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é

Page 4: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 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é (?)

Page 5: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 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

Page 6: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 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) …

Page 7: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 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 d’accès

Tolérances aux pannes: Quel type de défaillances?

Processeurs / communication La redondance

Active Passive

Sécurité (confidentialité) Cryptographie

Page 8: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 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 d’applications distribuées (exemples client/serveur, modèles de la répartition) -> OMG Corba

Page 9: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 9

Le cours: objectifs Algorithmes:

Spécificité de l’algorithmique distribuée

Page 10: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 10

Algorithmique Une algorithmique « différente »

Parallélisme: répartir les calculs localement -> d’autres algorithmes

Distribué: état local accessible, état global du système difficile (ou impossible) à obtenir

Tolérance aux pannes: types de défaillances. Problèmes d’accords.

Page 11: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 11

Deux exemples…

Page 12: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 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 s’il a fini (localement) son travail (mais

attention même dans ce cas il peut encore recevoir du travail)

Page 13: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 13

Terminaison distribuéeObjectif:

au lieu d’appliquer les 35 heures, les employés peuvent rentrer chez eux si tout le travail est terminé.

Solution(s)?

Page 14: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 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: finiTerminaison distribuée: pour tout processus p finip

Page 15: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 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 assurer1. Sûreté: si l’algorithme dit que la terminaison

distribuée est atteinte, c’est vrai!2. Vivacité: si à un instant donné la terminaison

distribuée est vraie, l’algorithme le détectera (peut-être plus tard).

Page 16: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 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 à l’instant t, TD sera

vraie pour tout t’>t(condition du problème)(importance du téléphone!)

Page 17: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 17

Terminaison distribuée Une solution:

Si quelqu’un 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 j’ai terminé localement

Si l’initiateur du jeton reçoit v1, il lance un parcours de jeton v2,

Quand v2 arrive chez moi, si j’ai terminé localement ET je n’ai rien fait depuis v1 alors je transmets le jeton au suivant

Si l’initiateur reçoit v2, la terminaison distribuée est atteinte.

Page 18: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 18

Principe Soit Up l’instant où v1 arrive en p et Dp

l’instant où v2 arrive en p. On a: Terminaison locale de p entre Up et Dp

Comme v1 visite tous les sites et v2 commence après la fin de v1, si i est l’initiateur, on a: Terminaison locale de tous les p entre Di et Dp

=> en Di terminaison locale de tous les p et donc terminaison distribuée en Di

La terminaison distribuée est stable donc pour tout t>Di on a encore la terminaison distribuée

Sûrete

Page 19: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 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 qu’il 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é))…

Page 20: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 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 n’importe 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)

Page 21: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 21

Accord byzantin Assurer que tous les généraux honnêtes

prennent la même décision et que cette décision est l’ordre 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

Page 22: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 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

qu’il s’est envoyé lui-même (= celle qu’il a reçu en ronde 1 et la valeur de chacun des deux autres)

Choisir la valeur majoritaire

Page 23: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 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!

Page 24: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 24

Fin Si le général en chef est un traître,

en ronde 2 il n’y 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 l’accord!

Généralisation?

Page 25: INTRODUCTIONEnpc1 Systèmes distribués C. Delporte-Gallet (ESIEE-IGM) (cd@liafa.jussieu.fr) H. Fauconnier (LIAFA Université Paris 7) (hf@liafa.jussieu.fr)

INTRODUCTION Enpc 25

Et s’il n’y a que trois généraux dont 2 sont honnêtes?

A B: 1

C :1

A :0 B :0

C

A 0 B

C 1

Décision 1 Décision 0 Décision ?

Intuition…