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 Stéphane Devismes 17/04/2014SCI121.

Présentations similaires


Présentation au sujet: "Fondements de l’algorithmique des réseaux Stéphane Devismes 17/04/2014SCI121."— Transcription de la présentation:

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

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

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

4 Réseaux 17/04/2014SCI121 « En informatique, un réseau est un ensemble interconnecté d’appareils électroniques, géographiquement distants qui échangent des informations » Wikipédia

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/2014SCI121

6 Appareils Electroniques 17/04/2014SCI121

7 Interconnections 17/04/2014SCI121

8 Echange d’informations 17/04/2014SCI121

9 Couches de communication (Modèle OSI) 17/04/2014SCI121 Application Présentation Session Transport Réseau MAC Physique Envoi d’un seul bit d’information point à point Envoi d’une trame de bits (message) point à point Protocoles réseaux : Algorithmes distribués Deux fonctions : -Envoi(M,v) -Réception(M,v) Deux fonctions : -Envoi(M,v) -Réception(M,v) Utilisateur final

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/2014SCI121

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

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

13 Les systèmes distribués Machines ≈ Processus Caractéristiques: – Pas de contrôle centralisé Programmes locaux Mémoires locales 17/04/2014SCI121

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/2014SCI121

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/2014SCI121

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/2014SCI121

17 FIFO 17/04/2014SCI121

18 FIFO 17/04/2014SCI121 A

19 FIFO 17/04/2014SCI121 B A

20 FIFO 17/04/2014SCI121 C BA

21 FIFO 17/04/2014SCI121 A CB

22 FIFO 17/04/2014SCI121 B C

23 FIFO 17/04/2014SCI121 C

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

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

26 Les systèmes distribués Hypothèses – Liens bidirectionnels – Identité unique (e.g., adresse IP) 17/04/2014SCI

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 ! 17/04/2014SCI

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

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

30 Algorithme distribué 17/04/2014SCI121

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

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

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

34 Entrées réparties Algorithme Distribué Exemple : Calcul d’un arbre couvrant 17/04/2014SCI121 Racin e= faux Racin e= faux Racin e= vrai Racin e= vrai Racin e= faux Racin e= faux Racin e= faux Racin e= faux Racin e= faux Racin e= faux

35 Entrées réparties Calculs locaux – Mémoires locales – Programmes locals – Envoi de messages – Décision locale Algorithme Distribué Exemple : Calcul d’un arbre couvrant 17/04/2014SCI121 Racin e= faux Racin e= faux

36 Entrées réparties Calculs locaux – Mémoires locales – Programmes locals – Envoi de messages – Decision locale Sorties réparties Algorithme Distribué Exemple : Calcul d’un arbre couvrant 17/04/2014SCI121 Racin e= faux Racin e= faux Racin e= vrai Racin e= vrai Racin e= faux Racin e= faux Racin e= faux Racin e= faux Racin e= faux Racin e= faux

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 17/04/2014SCI121 Racin e= faux Racin e= faux Racin e= vrai Racin e= vrai Racin e= faux Racin e= faux Racin e= faux Racin e= faux Racin e= faux Racin e= faux

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

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

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/2014SCI121

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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/2014SCI121

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/2014SCI121

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

60 Circulation d’un jeton dans un anneau 17/04/2014SCI

61 Circulation d’un jeton dans un anneau Un initiateur 17/04/2014SCI

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

63 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 17/04/2014SCI J

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 17/04/2014SCI J

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 17/04/2014SCI J

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 17/04/2014SCI J

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 17/04/2014SCI J

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 17/04/2014SCI J

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 17/04/2014SCI J

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

71 Circulation d’un jeton dans un arbre Quasiment le même algorithme ! 17/04/2014SCI

72 Circulation d’un jeton dans un arbre L’initiateur envoie le jeton J sur le canal 0 17/04/2014SCI J

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 17/04/2014SCI J

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 17/04/2014SCI J

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 17/04/2014SCI J

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 17/04/2014SCI J

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 17/04/2014SCI J

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 17/04/2014SCI J

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 17/04/2014SCI J

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 17/04/2014SCI J

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 17/04/2014SCI J

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 17/04/2014SCI J

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

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

85 Exemple 17/04/2014SCI

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/2014SCI121

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/2014SCI121

88 Exemple 17/04/2014SCI

89 Exemple 17/04/2014SCI J

90 Exemple 17/04/2014SCI J

91 Exemple 17/04/2014SCI J 0

92 Exemple 17/04/2014SCI J 0 0

93 Exemple 17/04/2014SCI J 0 0 0

94 Exemple 17/04/2014SCI J 0 0 0

95 Exemple 17/04/2014SCI J 0 0 0

96 Exemple 17/04/2014SCI J 0 0 0

97 Exemple 17/04/2014SCI J

98 Exemple 17/04/2014SCI J

99 Exemple 17/04/2014SCI J

100 Exemple 17/04/2014SCI J

101 Exemple 17/04/2014SCI J

102 Exemple 17/04/2014SCI J

103 Exemple 17/04/2014SCI J

104 Exemple 17/04/2014SCI J

105 Exemple 17/04/2014SCI J

106 Exemple 17/04/2014SCI J

107 Exemple 17/04/2014SCI J

108 Exemple 17/04/2014SCI J

109 Exemple 17/04/2014SCI Terminé !

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

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/2014SCI121

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/2014SCI121

113 17/04/2014SCI121 Merci de votre attention !


Télécharger ppt "Fondements de l’algorithmique des réseaux Stéphane Devismes 17/04/2014SCI121."

Présentations similaires


Annonces Google