Fondements de l’algorithmique des réseaux

Slides:



Advertisements
Présentations similaires
Sécurité informatique
Advertisements

La Couche Réseau.
Institut Supérieur d'Informatique
Introduction à la tolérance aux défaillances
Sous-projet IV Communications Placement/Ordonnancement.
Structures de données et complexité
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
– Routage. Sommaire 1)Principes fondamentaux 1)Routage statique et dynamique 1)Convergence 1)Routage à vecteur de distance 1)Routage à état de liens 1)Systèmes.
Stabilisation instantanée efficace
Métrologie pour lInternet. Jean-Loup Guillaume Journées Franciliennes de Recherche Opérationnelle.
Architecture de réseaux
FLSI602 Génie Informatique et Réseaux
wireless sensor networks
La technologie des réseaux
Systèmes distribués C. Delporte-Gallet (ESIEE-IGM)
Introduction aux réseaux
Les Réseaux Informatiques
Le modèle O.S.I..
Lycée Général et Technologique du Rempart - Marseille.
Auto-organisation dans les réseaux ad hoc
Architecture Réseau Modèle OSI et TCP.
Introduction aux réseaux
Le protocole FTP.
Algorithme à vague Stéphane Devismes.
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é.
Présentation de Active Directory
Programmation concurrente
802.1x Audric PODMILSAK 13 janvier 2009.
Détection de défaillances pour les grilles
Le Modele OSI.
1 Protection des arbres multicast avec une forêt duale Mohand Yazid SAIDI Bernard COUSIN Miklós MOLNÁR 15 Février 2006.
Détection de la terminaison
Adressage internet utilisé par le protocole IP (Internet Protocol)
Exposé sur les réseaux informatiques réalisé par :
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Chapitre 1: Réseaux Informatiques
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Les Réseaux Le modèle à 7 couches
La sécurité dans les réseaux mobiles Ad hoc
Réalisé par : HOUDA CHAHRAOUI
Programmation dynamique
© OutilsInformatique, 2014 tous droits réservés 1.Définir des termes et concepts de la gestion de réseau. 2.Comprendre les avantages d’un réseau. 3.Comprendre.
Réseaux Mesh (Maillés) sans fil « WMNS »
Sommaire Dans ce chapitre, nous aborderons :
Communication entre machines, sur Internet…
Suite.
Jeu de Librairies Virtuelles « DLL » Windows pour la réalisation de programmes informatiques.
Réseau Infrastructure Partage ressources Protocole Sécurité.
ROUTEUR DUMAREAU Florent.
Réseau informatique Ismail rida et otman khalil
Julien Pley – Équipe ADEPT Colloque de DEA 2001/2002
Développement d’application client/serveur
Parcours, fouilles et vagues Franck Petit LaRIA Université de Picardie Jules Verne, Amiens
TCP/IP Historique La DRPA (Defense Advanced Reasearch Projects Agency) lança un projet de dévélopper un réseau à commutation de paquets : ARPANET.
1. Introduction Le traitement informatisé de données requiert un dialogue, une communication entre l’homme et la machine, et parfois, entre plusieurs.
Les Réseaux Informatiques
Les Réseaux Informatiques
Réseaux locaux Rappels sur Ethernet et Token Ring Spanning Tree VLANs.
Khawla azendag 2/2 Les Réseaux.
Architecture Client/Serveur
Structures de données avancées : LH* D. E ZEGOUR Institut National d ’Informatique.
Les architectures logiques
Les réseaux locaux (Ethernet)
Les Réseaux Informatiques Rappels
M2.22 Réseaux et Services sur réseaux
Département Informatique Les Réseaux Informatiques Couche Transport Protocoles UDP & TCP Laurent JEANPIERRE.
Systèmes Distribués et Autostabilisation
Transcription de la présentation:

Fondements de l’algorithmique des réseaux Stéphane Devismes 17/04/2014 SCI121

Plan Réseau ? Algorithme distribué ? Problème à résoudre ? Exemple : circulation d’un jeton Conclusion 17/04/2014 SCI121

Plan Réseau ? Algorithme distribué ? Problème à résoudre ? Exemple : circulation d’un jeton Conclusion 17/04/2014 SCI121

Réseaux « En informatique, un réseau est un ensemble interconnecté d’appareils électroniques, géographiquement distants qui échangent des informations » Wikipédia 17/04/2014 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) ... 17/04/2014 SCI121

Appareils Electroniques 17/04/2014 SCI121

Interconnections 17/04/2014 SCI121

Echange d’informations 17/04/2014 SCI121

Couches de communication (Modèle OSI) Utilisateur final Application Présentation Session Transport Réseau MAC Physique 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 17/04/2014 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 17/04/2014 SCI121

Plan Réseau ? Algorithme distribué ? Problème à résoudre ? Exemple : circulation d’un jeton Conclusion 17/04/2014 SCI121

Modèle théorique pour les réseaux : Les systèmes distribués Machines ≈ Processus 17/04/2014 SCI121

