Un algorithme distribué d énumération des noeuds d un réseau et application au calcul des distances entre 2 noeuds quelconques et du diamètre d un

Documents pareils
Introduction aux algorithmes répartis

Parallélisme et Répartition

Algorithmes de recherche d itinéraires en transport multimodal

Continuité et dérivabilité d une fonction

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Chp. 4. Minimisation d une fonction d une variable

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Ebauche Rapport finale

Quelques tests de primalité

Resolution limit in community detection

Limites finies en un point

Chapitre 6. Fonction réelle d une variable réelle

FIMA, 7 juillet 2005

Programmation linéaire

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Découverte et analyse de dépendances dans des réseaux d entreprise

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Une Architecture de Bureaux Graphiques Distants Sécurisée et Distribuée

Développements limités. Notion de développement limité

Chapitre 5 : Flot maximal dans un graphe

Dérivation : cours. Dérivation dans R

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

aux différences est appelé équation aux différences d ordre n en forme normale.

Sommaire. Couverture de zone de surveillance dans les réseaux de capteurs. De quoi parle-t-on ici (1/2)? Objectif. De quoi parle-t-on ici (2/2)?

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Rappels sur les suites - Algorithme

Service Deployment in Programmahle Networks

Prérequis. Résolution des problèmes WMI. Date 03/30/2010 Version 1.0 Référence 001 Auteur Antoine CRUE

Introduction à la théorie des graphes. Solutions des exercices

Chapitre 7. Récurrences

Architecture distribuée

= constante et cette constante est a.

L exclusion mutuelle distribuée

Formation logiciel ZSH Gestion commerciale. F.Krebs. Sommaire :

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Pourquoi l apprentissage?

TP3 : Manipulation et implantation de systèmes de fichiers 1

MIS 102 Initiation à l Informatique

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin Algorithmique 1

Introduction. Adresses

Notes de cours (ENS Lyon, M1) Chapitre 2 : Réseaux Pair à Pair

Université Paris-Dauphine DUMI2E 1ère année, Applications

Towards realistic modeling of IP-level topology dynamics

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

FaceBook aime les Maths!

Correction du baccalauréat ES/L Métropole 20 juin 2014

Mesures de performances Perspectives, prospective

Sommaire. Introduction. I. Notions de routage a) Technologies actuelles b) Avantages et désavantages

TP N 57. Déploiement et renouvellement d une constellation de satellites

COURS SYRRES RÉSEAUX SOCIAUX INTRODUCTION. Jean-Loup Guillaume

Raisonnement distribué dans un environnement de type Pair-à-Pair

Conception des systèmes répartis

4 Exemples de problèmes MapReduce incrémentaux

Modélisation et Simulation

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

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Revue d article : Dynamic Replica Placement for Scalable Content Delivery

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Compression Compression par dictionnaires

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

DU RÉSEAU AU BIG DATA UNE OFFRE GLOBALE DE GESTION DE LA DONNÉE. Bruno Fleisch - Responsable Produits Tarik Hakkou Responsable du pôle «Data»

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Algorithmique des Systèmes Répartis Protocoles de Communications

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr

IP Exchange Network Architecture et Services. EFORT

Userbase. Pour un marketing de précision

Optimisation des fonctions de plusieurs variables

Ordonnancement temps réel

Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration

Les capitalistes sociaux sur Twitter : détection via des mesures de similarité

Liste de conférences et revues Thème Com A

Circuits RL et RC. Chapitre Inductance

Map-Reduce : un cadre de programmation parallèlle pour l analyse de grandes données. Stéphane Genaud ENSIIE

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

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

KIWI BACKUP DOSSIER DE PRESSE

T.P. FLUENT. Cours Mécanique des Fluides. 24 février 2006 NAZIH MARZOUQY

1 Recherche en table par balayage

RAPPORT DE STAGE DE MASTER INFORMATIQUE DE L UNIVERSITE PIERRE ET MARIE CURIE Sécurité des infrastructures critiques.

Plateforme «Inscription en ligne»

Quantification Scalaire et Prédictive

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

Conception d'un réseau de transport d'électricité

Latitude N Longitude E Altitude 376 m RÉSUMÉ MENSUEL DU TEMPS DE JANVIER 2014

