Algorithmique répartie. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR / 60



Documents pareils
Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

2. DIFFÉRENTS TYPES DE RÉSEAUX

Université de La Rochelle. Réseaux TD n 6

Extrait des Exploitations Pédagogiques

Internet - Outils. Nicolas Delestre. À partir des cours Outils réseaux de Paul Tavernier et Nicolas Prunier

Introduction aux Technologies de l Internet

Parallélisme et Répartition

Cours de Génie Logiciel

Le service IPv4 multicast pour les sites RAP

Plan. Programmation Internet Cours 3. Organismes de standardisation

Introduction. Adresses

Algorithmique des Systèmes Répartis Protocoles de Communications

Conception des systèmes répartis

L exclusion mutuelle distribuée

ELP 304 : Électronique Numérique. Cours 1 Introduction

Réseaux IUP2 / 2005 IPv6

Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Réseaux grande distance

Cisco Certified Network Associate Version 4

Modélisation multi-agents - Agents réactifs

UDP/TCP - Protocoles transport

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

Cours des réseaux Informatiques ( )

1.Introduction - Modèle en couches - OSI TCP/IP

Conception de circuits numériques et architecture des ordinateurs

Algorithme. Table des matières

NOTIONS DE RESEAUX INFORMATIQUES

Le multiplexage. Sommaire

L apprentissage automatique

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Support de cours RTEL. Guy Pujolle. Figure 1. Réseau maillé à transfert de paquets.

Couche Transport TCP et UDP

M1101a Cours 4. Réseaux IP, Travail à distance. Département Informatique IUT2, UPMF 2014/2015

Métrologie des réseaux IP

Téléinformatique et télématique. Revenons aux définitions

Le Multicast. A Guyancourt le

Partie 7 : Gestion de la mémoire

Présentation du modèle OSI(Open Systems Interconnection)

VIII- Circuits séquentiels. Mémoires

Logique séquentielle

Dimensionnement Introduction

Culture informatique. Cours n 9 : Les réseaux informatiques (suite)

Groupe Eyrolles, 2000, 2004, ISBN :

Algorithmique et langages du Web

1 Recherche en table par balayage

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

Les Réseaux Informatiques

Cours n 12. Technologies WAN 2nd partie

QoS et Multimédia SIR / RTS. Introduction / Architecture des applications multimédia communicantes

Introduction aux algorithmes répartis

Analyse empirique et modélisation de la dynamique de la topologie de l Internet

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Votre Réseau est-il prêt?

Systemes d'exploitation des ordinateurs

Evolution de l infrastructure transport

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

SSL ET IPSEC. Licence Pro ATC Amel Guetat

ADSL. Étude d une LiveBox. 1. Environnement de la LiveBox TMRIM 2 EME TRIMESTRE LP CHATEAU BLANC CHALETTE/LOING NIVEAU :

Algorithmique répartie

NetCrunch 6. Superviser

Un concept multi-centre de données traditionnel basé sur le DNS

Modem routeur vocal. Solution intelligente de modem routeur pour le routage d appels pour VoIP FICHE PRODUIT

Architecture des ordinateurs

Ch2 La modélisation théorique du réseau : OSI Dernière maj : jeudi 12 juillet 2007

L3 informatique Réseaux : Configuration d une interface réseau

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Programmation Réseau. ! UFR Informatique ! Jean-Baptiste.Yunes@univ-paris-diderot.fr

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Les clés d un réseau privé virtuel (VPN) fonctionnel

Petit guide des sous-réseaux IP

Présentation et portée du cours : CCNA Exploration v4.0

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

TD 1 - Transmission en bande de passe

Big Data et Graphes : Quelques pistes de recherche

Chapitre 4 : Les mémoires

Transmissions série et parallèle

Téléinformatique. Chapitre V : La couche liaison de données dans Internet. ESEN Université De La Manouba

Informatique Générale Les réseaux

Connaissances VDI 1 : Chapitres annexe

Internet Protocol. «La couche IP du réseau Internet»

LA VOIX SUR GPRS. 1. Introduction. P. de Frino (1), S. Robert (2), G. Cecchin (3) Résumé

