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

Agrégation d’arbres Multicast Joanna Moulierac Equipe ARMOR : Mikl ó s Moln á r, Bernard Cousin, Raymond Marie, Alexandre Guitton. IRISA, Université de.

Présentations similaires


Présentation au sujet: "Agrégation d’arbres Multicast Joanna Moulierac Equipe ARMOR : Mikl ó s Moln á r, Bernard Cousin, Raymond Marie, Alexandre Guitton. IRISA, Université de."— Transcription de la présentation:

1 Agrégation d’arbres Multicast Joanna Moulierac Equipe ARMOR : Mikl ó s Moln á r, Bernard Cousin, Raymond Marie, Alexandre Guitton. IRISA, Université de Rennes 1 15 février 2006

2 2 Plan de la présentation 1.Contexte de travail 2.L’agrégation rapide : STA 3.L’agrégation d’arbres dans un grand domaine : TALD

3 I- Le Contexte du travail 2- Pourquoi ça ne marche pas encore?

4 4 Multicast Proposé par Steve Deering en 1991 Communication de groupes sur Internet Une seule copie du message envoyée, duplication aux routeurs de branchement Applications : Vidéoconférences, jeux vidéos en ligne…

5 5 Multicast Problèmes de passage à l’échelle : Un groupe g  un arbre t  |t| entrées de routage Si le nombre de groupes est grand : Beaucoup d’entrées de routage : - Mémoire des routeurs saturée - Routage ralenti Beaucoup de messages de contrôle pour maintenir ces entrées de routage

6 6 L’agrégation d’arbres L’agrégation d’arbres proposée en 2001 par M.Gerla, J.-H. Cui et L. Lao de UCLA, Los Angelès Aggregated Multicast Proposée pour résoudre le problème de passage à l’échelle Principe : permettre à plusieurs groupes d’utiliser le même arbre Multicast : un groupe, un arbre Agrégation : plusieurs groupes, un arbre

7 7 L’agrégation d’arbres

8 7 Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4

9 7 L’agrégation d’arbres Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4 Un arbre couvrant g1 est construit

10 7 L’agrégation d’arbres Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4 Un arbre couvrant g1 est construit Entrée de routage stockée pour g

11 7 L’agrégation d’arbres Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4

12 7 L’agrégation d’arbres Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4 On peut construire un nouvel arbre pour le groupe g2 (comme en multicast)

13 7 L’agrégation d’arbres Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4 Ou g2 peut utiliser l’arbre construit pour g1

14 7 L’agrégation d’arbres Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4 g1  arbre rouge g2  arbre rouge g1  arbre rouge g2  arbre rouge Group-label table On rajoute alors des ’’entrées de groupes’’ dans des tables groupes-label g1  arbre rouge g2  arbre rouge

15 8 L’agrégation d’arbres Leaky match Si on veut réduire encore plus le nombre d’entrées de routage… … on peut aussi agréger des groupes à des arbres plus « gros » Agrégation « Leaky Match »

16 9 L’agrégation d’arbres Leaky Match Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4 Group-label table g1  arbre rouge g2  arbre rouge g1  arbre rouge g2  arbre rouge g1  arbre rouge g2  arbre rouge Group-label table

17 9 L’agrégation d’arbres Leaky Match Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4 Group-label table g1-->arbre rouge g2-->arbre rouge g1-->arbre rouge g2-->arbre rouge g1-->arbre rouge g2-->arbre rouge Group-label table Un nouveau groupe g3 arrive.

18 9 L’agrégation d’arbres Leaky Match Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4 Group-label table g1-->arbre rouge g2-->arbre rouge g1-->arbre rouge g2-->arbre rouge g1-->arbre rouge g2-->arbre rouge Group-label table On peut construire un arbre couvrant g3

19 9 L’agrégation d’arbres Leaky Match Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4 g1  arbre rouge g2  arbre rouge g1  arbre rouge g2  arbre rouge g3  arbre rouge g1  arbre rouge g2  arbre rouge g3  arbre rouge Group-label table Ou bien agréger g3 à l’arbre rouge, qui est plus gros.

20 10 L’agrégation d’arbres Leaky Match Réduction du nombre d’entrées de routage. Perte de bande passante car des routeurs non destinataires reçoivent des messages. Compromis entre la réduction du nombre d’entrées de routage et la bande passante gaspillée.

21 II- Notre Algorithme STA Scalable Tree Aggregation