Backtracking asynchrone agile pour les problèmes de satisfaction de contraintes distribués

Ré-ordonnancement adaptatif de messages dans un réseau ad hoc de véhicules

UE C avancé cours 1: introduction et révisions

PROJET AZURE (par Florent Picard, A2011)

Guide d utilisateurs Plesk 11 WEBPACK. Guide d utilisateurs

Équations non linéaires

I- Définitions des signaux.

Programmation Linéaire - Cours 1

LE PROBLEME DU PLUS COURT CHEMIN

Transport Layer Security (TLS) Guide de mise en œuvre. Version: 1.0

Nouvelles opportunités pour les données fortement interconnectées : La base de graphe Neo4j

EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (43) Date de publication: Bulletin 2011/26

Transcription:

Un algorithme distribué d énumération des noeuds d un réseau et application au calcul des distances entre 2 noeuds quelconques et du diamètre d un réseau LaBRI - Université de Bordeaux AlgoTel 2016 25 Mai 201

Plan Introduction 1 Introduction 2 4

Plan Introduction 1 Introduction 2 4

Le problème Introduction Etant donné un réseau : 1 attribuer un numéro de 1 à n (la taille du réseau) à chaque noeud, 2 utiliser cette énumération pour : calculer (tous) les plus courts chemins, calculer le diamètre du réseau, autres paramètres : la maille,...

Modèle Introduction Réseau de communication connexe modélisé par un graphe G = (V,E) : les noeuds communiquent par passage de messages, système synchrone : les noeuds commencent en même temps et opèrent par rondes synchrones anonymat : les noeuds n ont pas des identifiants différents, un noeud est dans un état Leader.

Modèle Introduction Complexité en temps : une ronde (pour un neoud) : 1. envoyer des messages à des voisins, 2. recevoir des messages des voisins,. réaliser un calcul local, complexité en temps : le nombre de rondes nécessaires pour que tous les noeuds terminent. Complexité en bits : dans chaque ronde, chaque noeud peut envoyer/recevoir un bit à/de chaque voisin, complexité en bits : le nombre de rondes nécessaires pour que tous les noeuds terminent.

Etat de l art Introduction Temps Taille des messages (nombre de bits) complexité en bits Almeida et al. O(D) O(n log n) O(Dn log n) Holzer and Wattenhofer (PODC 2012) O(n) O(log n) O(n log n) Peleg et al. O(n) O(log n) O(n log n) (ICALP12) Frischknecht et al. B Ω(n/B) (SODA 2012) Cet article O(n) O(1) O(n) Calcul du diamètre.

Plan Introduction 1 Introduction 2 4

Enumération distribuée DEA : un algorithme distribué qui attribue à chaque sommet du graphe un nombre unique dans {1,2,,n}, et tel que : la distance entre deux sommets ayant des numéros consécutifs est au plus, les messages échangés sont de taille O(1), la complexité en temps est en O(n). DEA opère en deux étapes : 1 calcul d un arbre couvrant BFS de G, dont la racine est le sommet Leader, 2 énumération des sommets de G selon une traversée spéciale (Algorithme Trav).

Enumération distribuée DEA : un algorithme distribué qui attribue à chaque sommet du graphe un nombre unique dans {1,2,,n}, et tel que : la distance entre deux sommets ayant des numéros consécutifs est au plus, les messages échangés sont de taille O(1), la complexité en temps est en O(n). DEA opère en deux étapes : 1 calcul d un arbre couvrant BFS de G, dont la racine est le sommet Leader, 2 énumération des sommets de G selon une traversée spéciale (Algorithme Trav).

Enumération distribuée DEA : un algorithme distribué qui attribue à chaque sommet du graphe un nombre unique dans {1,2,,n}, et tel que : la distance entre deux sommets ayant des numéros consécutifs est au plus, les messages échangés sont de taille O(1), la complexité en temps est en O(n). DEA opère en deux étapes : 1 calcul d un arbre couvrant BFS de G, dont la racine est le sommet Leader, 2 énumération des sommets de G selon une traversée spéciale (Algorithme Trav).