IP & Co. 1. Service DHCP. L'objectif de ce TP est de voir l'ensemble des services élémentaires mis en oeuvre dans les réseaux IP.

Réseaux et protocoles Damien Nouvel

Télécommunications. Plan

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Sécurité des réseaux sans fil

GPA770 Microélectronique appliquée Exercices série A

Protocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1).

Qualité du logiciel: Méthodes de test

QUESTION 1 {2 points}

L AUTOMATISME LE SIGNAL

Train & Métro. Solutions de communication WiFi durcies pour applications ferroviaires au sol et en embarqué

Représentation des Nombres

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Contributions à l expérimentation sur les systèmes distribués de grande taille

Transcription:

Algorithmique répartie Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 1 / 60

1 Introduction 2 Systèmes répartis Modélisation des réseaux Vocabulaires Noeuds Liens de communications 3 Notion de temps Réseaux synchrones Réseaux asynchrones 4 Algorithmes répartis Variables locales Pseudo-code Réveil spontanné Un exemple 5 Complexité(s) Complexité séquentielle Nombre de messages Tailles des messages Complexité temporelle : Complexité spatiale : Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 2 / 60

Algorithmique Séquentielle Une tâche / un calcul Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 3 / 60

Algorithmique Séquentielle Une tâche / un calcul Série d opérations élémentaires Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 3 / 60

Algorithmique Séquentielle Une tâche / un calcul Série d opérations élémentaires Les unes après les autres Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 3 / 60

Algorithmique Séquentielle Une tâche / un calcul Série d opérations élémentaires Les unes après les autres Sur une même machine Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 3 / 60

Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 4 / 60

Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 4 / 60

Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 5 / 60

Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 5 / 60

Sommaire Introduction Syst` emes r epartis Notion de temps Algorithmes r epartis Complexit e(s) R eseaux Algorithmique r epartie - Cours de L elia Blin - L3 MIAGE-ASR 2015 6 / 60

Internet Représentation d une partie du réseau Internet en 2005 Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 7 / 60

Un réseaux c est quoi de nos jours? Très grand réseaux : Explosion combinatoire du nombre de machines connecté Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 8 / 60

Un réseaux c est quoi de nos jours? Très grand réseaux : Explosion combinatoire du nombre de machines connecté Non homogène Explosion du type de machines connectées Filaire ou non Non statique Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 8 / 60

Non homogènes Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 9 / 60

Un réseaux pour quoi faire Echanger de l information Emails fichiers textes fichiers son fichiers images... Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 10 / 60

Un réseaux pour quoi faire Echanger de l information Emails fichiers textes fichiers son fichiers images... Partager des ressources mémoire base de données matériels Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 10 / 60

Un réseaux pour quoi faire Echanger de l information Emails fichiers textes fichiers son fichiers images... Partager des ressources mémoire base de données matériels Tout cela s organise... Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 10 / 60

Pas de big boss Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 11 / 60

Pas de big boss Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 11 / 60

Question Comment réaliser une tâche commune sur un réseaux à grande échelle? Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 12 / 60

Tâche commune Tâche : Répondre à la question : Qui est né en Mars? Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 13 / 60

Tâche commune Tâche : Répondre à la question : Qui est né en Mars? Approche centralisée : Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 13 / 60

Tâche commune Tâche : Répondre à la question : Qui est né en Mars? Approche centralisée : L enseignant demande à tout le monde Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 13 / 60

Tâche commune Tâche : Répondre à la question : Qui est né en Mars? Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 14 / 60

Tâche commune Tâche : Répondre à la question : Qui est né en Mars? Approche distribué : Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 14 / 60

Tâche commune Tâche : Répondre à la question : Qui est né en Mars? Approche distribué : Chaque élève demande à ses voisins qui demandent à leurs voisins... Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 14 / 60

Systèmes et algorithmiques répartis Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 15 / 60

Systèmes répartis C est un réseaux qui est constitués d entités de calcul Mémoire puissance de calcul... Homogène ou non Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 16 / 60

Systèmes répartis C est un réseaux qui est constitués de liens de communications filaire, wifi, radio... Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 17 / 60

Systèmes répartis C est un réseaux qui est constitués de liens de communications filaire, wifi, radio... Les liens de communications Ils sont utilisés pour échanger de l information. L information est transportée par des messages. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 17 / 60

Sommaire Introduction Syst` emes r epartis Notion de temps Algorithmes r epartis Complexit e(s) Mod elisation des r eseaux Mod elisation des r eseaux Algorithmique r epartie - Cours de L elia Blin - L3 MIAGE-ASR 2015 18 / 60