22 12 Notre algorithme STA Pour gérer 40 000 requêtes de groupes, l’algorithme AM prend plus de 2h.  Problèmes de passage à l’échelle Nous proposons un nouvel algorithme avec une agrégation plus rapide

23 13 Notre algorithme STA For each new group g : Compute a native tree t g for g of cost c g Trees are evaluated from sets MTS(c g ) to set MTS(c g *t b ) in increasing order of their costs t is evaluated If t can cover g then t is chosen Entrée g  label(t) dans les tables groupes-label des routeurs de bordures Données : Groupe g, seuil t b, MTS = {MTS 2 = {t1,t2,t3…},MTS 3 = {t1,t2,t3},MTS 4 = {t1,t2,t3} ….} Résultat : Un arbre pour g

24 13 Notre algorithme STA For each new group g : Compute a native tree t g for g of cost c g Trees are evaluated from sets MTS(c g ) to set MTS(c g *t b ) in increasing order of their costs t is evaluated If t can cover g then t is chosen Entrée g  label(t) dans les tables groupes-label des routeurs de bordures Données : Groupe g, seuil t b, MTS = {MTS 2 = {t1,t2,t3…},MTS 3 = {t1,t2,t3},MTS 4 = {t1,t2,t3} ….} Résultat : Un arbre pour g

25 13 Notre algorithme STA For each new group g : Compute a native tree t g for g of cost c g Trees are evaluated from set MTS(c g ) to set MTS(c g *t b ) in increasing order of their costs t is evaluated If t can cover g then t is chosen Entrée g  label(t) dans les tables groupes-label des routeurs de bordures Données : Groupe g, seuil t b, MTS = {MTS 2 = {t1,t2,t3…},MTS 3 = {t1,t2,t3},MTS 4 = {t1,t2,t3} ….} Résultat : Un arbre pour g

26 13 Notre algorithme STA For each new group g : Compute a native tree t g for g of cost c g Trees are evaluated from set MTS(c g ) to set MTS(c g *t b ) in increasing order of their costs t is evaluated If t can cover g then t is chosen Entrée g  label(t) dans les tables groupes-label des routeurs de bordures Données : Groupe g, seuil t b, MTS = {MTS 2 = {t1,t2,t3…},MTS 3 = {t1,t2,t3},MTS 4 = {t1,t2,t3} ….} Résultat : Un arbre pour g

27 13 Notre algorithme STA For each new group g : Compute a native tree t g for g of cost c g Trees are evaluated from set MTS(c g ) to set MTS(c g *t b ) in increasing order of their costs t is evaluated If t can cover g then t is chosen If all the trees in the subsets are evaluated and if no tree has been chosen then add tg in MTS(c g ) Entrée g  label(t) dans les tables groupes-label des routeurs de bordures Données : Groupe g, seuil t b, MTS = {MTS 2 = {t1,t2,t3…},MTS 3 = {t1,t2,t3},MTS 4 = {t1,t2,t3} ….} Résultat : Un arbre pour g

28 13 Notre algorithme STA For each new group g : Compute a native tree t g for g of cost c g Trees are evaluated from set MTS(c g ) to set MTS(c g *t b ) in increasing order of their costs t is evaluated If t can cover g then t is chosen If all the trees in the subsets are evaluated and if no tree has been chosen then add tg in MTS(c g ) Entrée g  label(t) dans les tables groupes-label des routeurs de bordures Données : Groupe g, seuil t b, MTS = {MTS 2 = {t1,t2,t3…},MTS 3 = {t1,t2,t3},MTS 4 = {t1,t2,t3} ….} Résultat : Un arbre pour g Seul un sous-ensemble d’arbres est évalué

29 13 Notre algorithme STA For each new group g : Compute a native tree t g for g of cost c g Trees are evaluated from set MTS(c g ) to set MTS(c g *t b ) in increasing order of their costs t is evaluated If t can cover g then t is chosen If all the trees in the subsets are evaluated and if no tree has been chosen then add tg in MTS(c g ) Entrée g  label(t) dans les tables groupes-label des routeurs de bordures Données : Groupe g, seuil t b, MTS = {MTS 2 = {t1,t2,t3…},MTS 3 = {t1,t2,t3},MTS 4 = {t1,t2,t3} ….} Résultat : Un arbre pour g Fonction de sélection plus simple. Utilisation de bitmaps. Seul un sous-ensemble d’arbres est évalué