Les systèmes distribués Machines ≈ Processus Caractéristiques: Pas de contrôle centralisé Programmes locaux Mémoires locales 17/04/2014 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 17/04/2014 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 17/04/2014 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 17/04/2014 SCI121

FIFO 17/04/2014 SCI121

FIFO A 17/04/2014 SCI121

FIFO B A 17/04/2014 SCI121

FIFO C B A 17/04/2014 SCI121

FIFO C B A 17/04/2014 SCI121

FIFO C B 17/04/2014 SCI121

FIFO C 17/04/2014 SCI121

Les systèmes distribués Hypothèses Liens bidirectionnels 17/04/2014 SCI121

Liens bidirectionnels : pas toujours ! 17/04/2014 SCI121

Les systèmes distribués 4078 167 Hypothèses Liens bidirectionnels Identité unique (e.g., adresse IP) 12 42 23 17/04/2014 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 17/04/2014 SCI121

Rappel : Connexité Connexe ! 17/04/2014 SCI121

Rappel : Connexité Pas connexe ! 17/04/2014 SCI121

Algorithme distribué 17/04/2014 SCI121

Algorithme Distribué Exemple : Calcul d’un arbre couvrant 17/04/2014 SCI121

Algorithme Distribué Exemple : Calcul d’un arbre couvrant 17/04/2014 SCI121

Algorithme Distribué Exemple : Calcul d’un arbre couvrant 17/04/2014 SCI121

Algorithme Distribué Exemple : Calcul d’un arbre couvrant Entrées réparties Racine= vrai Racine= faux Racine= faux Racine= faux Racine= faux 17/04/2014 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 17/04/2014 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 Racine= vrai Racine= faux Racine= faux Racine= faux Racine= faux 17/04/2014 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 17/04/2014 SCI121

Evaluation des performances Quel est le meilleur algorithme ? #Messages Volume (en bits) Temps (en rondes) Occupation mémoire (en bits) 17/04/2014 SCI121

Plan Réseau ? Algorithme distribué ? Problème à résoudre ? Exemple : circulation d’un jeton Conclusion 17/04/2014 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… 17/04/2014 SCI121

Echange de donnée : routage 17/04/2014 SCI121

Echange de donnée : routage Source Destination 17/04/2014 SCI121

Echange de donnée : routage 17/04/2014 SCI121

Accord : élection Calculer un chef ! 17/04/2014 SCI121

Accord : élection Calculer un chef ! 34 12 42 58 22 15 56 72 31 17/04/2014 SCI121

Accord : élection Calculer un chef ! 34 12 12 12 12 42 12 12 58 22 12 15 56 12 72 12 31 12 17/04/2014 SCI121

Auto-organisation : k-Clustering 17/04/2014 SCI121

Auto-organisation : k-Clustering 17/04/2014 SCI121

Auto-organisation : k-Clustering Ex. k=2 ≤k 17/04/2014 SCI121

Auto-organisation : k-Clustering Ex. k=2 ≤k 17/04/2014 SCI121

Allocation de ressources : exclusion mutuelle 17/04/2014 SCI121

Allocation de ressources : exclusion mutuelle 17/04/2014 SCI121

Allocation de ressources : exclusion mutuelle 17/04/2014 SCI121

Allocation de ressources : exclusion mutuelle 17/04/2014 SCI121

Allocation de ressources : exclusion mutuelle 17/04/2014 SCI121

Plan Réseau ? Algorithme distribué ? Problème à résoudre ? Exemple : circulation d’un jeton Conclusion 17/04/2014 SCI121

Circulation d’un jeton Plan Définition Solution dans un réseau en anneau (token ring) Solution dans un réseau en arbre Solution dans un réseau quelconque 17/04/2014 SCI121

Circulation d’un jeton : définition Un message appelé « jeton » Circule séquentiellement dans le réseau Il doit visiter tous les processus La circulation termine 17/04/2014 SCI121

Circulation d’un jeton dans un anneau 17/04/2014 SCI121

Circulation d’un jeton dans un anneau 1 1 1 1 1 1 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un anneau Un initiateur 1 1 1 1 1 1 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un anneau L’initiateur envoie le jeton J sur le canal 0 1 1 1 1 1 1 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un anneau J Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod 2 1 1 1 1 1 1 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un anneau Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod 2 1 1 1 1 J 1 1 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un anneau Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod 2 1 1 1 1 1 1 J 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un anneau Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod 2 1 1 1 1 1 1 J 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un anneau Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod 2 1 1 1 1 1 1 J 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un anneau Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod 2 1 1 1 1 J 1 1 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un anneau Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod 2 J 1 1 1 1 1 1 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un anneau Sur réception, l’initiateur décide la terminaison 1 1 1 1 1 1 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un arbre Quasiment le même algorithme ! 1 2 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un arbre L’initiateur envoie le jeton J sur le canal 0 1 J 2 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un arbre Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod δ Ici δ = 3 (2+1) mod 3 = 0 1 J 2 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un arbre Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod δ Ici δ = 3 (2+1) mod 3 = 0 1 2 1 J 1 17/04/2014 SCI121