Sommaire Introduction Syst` emes r epartis Notion de temps Algorithmes r epartis Complexit e(s) Mod elisation des r eseaux Mod elisation des r eseaux Algorithmique r epartie - Cours de L elia Blin - L3 MIAGE-ASR 2015 19 / 60

Modélisation des réseaux Modélisation des réseaux On modélise les réseaux par des graphes simples. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 20 / 60

Vocabulaires Vocabulaires : entités de calculs H Les unités de calculs peuvent être noté de différentes façon Noeuds B D M F S N Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 21 / 60

Vocabulaires Vocabulaires : entités de calculs H B Les unités de calculs peuvent être noté de différentes façon Noeuds Sites D M F S N Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 21 / 60

Vocabulaires Vocabulaires : entités de calculs D H B Les unités de calculs peuvent être noté de différentes façon Noeuds Sites Processeurs M F S N Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 21 / 60

Vocabulaires Vocabulaires : entités de calculs H Les unités de calculs peuvent être noté de différentes façon Noeuds D M B Sites Processeurs Processus F S N Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 21 / 60

Vocabulaires Vocabulaires : communications H B Les canaux de communications peuvent être noté de différentes façon Canaux de communications D M F S N Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 22 / 60

Vocabulaires Vocabulaires : communications D H B Les canaux de communications peuvent être noté de différentes façon Canaux de communications Liens M F S N Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 22 / 60

Vocabulaires Vocabulaires : communications D H M B Les canaux de communications peuvent être noté de différentes façon Canaux de communications Liens Arêtes F S N Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 22 / 60

Noeuds Mémoire des noeuds Chaque noeuds a sa propre mémoire Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 23 / 60

Noeuds Mémoire des noeuds Chaque noeuds a sa propre mémoire chaque mémoire peut être de taille différente. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 23 / 60

Noeuds Mémoire des noeuds Chaque noeuds a sa propre mémoire chaque mémoire peut être de taille différente. Il n y a pas de mémoire commune partagée. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 23 / 60

Noeuds Horloge des noeuds Chaque noeuds a sa propre horloge Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 24 / 60

Noeuds Horloge des noeuds Chaque noeuds a sa propre horloge Les temps des horloges peuvent être différents. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 24 / 60

Noeuds Horloge des noeuds Chaque noeuds a sa propre horloge Les temps des horloges peuvent être différents. Il n y a pas d horloge commune partagée. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 24 / 60

Noeuds Identifiants des noeuds 191.156 312 AA 12 127 Identifiants Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 25 / 60

Noeuds Identifiants des noeuds 191.156 312 AA 12 127 Identifiants Chaque noeud possède ou pas un identifiant unique. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 25 / 60

Noeuds Noeud Un noeud est une puissance de calcul qui Exécute un ensemble d instructions Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 26 / 60

Noeuds Noeud Un noeud est une puissance de calcul qui Exécute un ensemble d instructions Réagit à un événement local : Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 26 / 60

Noeuds Noeud Un noeud est une puissance de calcul qui Exécute un ensemble d instructions Réagit à un événement local : Un calcul interne Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 26 / 60

Noeuds Noeud Un noeud est une puissance de calcul qui Exécute un ensemble d instructions Réagit à un événement local : Un calcul interne la réception d un message Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 26 / 60

Noeuds Noeud Un noeud est une puissance de calcul qui Exécute un ensemble d instructions Réagit à un événement local : Un calcul interne la réception d un message l envoie d un message Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 26 / 60

Noeuds Noeud Un noeud est une puissance de calcul qui a Une mémoire locale Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 27 / 60

Noeuds Noeud Un noeud est une puissance de calcul qui a Une mémoire locale Un état local Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 27 / 60

Noeuds Noeud Un noeud est une puissance de calcul qui a Une mémoire locale Un état local Un ensemble de données et de variables locales Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 27 / 60

Noeuds Noeud Un noeud est une puissance de calcul qui a Une mémoire locale Un état local Un ensemble de données et de variables locales Possède ou pas d identifiant Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 27 / 60

Noeuds Noeud Un noeud est une puissance de calcul qui a Une mémoire locale Un état local Un ensemble de données et de variables locales Possède ou pas d identifiant Possède peu ou pas de connaissance Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 27 / 60

Noeuds Connaissance locale Connaissance sur les liens de communications 1 Le noeud p connait qu il a d liens de communications Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 28 / 60

Noeuds Connaissance locale Connaissance sur les liens de communications 1 Le noeud p connait qu il a d liens de communications 2 Le noeud p peu numéroter ses liens (numéro de ports) Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 28 / 60

Noeuds Connaissance locale Connaissance sur les liens de communications 1 Le noeud p connait qu il a d liens de communications 2 Le noeud p peu numéroter ses liens (numéro de ports) 3 Le noeud p connait les identifiants de ses voisins Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 28 / 60

Noeuds Connaissance globale Connaissance Le noeud a aucune connaissance du réseau : le plus réaliste. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 29 / 60

Noeuds Connaissance globale Connaissance Le noeud a aucune connaissance du réseau : le plus réaliste. Le noeud a la connaissance de la taille du réseau (nombre de noeuds) : peu réaliste (grande taille, dynamique) Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 29 / 60

Noeuds Connaissance globale Connaissance Le noeud a aucune connaissance du réseau : le plus réaliste. Le noeud a la connaissance de la taille du réseau (nombre de noeuds) : peu réaliste (grande taille, dynamique) Le noeud a la connaissance du diamètre du réseaux Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 29 / 60

Noeuds Connaissance globale Connaissance Le noeud a aucune connaissance du réseau : le plus réaliste. Le noeud a la connaissance de la taille du réseau (nombre de noeuds) : peu réaliste (grande taille, dynamique) Le noeud a la connaissance du diamètre du réseaux Le noeud a la connaissance de la topologie du réseaux (grille, anneaux,...) Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 29 / 60

Noeuds Connaissance globale Connaissance Le noeud a aucune connaissance du réseau : le plus réaliste. Le noeud a la connaissance de la taille du réseau (nombre de noeuds) : peu réaliste (grande taille, dynamique) Le noeud a la connaissance du diamètre du réseaux Le noeud a la connaissance de la topologie du réseaux (grille, anneaux,...)... Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 29 / 60

Liens de communications Liens de communications B A C D E F G communication Chaque noeuds envoie ou reçoit des messages à travers des liens de communications Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 30 / 60

Liens de communications Liens de communications B A C D E F G communication Ces liens peuvent être unidirectionel Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 31 / 60

Liens de communications Liens de communications B D F C A E G communication Ces liens peuvent être unidirectionel Ces liens peuvent être bidirectionel Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 31 / 60

Liens de communications Liens de communications B A C D E F G Communications Le transit des messages à l intérieur des liens peuvent être FIFO ou pas Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 32 / 60

Liens de communications Liens de communications B A C D E F G Communications FIFO Soit deux messages m 1 et m 2 envoyer par le noeud A Avec m 1 envoyer avant le message m 2 m 1 arrivera en B avant m 2 Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 33 / 60

Liens de communications Liens de communications B A C D E F G Communications non FIFO Soit deux messages m 1 et m 2 envoyer par le noeud A Avec m 1 envoyer avant le message m 2 m 2 peut arriver avant ou après m 1. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 34 / 60

Réseaux synchrones Réseaux synchrones Définition 1 Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 35 / 60

Réseaux synchrones Réseaux synchrones Définition 1 Les noeuds ont des temps de calculs identiques. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 35 / 60

Réseaux synchrones Réseaux synchrones Définition 1 Les noeuds ont des temps de calculs identiques. Le temps de circulation des messages est identique. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 35 / 60

Réseaux synchrones Réseaux synchrones Définition 2 Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 36 / 60

Réseaux synchrones Réseaux synchrones Définition 2 Les noeuds calculent par rondes synchrones. Dans une rounde, chaque noeud exécute les étapes suivantes : 1 Effectuer des calculs locaux. 2 Envoyer des messages à ces voisins. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 36 / 60

Réseaux synchrones Réseaux synchrones Définition 2 Les noeuds calculent par rondes synchrones. Dans une rounde, chaque noeud exécute les étapes suivantes : 1 Effectuer des calculs locaux. 2 Envoyer des messages à ces voisins. 3 Recevoir des messages de ces voisins. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 36 / 60

Réseaux asynchrones Réseaux asynchrones Définition Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 37 / 60

Réseaux asynchrones Réseaux asynchrones Définition Les noeuds ont des temps de calculs différents. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 37 / 60

Réseaux asynchrones Réseaux asynchrones Définition Les noeuds ont des temps de calculs différents. Le temps de circulation des messages est non borné mais fini. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 37 / 60

Algorithmes répartis Définition Tous les noeuds ont le même algorithme séquentiel. Cet algorithme réagit aux réceptions de messages. Cet algorithme envoie des messages Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 38 / 60

Variables locales Variables locales Tous les noeuds ont le même algorithme séquentiel. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 39 / 60

Variables locales Variables locales Tous les noeuds ont le même algorithme séquentiel. Donc tous les noeuds ont des variables locales qui porteront le même nom. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 39 / 60

Variables locales Variables locales Tous les noeuds ont le même algorithme séquentiel. Donc tous les noeuds ont des variables locales qui porteront le même nom. Vision extérieure globale : Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 39 / 60

Variables locales Variables locales Tous les noeuds ont le même algorithme séquentiel. Donc tous les noeuds ont des variables locales qui porteront le même nom. Vision extérieure globale : Pour reconnaitre de quelle variable on parle on ajoutera l identifiant du processus à la variable. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 39 / 60

Variables locales Variables locales Tous les noeuds ont des variables locales qui porteront le même nom. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 40 / 60

Variables locales Variables locales Tous les noeuds ont des variables locales qui porteront le même nom. Exemple : Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 40 / 60

Variables locales Variables locales Tous les noeuds ont des variables locales qui porteront le même nom. Exemple : d i sera la variable distance du site ayant pour identifiant i. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 40 / 60

Variables locales Variables locales Tous les noeuds ont des variables locales qui porteront le même nom. Exemple : d i sera la variable distance du site ayant pour identifiant i. d j sera la variable distance du site ayant pour identifiant j. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 40 / 60

Pseudo-code Pseudo-code C est un pseudo-code classique (séquentiel) avec des tests, des boucles... Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 41 / 60

Pseudo-code Pseudo-code C est un pseudo-code classique (séquentiel) avec des tests, des boucles... Le pseudo code se présente par block Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 41 / 60

Pseudo-code Pseudo-code C est un pseudo-code classique (séquentiel) avec des tests, des boucles... Le pseudo code se présente par block Un bloc d Initialisation pour initier les variables locales. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 41 / 60

Pseudo-code Pseudo-code C est un pseudo-code classique (séquentiel) avec des tests, des boucles... Le pseudo code se présente par block Un bloc d Initialisation pour initier les variables locales. Un bloc par réception de message. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 41 / 60

Pseudo-code Pseudo-code C est un pseudo-code classique (séquentiel) avec des tests, des boucles... Le pseudo code se présente par block Un bloc d Initialisation pour initier les variables locales. Un bloc par réception de message. Lors de la réception du message < Message1 > envoyer par le noeud q : Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 41 / 60

Pseudo-code Pseudo-code C est un pseudo-code classique (séquentiel) avec des tests, des boucles... Le pseudo code se présente par block Un bloc d Initialisation pour initier les variables locales. Un bloc par réception de message. Lors de la réception du message < Message1 > envoyer par le noeud q : instructions... Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 41 / 60

Pseudo-code Pseudo-code C est un pseudo-code classique (séquentiel) avec des tests, des boucles... Le pseudo code se présente par block Un bloc d Initialisation pour initier les variables locales. Un bloc par réception de message. Lors de la réception du message < Message1 > envoyer par le noeud q : instructions... Attention : il y aura autant de blocs que de types de messages. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 41 / 60

Réveil spontanné Qui commence? Les processus qui veulent faire une tâche effectueront un réveil spontané. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 42 / 60

Réveil spontanné Qui commence? Les processus qui veulent faire une tâche effectueront un réveil spontané. Les autres processus se réveilleront à la réception d un premier message Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 42 / 60

Un exemple Algorithme réparti de diffusion Initialisation noeud i val i =identifiant i Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 43 / 60

Un exemple Algorithme réparti de diffusion Initialisation noeud i val i =identifiant i Pour tout j Voisins i Envoyer < Valeur, val i > à j. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 43 / 60

Un exemple Algorithme réparti de diffusion Initialisation noeud i val i =identifiant i Pour tout j Voisins i Envoyer < Valeur, val i > à j. Lors de la réception de < Valeur, val j > envoyer par le noeud j if val i < val j : Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 43 / 60

Un exemple Algorithme réparti de diffusion Initialisation noeud i val i =identifiant i Pour tout j Voisins i Envoyer < Valeur, val i > à j. Lors de la réception de < Valeur, val j > envoyer par le noeud j if val i < val j : val i := val j Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 43 / 60

Un exemple Algorithme réparti de diffusion Initialisation noeud i val i =identifiant i Pour tout j Voisins i Envoyer < Valeur, val i > à j. Lors de la réception de < Valeur, val j > envoyer par le noeud j if val i < val j : val i := val j Pour tout j Voisins i Envoyer < Valeur, val i > à j. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 43 / 60

Un exemple Algorithme réparti de diffusion Initialisation Quand un noeud non réveillé reçoit un message il fait le block d initialisation avant de traiter le message. Exemple synchrone Dans l exemple pour aller plus vite, quand un noeud reçoit plusieurs messages il prend le maximum des valeurs reçues. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 44 / 60

Un exemple Exemple synchrone 8 Initialisation noeud i val i =identifiant i 5 3 1 9 Pour tout j Voisins i Envoyer < Valeur, val i > à j. Lors de la réception de < Valeur, val j > envoyer par le noeud j if val i < val j : 4 2 10 val i := val j Pour tout j Voisins i Envoyer < Valeur, val i > à j. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 45 / 60

Un exemple Exemple synchrone 8 Initialisation noeud i val i =identifiant i 5,5 5 9 Pour tout j Voisins i Envoyer < Valeur, val i > à j. 5 3 1 Lors de la réception de < Valeur, val j > envoyer par le noeud j 5 if val i < val j : 10 2 4 Rounde 1 : Noeud actif 5 val i := val j Pour tout j Voisins i Envoyer < Valeur, val i > à j. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 45 / 60

Un exemple Exemple synchrone 8,8 Initialisation noeud i 5,5 4,4 4 3 3 4 8 3,3 4 3 3 8 1 2 8 9 10 Rounde 2 : Noeuds actifs 3,8,4. val i =identifiant i Pour tout j Voisins i Envoyer < Valeur, val i > à j. Lors de la réception de < Valeur, val j > envoyer par le noeud j if val i < val j : val i := val j Pour tout j Voisins i Envoyer < Valeur, val i > à j. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 45 / 60

Un exemple Exemple synchrone 8,8 Initialisation noeud i 9 val i =identifiant i 5,8 8 1 9 1 9,9 Pour tout j Voisins i Envoyer < Valeur, val i > à j. 8 4,5 5 8 5 5 5 3,5 2 5 1 5 5 2 1 1,1 2,2 2 2 9 10 Rounde 3 : Noeuds actifs 1 à 9. Lors de la réception de < Valeur, val j > envoyer par le noeud j if val i < val j : val i := val j Pour tout j Voisins i Envoyer < Valeur, val i > à j. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 45 / 60

Un exemple Exemple synchrone 8,9 Initialisation noeud i 5,8 9 9 9 9 9 9,9 val i =identifiant i Pour tout j Voisins i Envoyer < Valeur, val i > à j. 1,9 8 3,8 9 8 10 Lors de la réception de < Valeur, val j > envoyer par le noeud j 8 8 8 5 8 9 5 if val i < val j : 4,8 5 8 2,5 10 5 10,10 val i := val j Pour tout j Voisins i Envoyer < Valeur, val i > à j. Rounde 4 Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 45 / 60

Un exemple Exemple synchrone 8,9 Initialisation noeud i 10 val i =identifiant i 5,9 9 10 9,10 Pour tout j Voisins i Envoyer < Valeur, val i > à j. 9 9 3,9 9 1,9 10 Lors de la réception de < Valeur, val j > envoyer par le noeud j 9 9 9 10 10 if val i < val j : 4,8 10 2,10 10 10,10 val i := val j Pour tout j Voisins i Envoyer < Valeur, val i > à j. Rounde 5 Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 45 / 60

Un exemple Exemple synchrone 8,10 Initialisation noeud i 5,9 10 10 10 10 10 9,10 val i =identifiant i Pour tout j Voisins i Envoyer < Valeur, val i > à j. 10 3,10 10 10 10 4,10 10 Rounde 6 1,10 10 10 10 10 2,10 10,10 Lors de la réception de < Valeur, val j > envoyer par le noeud j if val i < val j : val i := val j Pour tout j Voisins i Envoyer < Valeur, val i > à j. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 45 / 60

Un exemple Exemple synchrone 8,10 Initialisation noeud i val i =identifiant i 10 9,10 Pour tout j Voisins i Envoyer < Valeur, val i > à j. 5,10 10 3,10 1,10 Lors de la réception de < Valeur, val j > envoyer par le noeud j 10 if val i < val j : 4,10 2,10 10,10 val i := val j Pour tout j Voisins i Envoyer < Valeur, val i > à j. Rounde 7 Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 45 / 60

Un exemple Exemple synchrone 8,10 Initialisation noeud i 5,10 9,10 val i =identifiant i Pour tout j Voisins i Envoyer < Valeur, val i > à j. 3,10 1,10 Lors de la réception de < Valeur, val j > envoyer par le noeud j if val i < val j : 4,10 2,10 10,10 val i := val j Pour tout j Voisins i Envoyer < Valeur, val i > à j. Rounde 8 Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 45 / 60

Un exemple Exemple asynchrone 8 Initialisation noeud i val i =identifiant i 5 3 1 9 Pour tout j Voisins i Envoyer < Valeur, val i > à j. Lors de la réception de < Valeur, val j > envoyer par le noeud j if val i < val j : 4 Le noeud 5 se réveille spontanément. 2 10 val i := val j Pour tout j Voisins i Envoyer < Valeur, val i > à j. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 46 / 60

Un exemple Qualités de l algorithme Avantage(s) Simplicité Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 47 / 60

Un exemple Qualités de l algorithme Avantage(s) Simplicité Inconvenient(s) Processeurs reçoivent plusieurs fois une même information Grand nombre de messages échangés Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 47 / 60

Un exemple Qualités de l algorithme Avantage(s) Simplicité Inconvenient(s) Processeurs reçoivent plusieurs fois une même information Grand nombre de messages échangés Question Comment mesurer la qualité d un algorithme réparti? Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 47 / 60

Complexité séquentielle Complexité des Algorithmes séquentiels Notions Nombre d opérations élémentaires Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 48 / 60

Complexité séquentielle Complexité des Algorithmes séquentiels Notions Nombre d opérations élémentaires Espace mémoire occupé Vocabulaires Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 48 / 60

Complexité séquentielle Complexité des Algorithmes séquentiels Notions Nombre d opérations élémentaires Espace mémoire occupé Vocabulaires Complexité temporelle Question Comment mesurer la qualité d un algorithme réparti? Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 48 / 60

Complexité séquentielle Complexité des Algorithmes séquentiels Notions Nombre d opérations élémentaires Espace mémoire occupé Vocabulaires Complexité temporelle Complexité spatiale Question Comment mesurer la qualité d un algorithme réparti? Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 48 / 60

Nombre de messages Complexité des Algorithmes répartis Réponse Le nombre de message échangés. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 49 / 60

Nombre de messages Complexité des Algorithmes répartis Réponse Le nombre de message échangés. Question Est-ce suffisant? Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 49 / 60

Tailles des messages Tailles des messages Taille d un message Nombre d information que contient le message en binaire. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 50 / 60

Tailles des messages Tailles des messages Taille d un message Nombre d information que contient le message en binaire. Exemples Un mot clé : taille constante O(1) bits Un identifiant : Si il y a n noeuds dans le réseaux, et que l on note de 1 à n les identifiants des noeuds Il faut log 2 (n) bits pour noter l identifiant n Taille : O(log 2 (n)) bits Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 50 / 60

Tailles des messages Comparaison d algorithmes répartis Soit A un algorithme échangeant : O(n) messages de taille O(n log 2 (n)) bits Soit B un algorithme échangeant : O(n 2 ) messages de taille O(log 2 (n)) bits Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 51 / 60

Tailles des messages Comparaison d algorithmes répartis Soit A un algorithme échangeant : O(n) messages de taille O(n log 2 (n)) bits Soit B un algorithme échangeant : O(n 2 ) messages de taille O(log 2 (n)) bits Question Quel est le meilleur algorithme? Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 51 / 60

Tailles des messages Comparaison d algorithmes répartis Question Quel est le meilleur algorithme? L algorithme A échange au total : n n log 2 n bits soit O(n 2 log 2 n) bits Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 52 / 60

Tailles des messages Comparaison d algorithmes répartis Question Quel est le meilleur algorithme? L algorithme A échange au total : n n log 2 n bits soit O(n 2 log 2 n) bits L algorithme B échange au total : n 2 log 2 n bits soit O(n 2 log 2 n) bits Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 52 / 60

Tailles des messages Comparaison d algorithmes répartis Question Quel est le meilleur algorithme? L algorithme A échange au total : n n log 2 n bits soit O(n 2 log 2 n) bits L algorithme B échange au total : n 2 log 2 n bits soit O(n 2 log 2 n) bits A et B sont donc équivalent en terme d information échangées. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 52 / 60

Tailles des messages Taille des messages Réseaux avec du routage IP (Citation wikipédia : http :fr.wikipedia.org wikiipv4) Sur une interface déterminée, une trame a une taille maximale, appelée Maximum Transmission Unit ou MTU. Lorsque la longueur du paquet (datagramme) est supérieure, l information sera fragmentée. La taille maximum supportée par IPv4 (car codée sur 16 bits) est de 64 Ko mais les réseaux ne prennent généralement pas en charge de trames de telles longueurs, en général on trouve des MTU de l ordre de 1 500 octets (Ethernet). Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 53 / 60

Tailles des messages Taille des messages Conclusion : Les messages de grosses tailles seront divisés en petits messages de petites tailles. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 54 / 60

Tailles des messages Taille des messages En algorithmique répartie : La taille de message raisonnable communément admise est O(log 2 n), où n est le nombre de processus. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 55 / 60

Tailles des messages Autres mesures de complexité Question Doit-on considérer la complexité temporelle et la complexité spatiale? Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 56 / 60

Complexité temporelle : Complexité temporelle : Definition Parmi toutes les executions possibles d un algorithme distribué c est l execution qui maximisera le temps, qui définira la complexité temporelle dans le pire des cas. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 57 / 60

Complexité spatiale : Complexité spatiale : Question : Quel est l intérêt de minimiser la mémoire physique? Caractéristiques des réseaux de capteurs : Batterie de durée limitée Peu de capacité mémoire Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 58 / 60

Complexité spatiale : Complexité spatiale : But des algorithmes répartis Faire des algorithmes pour les réseaux non homogènes. Pour cela il faut aussi minimiser la mémoire. Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 59 / 60

Complexité spatiale : Complexités des algorithmes répartis Nombre de messages échangés Taille des messages (exprimé en bits) Temps d exécution (exprimé en unité de temps ou en rondes) Espace mémoire utilisé par chaque machine Algorithmique répartie - Cours de Lélia Blin - L3 MIAGE-ASR 2015 60 / 60