30 13 Notre algorithme STA For each new group g : Compute a native tree t g for g of cost c g Trees are evaluated from set MTS(c g ) to set MTS(c g *t b ) in increasing order of their costs t is evaluated If t can cover g then t is chosen If all the trees in the subsets are evaluated and if no tree has been chosen then add tg in MTS(c g ) Entrée g  label(t) dans les tables groupes-label des routeurs de bordures Données : Groupe g, seuil t b, MTS = {MTS 2 = {t1,t2,t3…},MTS 3 = {t1,t2,t3},MTS 4 = {t1,t2,t3} ….} Résultat : Un arbre pour g Fonction de sélection plus simple. Utilisation de bitmaps. Dès qu’un arbre est trouvé, l’algorithme s’arrête Seul un sous-ensemble d’arbres est évalué

31 14 Résultats de simulation STA a les mêmes performances que AM STA est 4 fois plus rapide que AM (10 ms/groupe contre 45 ms)

32 III- L’agrégation d’arbres dans les grands domaines : TALD

33 16 Taux d’agrégation Pour 10 000 groupes concurrents

34 17 Le contexte Taux d’agrégation très faible quand le nombre de routeurs de bordure est grand L’agrégation d’arbres ≋ Multicast dans ce cas-là Il faut trouver un nouvel algorithme

35 18 L’agrégation dans les grands domaines Découper le réseau en sous-domaines Agréger les groupes séparément dans les sous-domaines.

36 19 Réseau Eurorings

37 19 Réseau Eurorings

38 19 Réseau Eurorings

39 19 Réseau Eurorings

40 19 Réseau Eurorings

41 19 Réseau Eurorings

42 19 Réseau Eurorings

43 19 Réseau Eurorings : découpage

44 19 Réseau Eurorings : découpage C1

45 19 Réseau Eurorings : découpage C1 C3 C4 C2

46 20 Algorithme TALD Chaque domaine i est géré par une entité centrale Ci L’agrégation est réalisée séparément dans chacun des sous- domaines par les C i L’entité centrale C, responsable du domaine entier, relie les arbres dans chacun des sous-domaines par des tunnels

47 21 Algorithme TALD Un nouveau groupe g Avec des membres dans Les sous-domaines 1,3 et 4

48 21 Algorithme TALD Chaque Ci construit un arbre couvrant les membres présents dans son sous- domaine.

49 21 Algorithme TALD Groupe g : @IP routeur29 Groupe g : C3, @IP29 Les Ci envoient un message à C …et C stocke ces informations dans une table

50 21 Algorithme TALD Groupe g : C3, @IP29 C1, @IP5 Groupe g : @IP routeur5

51 21 Algorithme TALD Groupe g : C3, @IP29 C1, @IP5 C4, @IP33 Groupe g : @IP routeur33

52 21 Algorithme TALD Groupe g : C3, @IP29 C1, @IP5 C4, @IP33

53 21 Algorithme TALD Groupe g : C3, @IP29 C1, @IP5 C4, @IP33

54 21 Algorithme TALD Groupe g : C3, @IP29 C1, @IP5 C4, @IP33 g-->@IP5 g-->@IP33

55 21 Algorithme TALD Groupe g : C3, @IP29 C1, @IP5 C4, @IP33 g-->@IP5 g-->@IP33

56 21 Algorithme TALD Groupe g : C3, @IP29 C1, @IP5 C4, @IP33 g-->@IP5 g-->@IP33 g-->@IP29 g-->@IP5

57 22 Le protocole TALD Le domaine est découpé en plusieurs sous-domaines Ensuite, agrégation dans chacun des sous-domaines Finalement, routage dans le domaine entier par des tunnels : stockage d’entrées pour la configuration des tunnels

58 23 Avantages du protocole TALD L’entité C n’a pas besoin de connaître la topologie du domaine entier pour configurer les tunnels Chaque sous-domaine est géré de manière indépendamment des autres Bon taux d’agrégation dans chacun des sous-domaines

59 24 Simulations Réseau Rocketfuel Exodus de 100 routeurs de bordure et 100 routeurs de cœur TALD_1 : sans découpe du domaine TALD_2 : domaine découpé en 2 sous-domaines TALD_4 : domaine découpé en 4 sous-domaines Membres choisis aléatoirement parmi les routeurs de bordure (entre 2 et 20 membres par groupe)

60 25 Nombre d’entrées de routage

61 26 Taux d’agrégation

62 27 Taux d’agrégation

