Algorithmes distribués

Slides:



Advertisements
Présentations similaires
Algorithmes distribués
Advertisements

Fondements de l’algorithmique des réseaux
Jeudi 8 Février 2007 REMISE DES PRIX de la Fondation Louis Leprince Ringuet Conception et évaluation d’un algorithme de tolérance aux fautes par points.
Composants Matériels de l'Ordinateur Plan du cours : Ordinateurs et applications Types d'ordinateurs Représentation binaires des données Composants et.
Marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 1 Code Parallèle pour la Simulation Numérique en Mécanique des Fluides.
Généralités sur les réseaux Généralités sur les réseaux informatiques.
Gestion des données issues des réseaux de mesures de la qualité : densification et besoin de flexibilité SIG, Géo-traitements.
Le système Raid 5 Table des matières Qu'est ce que le RAID ? Les objectifs Le raid 5 Les avantages et les inconvénients Les composants d’un Raid.
1 Identifier les composants d’un réseau local. 2 Les composants d’un réseau Des ordinateurs, appelés stations... …munis d’une carte réseau leur permettant.
 Notion de réseaux informatiques  Infrastructure d’un réseau local  Environnement matériel d’un réseau local  Catégories de réseaux  Les typologies.
Les Réseaux informatique.
Cours Initiation aux Bases De Données
Communication client-serveur
Rappels et présentation du réseau local
Mise en place d’un système de partage de fichiers
e-Prelude.com Analyse globale du flux
Introduction aux Systèmes de Gestion de Bases de données
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
6GEN720 Réseaux d’ordinateurs
LAN Médias cch_ccnp.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
de la productivité individuelle au travail collaboratif
Dominique PETRELLA – Frédéric GUINEPAIN - IA-IPR STI Versailles
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Qu'est-ce que POSIX? Une librairie en langage C
5 – PARALLELISME , ORDONNANCEMENT
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
L'approche asynchrone.
Informatique et Sciences du Numérique
Master Réseaux et Systèmes Distribués (RSD)
Systèmes Distribués et Autostabilisation
Routage S 3 - Questionnaire N°1
Profils d’emplois JT du 24 septembre 2001
Les bases de données et le modèle relationnel
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Classification des archtecutres paralleles
Introduction Atelier sur: Création d’un réseaux local?
République Algérienne Démocratique et Populaire Ministère de l'Enseignement Supérieur et de la Recherche Scientifique Université Saad.
Programmation système
Machines, algorithmes et langage
Protocole AODV pour Iot
Système d’exploitation
Vuibert Systèmes d’information et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 1 : La notion de système.
Informatique générale
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Les protocoles de la couche application Chapitre 7.
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
MPR - Le concept de réseau - 06
18 Bases de données parallèles et réparties
SUJET : E C L A T UNIVERSITE GASTON BERGER DE SAINT LOUIS UFR DES SCIENCES APPLIQUEES ET DE TECHNOLOGIE MASTER PROFESSIONNEL EN DÉVELOPPEMENT DE SYSTÈMES.
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
Introduction aux Technologies de Transmission 5eme Année - IGE Communication Multimédia Mrs Rerbal & Djelti.
Licence Fondamentale en Informatique 3ieme Année ISIMM Cours Systèmes Répartis 1 Année Universitaire:
Sujet: Communication externe et ses outils. PLAN INTRODUCTION CHAPITRE I: Communication externe 1. Définition et types de com. externe 2. objectifs de.
Roowth 1 Université d'Adrar Faculté des Sciences et de la Technologie Département des Mathématiques et Informatique 1 er Année master : Informatique Option:
Système d’exploitation: Principe IFT6800 – E 2008 Pierre Poulin.
Notions d'architecture client-serveur. Présentation de l'architecture d'un système client/serveur Des machines clientes contactent un serveur qui leur.
CONFIGURATION D’UN ROUTEUR Introduction et planification du cours  Configuration d’un routeur  Administration d’un routeur  Protocoles RIP et IGRP 
Cours présenté par : Mr.Latli Hossam Eddine PSFEP 2 EN informatique / systems d’informations avancées Les Réseaux informatique.
A. Zemmari SDRP & MA Problème du rendez vous : un algorithme probabiliste et une analyse probabiliste A. Zemmari.
1 DEPLOIEMENT D’UN SYSTEME DE REPARTITION DE CHARCHE (LOAD BALANCING) Abasse KPEGOUNI, Ingénieur Systèmes et Réseaux.
LES RESEAUX. Besoin de communication LES RESEAUX Pour communiquer via un réseau informatique Support de transmission Carte réseau Éléments de réseau.
Transcription de la présentation:

Algorithmes distribués Master informatique 2016-2017 Stella MARC-ZWECKER stella@unistra.fr

Plan prévisionnel du cours 1) Concepts propres aux algorithmes distribués 2) Le temps logique 3) Algorithmes d’exclusion mutuelle 4) Le langage PROMELA 5) Algorithmes d’élection 6) Etat global 7) Algorithmes de terminaison MCC prévisionnelles : - interrogation écrite (h) : octobre (33%) - TP noté (1h30) : décembre (33%) - interrogation écrite (1h) : décembre (%)