Circulation d’un jeton dans un arbre Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod δ Ici δ = 1 (0+1) mod 1 = 0 1 2 1 1 J 17/04/2014 SCI121

Circulation d’un jeton dans un arbre Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod δ Ici δ = 3 (0+1) mod 3 = 1 1 2 1 J 1 17/04/2014 SCI121

Circulation d’un jeton dans un arbre Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod δ Ici δ = 1 (0+1) mod 1 = 0 1 2 1 1 J 17/04/2014 SCI121

Circulation d’un jeton dans un arbre Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod δ Ici δ = 3 (1+1) mod 3 = 2 1 J 2 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un arbre Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod δ Ici δ = 2 (0+1) mod 2 = 1 1 J 2 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un arbre Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod δ Ici δ = 2 (0+1) mod 2 = 1 1 2 1 J 1 17/04/2014 SCI121

Circulation d’un jeton dans un arbre Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod δ Ici δ = 1 (0+1) mod 1 = 0 1 2 1 1 J 17/04/2014 SCI121

Circulation d’un jeton dans un arbre Sur réception du canal i, un non-initiateur renvoie le jeton sur le canal (i+1) mod δ Ici δ = 2 (1+1) mod 2 = 0 1 J 2 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un arbre Sur réception du canal δ-1, l’initiateur décide la terminaison Ici δ-1 = 1 1 2 1 1 17/04/2014 SCI121

Circulation d’un jeton dans un réseau quelconque ? Est-ce que l’algorithme précédent fonctionne ? NON ! 17/04/2014 SCI121

Exemple 2 1 1 1 1 1 1 1 1 17/04/2014 SCI121

Solution Algorithme de Tarry (1885) Problème de Labyrinthe « Ne reprendre l'allée initiale qui a conduit à un carrefour pour la première fois que lorsqu'on ne peut pas faire autrement » Sommets = intersections Liens = allées entre les intersections des arêtes 17/04/2014 SCI121

Variables Pour chaque processus Un pointeur P ∈ {NULL} ∪ {0…δ-1} (initialisé à NULL) Un tableau de Booléen VISITE[0…δ-1], initialement toutes les cases sont à faux. 17/04/2014 SCI121

Exemple 2 1 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121

Exemple 2 J 1 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121

Exemple 2 1 1 1 J 2 1 1 1 1 1 2 17/04/2014 SCI121

Exemple 2 1 1 1 2 1 1 J 1 1 1 2 17/04/2014 SCI121

Exemple 2 1 1 1 2 1 1 J 1 1 1 2 17/04/2014 SCI121

Exemple 2 1 1 1 2 J 1 1 1 1 1 2 17/04/2014 SCI121

Exemple 2 1 1 1 2 J 1 1 1 1 1 2 17/04/2014 SCI121

Exemple 2 1 1 1 2 1 1 1 1 J 1 2 17/04/2014 SCI121

Exemple 2 1 1 1 2 1 1 1 1 1 2 J 17/04/2014 SCI121

Exemple 2 1 1 1 2 1 1 J 1 1 1 2 17/04/2014 SCI121

Exemple 2 1 1 1 J 2 1 1 1 1 1 2 17/04/2014 SCI121

Exemple J 2 1 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121

Exemple J 2 1 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121

Exemple 2 1 1 J 1 2 1 1 1 1 1 2 17/04/2014 SCI121

Exemple 2 1 1 1 2 1 1 J 1 1 1 2 17/04/2014 SCI121

Exemple 2 1 1 1 2 1 1 1 1 J 1 2 17/04/2014 SCI121

Exemple 2 1 1 1 2 1 1 J 1 1 1 2 17/04/2014 SCI121

Exemple 2 1 1 1 J 2 1 1 1 1 1 2 17/04/2014 SCI121

Exemple 2 J 1 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121

Exemple 2 1 J 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121

Exemple 2 1 J 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121

Exemple Terminé ! 2 1 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121

Plan Réseau ? Algorithme distribué ? Problème à résoudre ? Exemple : circulation d’un jeton Conclusion 17/04/2014 SCI121

Conclusion Depuis 40 ans La plupart des problèmes d’algorithmiques réparties ont été résolus de manière efficace En supposant des réseaux sans pannes … 17/04/2014 SCI121

Conclusion: Challenge actuel Les réseaux modernes sont à grande-échelle et fait de machines hétérogènes et produites en masses à faible coût, e.g. Internet (10 milliard de machine connectée d’ici 2016) Internet des objets Réseaux sans fils Communication radio : beaucoup de pertes de messages Crash de machines à cause des batteries limitées ⇒ Forte probabilité de pannes ⇒ Intervention humain impossible ⇒ Besoin d’algorithmes distribués tolérant les pannes 17/04/2014 SCI121

Merci de votre attention ! 17/04/2014 SCI121