Systèmes distribués C. Delporte-Gallet (ESIEE-IGM)

Slides:



Advertisements
Présentations similaires
de l’algorithme de Viterbi
Advertisements

La Méthode de Simplexe Standardisation
A l’issue des conseils de classe de 3ème,
Chapitre annexe. Récursivité
1 CNAM Vendredi 29 Novembre 2002 Bases de Données Avancées UV C Responsable : Mr Scholl PROTOCOLE A DEUX PHASES Meryem Guerrouani.
Introduction à la tolérance aux défaillances
Fonctions & procédures
Calcul géométrique avec des données incertaines
Regroupement (clustering)
Calculs de complexité d'algorithmes
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
Stabilisation instantanée efficace
Architecture de réseaux
Gestion de Projet Pilotage – 3 Reporting
La mesure d’une tension électrique
Plan de formation Chapitre 1 : Présentation de SAP
BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,
IRISA18 novembre ACI Sécurité DADDi Dependable Anomaly Detection with Diagnosis IRISA.
1 ACI DADDI - Réunion de lancement IRISA - Projet ADEPT Michel Hurfin Jean-Pierre Le Narzul Frédéric Tronel 23 mai 2005.
Webex.
1 1 Séminaire « Lean en France » - 10 mai 2006 Le lean dans les services financiers : présentation dune communauté de pratiques.
Plateforme de gestion de données de capteurs
Savoir partager Ecole de Lanta
Synchronisation et communication entre processus
Algorithmes Branch & Bound
Serveurs Partagés Oracle
Rappel au Code de sécurité des travaux 1 Code de sécurité des travaux Rappel du personnel initié Chapitre Lignes de Transport (Aériennes)
Introduction aux plates formes
1.2 COMPOSANTES DES VECTEURS
Algorithme à vague Stéphane Devismes.
Cloud Computing et mesures de performances
Consensus distribué En ce qui concerne ce document, le problème de consensus sera étudié (examiner, considérer, explorer, analyser). Le problème est provoqué.
IGL301 - Spécification et vérification des exgiences 1 Chapitre 1 Introduction (ref : Bray chapitre 1)
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Courbes de Bézier.
Programmation concurrente
SSO : Single Sign On.
3.1 DÉTERMINANTS (SUITE) Cours 6.
Les détecteurs de défaillances
Projet de Conception n° 5
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Introduction au calcul quantique
Ordonnancement de tâches
Programmation linéaire en nombres entiers : les méthodes de troncature
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Qu’est ce qu’une grille ?
Le workflow Encadré par: M . BAIDADA Réalisé par: ATRASSI Najoua
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Importance du réseau dans des architectures MIMD Tout échange entre les processeurs nécessite un transfert de données via le réseau.
Coupes efficaces pour la relaxation lagrangienne
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
1 Modèle pédagogique d’un système d’apprentissage (SA)
Introduction.
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
ANALYSE METHODE & OUTILS
Fondements de l’algorithmique des réseaux
Outil de gestion des cartes grises
Programmation dynamique
La réplication dans les réseaux mobiles ad hoc
Chapitre 3 :Algèbre de Boole
Projet Implémentation du protocole MMT sous Linux
1 Détecteurs de défaillances adaptables Marin BERTIER Thèmes SRC Laboratoire d'Informatique de Paris 6 Université Pierre & Marie Curie.
Julien Pley – Équipe ADEPT Colloque de DEA 2001/2002
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
1 Nomination de mandataire Marin BERTIER. 2 Contexte ► Développement des GRIDs  Grand nombre de sites  Organisé hiérarchiquement ► Niveau local  cluster.
Les différents modèles d’architecture technique
Algorithmique distribuée 1, consensus, détecteurs de défaillances etc… Hugues Fauconnier LIAFA 1-tolérante aux pannes!
Structures de données avancées : LH* D. E ZEGOUR Institut National d ’Informatique.
INTRODUCTION AUX BASES DE DONNEES
Transcription de la présentation:

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

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

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

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

Diversité… Grille de calcul Le web comme système à image unique 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 INTRODUCTION Enpc

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

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

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

Le cours: objectifs Algorithmes: Spécificité de l’algorithmique distribuée INTRODUCTION Enpc

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

Deux exemples… INTRODUCTION Enpc

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

Terminaison distribuée Objectif: au lieu d’appliquer les 35 heures, les employés peuvent rentrer chez eux si tout le travail est terminé. Solution(s)? INTRODUCTION Enpc

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

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 Sûreté: si l’algorithme dit que la terminaison distribuée est atteinte, c’est vrai! Vivacité: si à un instant donné la terminaison distribuée est vraie, l’algorithme le détectera (peut-être plus tard). INTRODUCTION Enpc

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

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

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

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

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

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

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

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

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

Et s’il n’y a que trois généraux dont 2 sont honnêtes? Intuition… C :1 C C 1 A B: 1 A :0 B :0 A 0 B Décision 1 Décision 0 Décision ? INTRODUCTION Enpc