Bibliographie Michel Raynal, Algorithmes distribués et protocoles, Eyrolles, 1984 Gerard J. Holzmann, Design And Validation Of Computer Protocols, Prentice Hall, 1991 Gerard Tel, Introduction to Distributed Algorithms (2nd Edition), Cambridge University Press, 2000 Michel Raynal, Distributed Algorithms for Message-Passing Systems, Springer, 2013 Cyril Gavoille, Algorithmes distribués, LaBRI, Juillet 2016

Concepts de base sur les algorithmes distribués Chapitre 1 Concepts de base sur les algorithmes distribués

 1. Introduction aux systèmes distribués [Gavoille, 2016] Machine parallèle : Paralélisation du traitement des données au sein d'une même machine (SIMD) → fort degré de synchronisation  Système distribué  : Plusieurs entités de calcul autonomes distantes → absence de mémoire commune → communications asynchrones : échanges de messages

Intérêt du calcul distribué Augmentation de la puissance de calcul : Par regroupement d'ensembles d'entités existantes : - grappes de serveurs (« clusters ») : ensembles de machines homogènes et localisées - grilles (« grids ») : ensembles de ressources hétérogènes et délocalisées (ex : Grid5000) → calcul parallèle sur de très gros volumes de données Communication entre entités distantes  : → via des protocoles (réseaux LAN, Wifi, téléphonie mobile...) → mise en rapport de banques de données réparties (transactions, « streaming », échanges « peer to peer » ...)

Cadre de base pour les systèmes distribués Entité de calcul : « smart phone », tablette, drône, PC, …. => « processeurs » Deux grands modèles selon le mode de communication entre processeurs  : - passage de messages (« message passing ») : envois et réceptions de messages (« send / receive ») - mémoire partagée (« shared memory ») : les processeurs ne communiquent pas directement, mais à travers une mémoire ou des variables communes, qu'ils peuvent tous lire ou écrire (« read / write ») → simulation du calcul distribué (« send » coûteux)

2. Caractéristiques des systèmes distribués 2.1 Caractéristiques générales Absence d’un état global Pas de « temps absolu » : Evenements perçus par un processus : Ceux dont il est le siège (locaux) Ceux issus des relations de causalité entre l’émission et la réception d’un même message Impossible d’ordonner deux événements quelconques

Duplication des données : 2.2. Distribution des données Duplication des données : La donnée x est recopiée en n exemplaires x1,…, xn sur n sites Assurer cohérence mutuelle des copies : x1 =…= xn = x Partitionnement des données : Chaque partition se trouve sur un site donné 2.3. Distribution du contrôle Pas de relation hiérarchique entre les processus Privilège alterné : « maître » temporaire => meilleure résistance aux pannes

3. Eléments de l’algorithmique distribuée 3.1. Les processus Processus : programme qui s’exécute Doté d’une structure de contrôle non déterministe : Attente de plusieurs événements possibles Modélisation par automates à états finis (ex : réseaux de Nutt) 3.2. Les voies de communication Propriétés structurelles des liaisons Anneau : structure en boucle Étoile : structure centralisée Arbre : structure hiérarchisée Maillage : structure fortement connexe => Structures logicielles

Propriétés comportementales des liaisons Hypothèses sur le comportement des voies de communication : H1 : transmission sans duplication de messages H2 : transmission sans altération de messages H3 : pas de déséquencement des messages H4 : délai d’acheminement des messages fini : pas de perte H5 : délai d’acheminement des messages borné : on peut savoir si un message est perdu => couches logicielles pour mettre en œuvre ces hypothèses

4. Qualités d’un algorithme distribué 4.1. Degré de répartition Lié à la symétrie des rôles joués par les processus : Non symétrie : chaque processus exécute un texte différent Symétrie de texte : les processus exécutent le même texte, qui fait référence à l'identité (numéro) du processus qui l’exécute => comportement différent en fonction des processus (ex : si mon_numéro = initiateur alors ...) Symétrie forte : les processus exécutent le même texte, dans lequel leur rôle n’est pas spécifique (pas d'identité) => Ces degrés de symétrie permettent de définir le degré de répartition du contrôle

4.3. Hypothèses sur le réseau 4.2. Résistance aux pannes Ce critère est lié à la symétrie : un algorithme est d’autant plus résistant que le degré de répartition est élevé 4.3. Hypothèses sur le réseau L’algorithme est d’autant plus simple à mettre en oeuvre qu’il fait le moins d’hypothèses sur les voies de communication (H1-H5) 4.4. Trafic engendré La performance se mesure par : le nombre de messages échangés La charge induite sur les voies Le temps d’attente dans les processus

5. Types d'algorithmes distribués Calcul diffusant [Dijkstra et Scholten] Topologie de communication = arbre => Algorithmes de terminaison et de détection d'interblocage Jeton circulant Topologie de communication = anneau => Algorithmes d'exclusion mutuelle, d'élection et de terminaison Estampillage ou horloges logiques Topologie quelconque

=> algorithmes d’exclusion mutuelle et de calcul d'un état global Horloges logiques Site 1 Site 2 Site 3 a1 a2 a3 c1 b3 b1 b2 Dans cet exemple : La séquence < a1 b1 a2 b2 b3 c1 a3 > est-elle compatible avec les relations de précédence ? Ordre temporel « absolu » : < a1 c1 b1 b2 a2 b3 a3 > => Besoin de définir un ordre total entre tous les événements pour permettre un fonctionnement équitable => algorithmes d’exclusion mutuelle et de calcul d'un état global