Enumération distribuée DEA : un algorithme distribué qui attribue à chaque sommet du graphe un nombre unique dans {1,2,,n}, et tel que : la distance entre deux sommets ayant des numéros consécutifs est au plus, les messages échangés sont de taille O(1), la complexité en temps est en O(n). DEA opère en deux étapes : 1 calcul d un arbre couvrant BFS de G, dont la racine est le sommet Leader, 2 énumération des sommets de G selon une traversée spéciale (Algorithme Trav).

Enumération distribuée DEA : un algorithme distribué qui attribue à chaque sommet du graphe un nombre unique dans {1,2,,n}, et tel que : la distance entre deux sommets ayant des numéros consécutifs est au plus, les messages échangés sont de taille O(1), la complexité en temps est en O(n). DEA opère en deux étapes : 1 calcul d un arbre couvrant BFS de G, dont la racine est le sommet Leader, 2 énumération des sommets de G selon une traversée spéciale (Algorithme Trav).

Enumération distribuée DEA : un algorithme distribué qui attribue à chaque sommet du graphe un nombre unique dans {1,2,,n}, et tel que : la distance entre deux sommets ayant des numéros consécutifs est au plus, les messages échangés sont de taille O(1), la complexité en temps est en O(n). DEA opère en deux étapes : 1 calcul d un arbre couvrant BFS de G, dont la racine est le sommet Leader, 2 énumération des sommets de G selon une traversée spéciale (Algorithme Trav).

Enumération distribuée DEA : un algorithme distribué qui attribue à chaque sommet du graphe un nombre unique dans {1,2,,n}, et tel que : la distance entre deux sommets ayant des numéros consécutifs est au plus, les messages échangés sont de taille O(1), la complexité en temps est en O(n). DEA opère en deux étapes : 1 calcul d un arbre couvrant BFS de G, dont la racine est le sommet Leader, 2 énumération des sommets de G selon une traversée spéciale (Algorithme Trav).

Enumération distribuée Algorithme Trav :

Enumération distribuée Algorithme Trav :

Enumération distribuée Algorithme Trav : 1

Enumération distribuée Algorithme Trav : 1 1

Enumération distribuée Algorithme Trav : 1 1 2

Enumération distribuée Algorithme Trav : 1 1 2

Enumération distribuée Algorithme Trav : 1 1 2 4

Enumération distribuée Algorithme Trav : 1 1 2 4 5

Enumération distribuée Algorithme Trav : 1 1 14 15 28 2 7 8 9 10 1 16 17 18 27 4 5 6 11 12 19 20 21 26 22 2 24 25

Enumération distribuée Algorithme Trav : Lemme. Pour tout sommet u, ν u est pair ssi u se trouve à un niveau pair et ν u est pair ssi u se trouve à un niveau impair. Corollaire. Pour tout sommet u, si ν u est pair (resp. impair) alors ν u est impair (resp. pair).

Enumération distribuée Algorithme Trav : 1 1 14 15 28 2 7 8 9 10 1 16 17 18 27 4 5 6 11 12 19 20 21 26 22 2 24 25

Enumération distribuée Algorithme Trav : 1 1 14 8 15 28 2 7 8 9 10 1 16 17 18 27 4 5 6 11 12 19 20 21 26 22 2 24 25

Enumération distribuée Algorithme Trav : 1 1 14 8 15 28 2 7 2 8 9 10 1 16 17 18 27 4 5 6 11 12 19 20 21 26 22 2 24 25

Enumération distribuée Algorithme Trav : 1 1 14 8 15 15 28 2 7 2 8 9 10 5 1 6 16 17 9 10 18 27 4 4 5 6 7 11 12 19 11 20 14 21 26 22 12 1 24 2 25

Enumération distribuée Algorithme Trav : 1 8 15 2 5 6 9 10 4 7 11 14 12 1

Enumération distribuée Lemme. Soit G un graphe connexe. La distance, dans G, entre deux sommets ayant des numéros consécutifs est d au plus. l algorithme est optimal : il n existe pas d énumération des noeuds telle que deux noeuds ayant des numéros consécutifs sont à distance au plus 2.

Application 1 : Calcul des plus courts chemins 1. Algorithme DistCal : Calcul des distance du leader aux autres sommets : t = 0

