1.15k likes | 1.32k Views
Fondements de l’algorithmique des réseaux . Stéphane Devismes. Plan. Réseau ? Algorithme distribué ? Problème à résoudre ? Exemple : circulation d’un jeton Conclusion. Plan. Réseau ? Algorithme distribué ? Problème à résoudre ? Exemple : circulation d’un jeton Conclusion. Réseaux.
E N D
Fondements de l’algorithmique des réseaux Stéphane Devismes SCI121
Plan • Réseau ? • Algorithme distribué ? • Problème à résoudre ? • Exemple : circulation d’un jeton • Conclusion SCI121
Plan • Réseau ? • Algorithme distribué ? • Problème à résoudre ? • Exemple : circulation d’un jeton • Conclusion SCI121
Réseaux • « En informatique, un réseau est un ensemble interconnecté d’appareils électroniques, géographiquement distants qui échangent des informations » Wikipédia SCI121
Exemples de réseaux • Internet • Le réseau de l’Université • Le réseau téléphonique (filaire, cellulaire) • GPS • Réseau de capteurs (surveillance sismique) • ... SCI121
Appareils Electroniques SCI121
Interconnections SCI121
Echange d’informations SCI121
Couches de communication (Modèle OSI) Utilisateur final • Deux fonctions : • Envoi(M,v) • Réception(M,v) Protocoles réseaux : Algorithmes distribués Envoi d’une trame de bits (message) point à point Envoi d’un seul bit d’information point à point SCI121
Objectifs • Communiquer : mail, chat … • Echanger : fichiers (mp3, doc) • Partager les resources : • Physique (imprimantes) • De calculs (applications) • Accélérer le calcul • Grid computing • SETI@HOME SCI121
Plan • Réseau ? • Algorithme distribué ? • Problème à résoudre ? • Exemple : circulation d’un jeton • Conclusion SCI121
Modèle théorique pour les réseaux : Les systèmes distribués • Machines ≈ Processus SCI121
Les systèmes distribués • Machines ≈ Processus • Caractéristiques: • Pas de contrôle centralisé • Programmes locaux • Mémoires locales SCI121
Les systèmes distribués • Machines ≈ Processus • Caractéristiques: • Pas de contrôle centralisé • Programmes locaux • Mémoires locales • Asynchrones • Pas de temps global SCI121
Les systèmes distribués • Machines ≈ Processus • Caractéristiques: • Pas de contrôle centralisé • Programmes locaux • Mémoires locales • Asynchrones • Pas de temps global • Interconnectés SCI121
Les systèmes distribués • Machines ≈ Processus • Caractéristiques: • Pas de contrôle centralisé • Programmes locaux • Mémoires locales • Asynchrones • Pas de temps global • Interconnectés • Passage de messages asynchrone et FIFO SCI121
FIFO SCI121
FIFO A SCI121
FIFO B A SCI121
FIFO C A B SCI121
FIFO B C A SCI121
FIFO C B SCI121
FIFO C SCI121
Les systèmes distribués • Hypothèses • Liens bidirectionnels SCI121
Les systèmes distribués 4078 167 • Hypothèses • Liens bidirectionnels • Identité unique (e.g., adresse IP) 12 23 42 SCI121
Les systèmes distribués • Hypothèses • Liens bidirectionnels • Identité unique • Topologie statique et connexe (≈graphe) • Nous excluons ici les réseaux téléphoniques sans-fils ! 4078 167 12 23 42 SCI121
Rappel : Connexité Connexe ! SCI121
Rappel : Connexité Pas connexe ! SCI121
Algorithme distribué SCI121
Algorithme DistribuéExemple : Calcul d’un arbre couvrant SCI121
Algorithme DistribuéExemple : Calcul d’un arbre couvrant SCI121
Algorithme DistribuéExemple : Calcul d’un arbre couvrant SCI121
Algorithme DistribuéExemple : Calcul d’un arbre couvrant • Entrées réparties Racine= vrai Racine= faux Racine= faux Racine= faux Racine= faux SCI121
Algorithme DistribuéExemple : Calcul d’un arbre couvrant • Entrées réparties • Calculs locaux • Mémoires locales • Programmes locals • Envoi de messages • Décision locale Racine= faux SCI121
Algorithme DistribuéExemple : Calcul d’un arbre couvrant • Entrées réparties • Calculslocaux • Mémoires locales • Programmes locals • Envoi de messages • Decision locale • Sorties réparties Racine= vrai Racine= faux Racine= faux Racine= faux Racine= faux SCI121
Algorithme DistribuéExemple : Calcul d’un arbre couvrant • Entrées réparties • Calculs locaux • Mémoires locales • Programmes locals • Envoi de messages • Decision locale • Sorties réparties • Tâche globale Racine= vrai Racine= faux Racine= faux Racine= faux Racine= faux SCI121
Evaluation des performancesQuel est le meilleur algorithme ? • #Messages • Volume (en bits) • Temps (en rondes) • Occupation mémoire (en bits) SCI121
Plan • Réseau ? • Algorithme distribué ? • Problème à résoudre ? • Exemple : circulation d’un jeton • Conclusion SCI121
Problèmes classiques • Echange de donnée : routage, diffusion, … • Accords : consensus, élection, … • Auto-organisation : arbre couvrant, clustering • Allocation de ressources : exclusion mutuelle, diner des philosophes… SCI121
Echange de donnée : routage SCI121
Echange de donnée : routage Source Destination SCI121
Echange de donnée : routage SCI121
Accord : électionCalculer un chef ! 34 12 42 58 22 56 15 72 31 SCI121
Accord : électionCalculer un chef ! 34 12 12 12 12 42 12 58 12 22 12 56 15 12 72 12 31 12 SCI121
Auto-organisation : k-Clustering • Ex. k=2 ≤k SCI121
Auto-organisation : k-Clustering • Ex. k=2 ≤k SCI121