La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Fondements de l’algorithmique des réseaux

Présentations similaires


Présentation au sujet: "Fondements de l’algorithmique des réseaux"— Transcription de la présentation:

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


Télécharger ppt "Fondements de l’algorithmique des réseaux"

Présentations similaires


Annonces Google