Application 1 : Calcul des plus courts chemins 1. Algorithme DistCal : Calcul des distance du leader aux autres sommets : t = 0 1 1

Application 1 : Calcul des plus courts chemins 1. Algorithme DistCal : Calcul des distance du leader aux autres sommets : t = 1 1; 2 1;2 2 = END 1 1 1 1 1

Application 1 : Calcul des plus courts chemins 1. Algorithme DistCal : Calcul des distance du leader aux autres sommets : t = 2 1; 2 1;2 2 = END 2 2 1;1 1;1 1;1 1;1 1;1 1 1 1 1 1

Application 1 : Calcul des plus courts chemins 1. Algorithme DistCal : Calcul des distance du leader aux autres sommets : t = 1; 2 1;2 2 = END 1;1;2 1;1;2 1;1;2 1;1;2 1;1;2 1;1 1;1 1;1 1;1 1;1 1 1

Application 1 : Calcul des plus courts chemins 1. Algorithme DistCal : Calcul des distance du leader aux autres sommets : t = 4 1; 2 1;2 2 = END 1;1;2 1;1;2 1;1;2 1;1;2 1;1;2 2 2 2 1;1;1 1;1;1 1;1;1 1;1;1 1;1;1 1;1 1;1

Application 1 : Calcul des plus courts chemins 1. Algorithme DistCal : Calcul des distance du leader aux autres sommets : t = 5 1; 2 1;2 2 = END = OK 1;1;2 1;1;2 1;1;2 1;1;2 1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1 1;1;1

Application 1 : Calcul des plus courts chemins 1. Algorithme DistCal : Calcul des distance du leader aux autres sommets : t = 6 1; 2 1;2 2 = END = OK 1;1;2 1;1;2 1;1;2 1;1;2 1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 2 1;1;1;1 1;1;1;1

Application 1 : Calcul des plus courts chemins 1. Algorithme DistCal : Calcul des distance du leader aux autres sommets : t = 7 1; 2 1;2 2 = END = OK 1;1;2 1;1;2 1;1;2 1;1;2 1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;1;2 1;1;1;1;2

Application 1 : Calcul des plus courts chemins 1. Algorithme DistCal : Calcul des distance du leader aux autres sommets : t = 8 1; 2 1;2 2 = END = OK 1;1;2 1;1;2 1;1;2 1;1;2 1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;1;2 1;1;1;1;2

Application 1 : Calcul des plus courts chemins 1. Algorithme DistCal : Calcul des distance du leader aux autres sommets : t = 9 1; 2 1;2 2 = END = OK 1;1;2 1;1;2 1;1;2 1;1;2 1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;1;2 1;1;1;1;2

Application 1 : Calcul des plus courts chemins 1. Algorithme DistCal : Calcul des distance du leader aux autres sommets : t = 10 1; 2 1;2 2 = END = OK 1;1;2 1;1;2 1;1;2 1;1;2 1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;1;2 1;1;1;1;2

Application 1 : Calcul des plus courts chemins 1. Algorithme DistCal : Calcul des distance du leader aux autres sommets : t = 11 1; 2 1;2 2 = END = OK 1;1;2 1;1;2 1;1;2 1;1;2 1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;2 1;1;1;1;2 1;1;1;1;2

Application 1 : Calcul des plus courts chemins 1. Algorithme DistCal : Calcul des distance du leader aux autres sommets : t = 11 1 1 1;1 1;1 1;1 1;1 1;1 1;1;1 1;1;1 1;1;1 1;1;1 1;1;1 1;1;1;1 1;1;1;1

Application 1 : Calcul des plus courts chemins 1. Algorithme DistCal : Calcul des distance du leader aux autres sommets : t = 11 1 1 2 2 2 2 2 4 4

Application 1 : Calcul des plus courts chemins Lemme. DistCal permet à chaque sommet de connaître sa distance au Leader. Sa complexité en temps et sa complexité en bits sont O(n).

Application 1 : Calcul des plus courts chemins 2. APSP : Calcul des plus courts chemins : 1 8 15 2 5 6 9 10 4 7 11 14 12 1

