Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parThéophile Hennequin Modifié depuis plus de 10 années
1
Fondements de l’algorithmique des réseaux
Stéphane Devismes 17/04/2014 SCI121
2
Plan Réseau ? Algorithme distribué ? Problème à résoudre ?
Exemple : circulation d’un jeton Conclusion 17/04/2014 SCI121
3
Plan Réseau ? Algorithme distribué ? Problème à résoudre ?
Exemple : circulation d’un jeton Conclusion 17/04/2014 SCI121
4
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
5
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
6
Appareils Electroniques
17/04/2014 SCI121
7
Interconnections 17/04/2014 SCI121
8
Echange d’informations
17/04/2014 SCI121
9
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
10
Objectifs Communiquer : mail, chat … Echanger : fichiers (mp3, doc)
Partager les resources : Physique (imprimantes) De calculs (applications) Accélérer le calcul Grid computing 17/04/2014 SCI121
11
Plan Réseau ? Algorithme distribué ? Problème à résoudre ?
Exemple : circulation d’un jeton Conclusion 17/04/2014 SCI121
12
Modèle théorique pour les réseaux : Les systèmes distribués
Machines ≈ Processus 17/04/2014 SCI121
13
Les systèmes distribués
Machines ≈ Processus Caractéristiques: Pas de contrôle centralisé Programmes locaux Mémoires locales 17/04/2014 SCI121
14
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
15
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
16
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
17
FIFO 17/04/2014 SCI121
18
FIFO A 17/04/2014 SCI121
19
FIFO B A 17/04/2014 SCI121
20
FIFO C B A 17/04/2014 SCI121
21
FIFO C B A 17/04/2014 SCI121
22
FIFO C B 17/04/2014 SCI121
23
FIFO C 17/04/2014 SCI121
24
Les systèmes distribués
Hypothèses Liens bidirectionnels 17/04/2014 SCI121
25
Liens bidirectionnels : pas toujours !
17/04/2014 SCI121
26
Les systèmes distribués
4078 167 Hypothèses Liens bidirectionnels Identité unique (e.g., adresse IP) 12 42 23 17/04/2014 SCI121
27
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
28
Rappel : Connexité Connexe ! 17/04/2014 SCI121
29
Rappel : Connexité Pas connexe ! 17/04/2014 SCI121
30
Algorithme distribué 17/04/2014 SCI121
31
Algorithme Distribué Exemple : Calcul d’un arbre couvrant
17/04/2014 SCI121
32
Algorithme Distribué Exemple : Calcul d’un arbre couvrant
17/04/2014 SCI121
33
Algorithme Distribué Exemple : Calcul d’un arbre couvrant
17/04/2014 SCI121
34
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
35
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
36
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
37
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
38
Evaluation des performances Quel est le meilleur algorithme ?
#Messages Volume (en bits) Temps (en rondes) Occupation mémoire (en bits) 17/04/2014 SCI121
39
Plan Réseau ? Algorithme distribué ? Problème à résoudre ?
Exemple : circulation d’un jeton Conclusion 17/04/2014 SCI121
40
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
41
Echange de donnée : routage
17/04/2014 SCI121
42
Echange de donnée : routage
Source Destination 17/04/2014 SCI121
43
Echange de donnée : routage
17/04/2014 SCI121
44
Accord : élection Calculer un chef !
17/04/2014 SCI121
45
Accord : élection Calculer un chef !
34 12 42 58 22 15 56 72 31 17/04/2014 SCI121
46
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
47
Auto-organisation : k-Clustering
17/04/2014 SCI121
48
Auto-organisation : k-Clustering
17/04/2014 SCI121
49
Auto-organisation : k-Clustering
Ex. k=2 ≤k 17/04/2014 SCI121
50
Auto-organisation : k-Clustering
Ex. k=2 ≤k 17/04/2014 SCI121
51
Allocation de ressources : exclusion mutuelle
17/04/2014 SCI121
52
Allocation de ressources : exclusion mutuelle
17/04/2014 SCI121
53
Allocation de ressources : exclusion mutuelle
17/04/2014 SCI121
54
Allocation de ressources : exclusion mutuelle
17/04/2014 SCI121
55
Allocation de ressources : exclusion mutuelle
17/04/2014 SCI121
56
Plan Réseau ? Algorithme distribué ? Problème à résoudre ?
Exemple : circulation d’un jeton Conclusion 17/04/2014 SCI121
57
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
58
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
59
Circulation d’un jeton dans un anneau
17/04/2014 SCI121
60
Circulation d’un jeton dans un anneau
1 1 1 1 1 1 1 1 17/04/2014 SCI121
61
Circulation d’un jeton dans un anneau
Un initiateur 1 1 1 1 1 1 1 1 17/04/2014 SCI121
62
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
63
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
64
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
65
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
66
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
67
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
68
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
69
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
70
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
71
Circulation d’un jeton dans un arbre
Quasiment le même algorithme ! 1 2 1 1 17/04/2014 SCI121
72
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
73
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
74
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
75
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
76
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
77
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
78
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
79
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
80
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
81
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
82
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
83
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
84
Circulation d’un jeton dans un réseau quelconque ?
Est-ce que l’algorithme précédent fonctionne ? NON ! 17/04/2014 SCI121
85
Exemple 2 1 1 1 1 1 1 1 1 17/04/2014 SCI121
86
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
87
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
88
Exemple 2 1 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121
89
Exemple 2 J 1 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121
90
Exemple 2 1 1 1 J 2 1 1 1 1 1 2 17/04/2014 SCI121
91
Exemple 2 1 1 1 2 1 1 J 1 1 1 2 17/04/2014 SCI121
92
Exemple 2 1 1 1 2 1 1 J 1 1 1 2 17/04/2014 SCI121
93
Exemple 2 1 1 1 2 J 1 1 1 1 1 2 17/04/2014 SCI121
94
Exemple 2 1 1 1 2 J 1 1 1 1 1 2 17/04/2014 SCI121
95
Exemple 2 1 1 1 2 1 1 1 1 J 1 2 17/04/2014 SCI121
96
Exemple 2 1 1 1 2 1 1 1 1 1 2 J 17/04/2014 SCI121
97
Exemple 2 1 1 1 2 1 1 J 1 1 1 2 17/04/2014 SCI121
98
Exemple 2 1 1 1 J 2 1 1 1 1 1 2 17/04/2014 SCI121
99
Exemple J 2 1 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121
100
Exemple J 2 1 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121
101
Exemple 2 1 1 J 1 2 1 1 1 1 1 2 17/04/2014 SCI121
102
Exemple 2 1 1 1 2 1 1 J 1 1 1 2 17/04/2014 SCI121
103
Exemple 2 1 1 1 2 1 1 1 1 J 1 2 17/04/2014 SCI121
104
Exemple 2 1 1 1 2 1 1 J 1 1 1 2 17/04/2014 SCI121
105
Exemple 2 1 1 1 J 2 1 1 1 1 1 2 17/04/2014 SCI121
106
Exemple 2 J 1 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121
107
Exemple 2 1 J 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121
108
Exemple 2 1 J 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121
109
Exemple Terminé ! 2 1 1 1 2 1 1 1 1 1 2 17/04/2014 SCI121
110
Plan Réseau ? Algorithme distribué ? Problème à résoudre ?
Exemple : circulation d’un jeton Conclusion 17/04/2014 SCI121
111
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
112
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
113
Merci de votre attention !
17/04/2014 SCI121
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.