63 28 Conclusion Agrégation d’arbres : solution pour déployer le multicast STA : proposition pour réaliser une agrégation rapide et tout aussi efficace. TALD : agrégation dans les grands domaines.

64 29 Références Aggregated Multicast --- A comparative study Jun-Hong Cui, Jinkyu Kim, Dario Maggiorini, Khaled Boussetta, Mario Gerla Special issue of cluster computing: the journal of networks, software and applications 2003. STA: Scalable Tree Aggregation Alexandre Guitton, Joanna Moulierac 7th International Conference on Telecommunications ConTEL 2005. (Best Student Paper Award) Q-STA: QoS Scalable Tree Aggregation Joanna Moulierac, Alexandre Guitton IFIP Networking 2005. DMTA: Distributed Multicast Tree Aggregation Joanna Moulierac, Alexandre Guitton INRIA Research Report n°5636, 2005. TALD: Multicast Tree Aggregation in Large Domains Joanna Moulierac, Alexandre Guitton, Mikl ó s Moln á r IFIP Networking 2006. On the number of multicast aggregated trees in a domain Joanna Moulierac, Mikl ó s Moln á r 2 nd Student Workshop of IEEE INFOCOM 2006.

65 Annexes

66 66 Résultats de simulation Simulations sur le réseau Eurorings de 43 nœuds et 55 arêtes Groupes dont les membres sont répartis aléatoirement (entre 2 et 20 membres par groupe) Groupes dynamiques (environ 45 000 groupes concurrents) Simulations en fonctions de trois seuils de bande passante : O% de perte de bande passante autorisée 1O% de perte de bande passante autorisée 2O% de perte de bande passante autorisée retour

67 67 Nombre d’arbres t b = 0.0 t b = 0.1 t b = 0.2 retour

68 68 Nombre d’entrées de routage t b = 0.0 t b = 0.1 t b = 0.2 retour

69 69 Perte de bande passante t b = 0.0 t b = 0.1 t b = 0.2 t b = ∞ t b = 1 retour

70 70 Nombre d’arbres évalués AM – 0.0 AM – 0.1 AM – 0.2 STA – 0.0, 0.1, 0.2 retour

71 71 Temps de calcul (en secondes) AM – 0.0 AM – 0.1 AM – 0.2 STA – 0.0 STA – 0.1 STA – 0.2 retour

72 72

73 73 Nombre de labels différents Nombre de groupes différents Nombre de labels différents (MST) Nombre de labels différents (SPT) Réseau Abilène 11 nœuds, 14 arêtes 2048370131 Réseau Nsfnet 14 nœuds, 21 arêtes 16 3844 785958 Réseau Géant 18 nœuds, 30 arêtes 262 14448 9428 222

74 74 L’agrégation d’arbres Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4 g1  arbre rouge g2  arbre rouge Group-label table @g2 | Message Un message pour g2 atteint le routeur b4

75 75 Arbre_ Rouge L’agrégation d’arbres Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4 @g2 | Message g1  arbre rouge g2  arbre rouge Group-label table Encapsulation du label correspondant g2

76 76 L’agrégation d’arbres Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4 Arbre_ Rouge @g2 | Message Le message est routé en fonction du label Arbre_Rouge dans le domaine

77 77 L’agrégation d’arbres Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4 Arbre_ Rouge @g2 | Message Arbre_ Rouge @g2 | Message Le message atteint les destinataires du groupe g2.

78 78 L’agrégation d’arbres Groupe g1 avec membres b1, b2, b4 Groupe g2 avec membres b1, b2, b4 Groupe g3 avec membres b1, b4 @g2 | Message Décapsulation du label. Le message est routé en dehors du domaine.

79 79 Nombre d’entrées spécifiques aux groupes

80 80 Nombre total d’entrées

81 81 Algorithme AM Une entité centrale ’’le tree Manager’’est responsable de l’agrégation Composition des groupes multicast Topologie du domaine Ensemble des arbres déjà construits Table groupes-labels Pour chaque nouveau membre ou départ de membre, requête vers le tree manager

82 82 Algorithme AM Données : Groupe g, seuil tb, MTS (ensemble des arbres du domaine) Résultat : Un arbre pour g

83 83

84 84

85 85

86 86

87 87

88 88


Télécharger ppt "Agrégation d’arbres Multicast Joanna Moulierac Equipe ARMOR : Mikl ó s Moln á r, Bernard Cousin, Raymond Marie, Alexandre Guitton. IRISA, Université de."

Présentations similaires


Annonces Google