Application 1 : Calcul des plus courts chemins 2. APSP : Calcul des plus courts chemins : 0 t(v) = t(1) + 5(k 1) 5 70 5 20 25 40 45 10 15 0 50 65 55 60

Application 1 : Calcul des plus courts chemins 2. APSP : Calcul des plus courts chemins : 0 t = 0 5 70 5 20 25 40 45 10 15 0 50 65 55 60

Application 1 : Calcul des plus courts chemins 2. APSP : Calcul des plus courts chemins : 0 t = 1 5 70 5 20 25 40 45 10 15 0 50 65 55 60

Application 1 : Calcul des plus courts chemins 2. APSP : Calcul des plus courts chemins : 0 t = 1 5 70 5 20 25 40 45 10 15 0 50 65 55 60

Application 1 : Calcul des plus courts chemins 2. APSP : Calcul des plus courts chemins : 0 t = 2 5 70 5 20 25 40 45 10 15 0 50 65 55 60

Application 1 : Calcul des plus courts chemins 2. APSP : Calcul des plus courts chemins : 0 t = 5 70 5 20 25 40 45 10 15 0 50 65 55 60

Application 1 : Calcul des plus courts chemins 2. APSP : Calcul des plus courts chemins : 0 t = 4 5 70 5 20 25 40 45 10 15 0 50 65 55 60

Application 1 : Calcul des plus courts chemins 2. APSP : Calcul des plus courts chemins : 0 t = 5 5 70 5 20 25 40 45 10 15 0 50 65 55 60

Application 1 : Calcul des plus courts chemins 2. APSP : Calcul des plus courts chemins : 0 t = 6 5 70 5 20 25 40 45 10 15 0 50 65 55 60

Application 1 : Calcul des plus courts chemins Propriété. Si v initialise une vague alors tout sommet w à distance d de v la reçoit à l instant d et (éventuellement) à l instant d +1. Lemme. Les vagues commencées par deux sommets consécutifs n entrent jamais en collision.

Application 1 : Calcul des plus courts chemins 2. APSP : Calcul des plus courts chemins : 1 2

Application 1 : Calcul des plus courts chemins 2. APSP : Calcul des plus courts chemins : 1 d(v, i) = Ti t1 5(i 1) d(v, 1) = 0 5(1 1) = d(v, 2) = 6 0 5(2 1) = 1 2

Application 1 : Calcul des plus courts chemins Théorème Soit G un graphe de taille n avec un sommet distingué. Il existe un algorithme distribué synchrone calculant les plus cours chemins en O(n) rondes et ayant une complexité en bits égale à O(n).

Application 2 : Calcul du diamètre Principe : 1 chaque sommet calcule le maximum des distances (des sommets) de ses sous arbres au Leader; et l envoie à son père; 2 Le Leader centralise le calcul; Le Leader envoie le maximum à tous les sommets de l arbre.

Application 2 : Calcul du diamètre Théorème. Soit G un graphe de taille n avec un sommet distingué. Il existe un algorithme distribué synchrone permettant de calculer le diamètre D de G en O(n) rondes avec une complexité en bits égale à O(n). Chaque sommet connaît la valeur de D à la fin de l algorithme.

Plan Introduction 1 Introduction 2 4

Introduction La même énumération peut être utilisée pour : calculer la maille du graphe, déterminer les isthmes, déterminer les points d articulation.

Plan Introduction 1 Introduction 2 4

Bibliographie Introduction 1 Y. Métivier, J. M. Robson and A. Zemmari. A distributed enumeration algorithm and applications to all pairs shortest paths, diameter... Inf. Comput. 247: 141-151 (2016) 2 P. S. Almeida, C. Baquero, and A. Cunha. Fast distributed computation of distances in networks. CoRR, abs/1111.6087, 2011. D. Peleg, L. Roditty, and E. Tal. Distributed algorithms for network diameter and girth. In ICALP (2), pages 660-672, 2012. 4 S. Holzer and R. Wattenhofer. Optimal distributed all pairs shortest paths and applications. In PODC, pages 55-64, 2012. 5 S. Frischknecht, S. Holzer and R. Wattenhofer. Networks cannot compute their diameter in sublinear time. In SODA 2012, pages 1150-1162, 2012.

MERCI