Optimisation de la Résiliencehomepages.laas.fr/brun/COURS/PLANIF/dfs.pdf · 2008. 9. 10. · La...
Transcript of Optimisation de la Résiliencehomepages.laas.fr/brun/COURS/PLANIF/dfs.pdf · 2008. 9. 10. · La...
Conception et Planificationde Réseaux
Optimisation de la Résilience
Olivier BRUN et Cedric Fortuny
Optimisation de la r esilience – p.1/49
Plan
Introduction
Algorithme DFS
Algorithme de r esolution
Resultats
Conclusion
Optimisation de la r esilience – p.2/49
Introduction
Optimisation de la r esilience – p.3/49
Notion de résilience
Resilience des r eseauxUne panne ne doit pas engendrer d’interruption du service
Le r eseau doit etre biconnexe
Deux chemins disjoints entre chaque paire de noeuds
Une panne ne doit pas engendrer de d egradation du serviceLe r eseau doit etre dimensionn e pour supporter chaque panne.
Optimisation de la r esilience – p.4/49
Résilience des réseaux
Analyser la r esilience des r eseauxDetecter les pannes qui vont engendrer une perte de connexit e
Identification des composantes biconnexes
Identification des points d’articulation
Optimisation de la r esilience – p.5/49
Algorithme DFS
Optimisation de la r esilience – p.6/49
Depth First Search
Algorithmes de parcours de graphe
Visiter les sommets d’un graphe suivant un certain ordre.Exemple: BFS (Breadth First Search) fait un parcours en larg eur d’abord, puis en
profondeur (distance croissante a la racine).
DFS: parcours en profondeur d’abord
Losrqu’on visite un sommet, on traite r ecursivement tous ses
descendants
Optimisation de la r esilience – p.7/49
Depth First Search
Graphe G = (V,E)
d[v] : epoque de d ecouverte du noeud v,
f [v] : epoque de fin de traitement de v.
La sortie de l’algorithme est une for et, i.e. une collection d’arbres
pred[v]: parent de v dans la for et.
Optimisation de la r esilience – p.8/49
Depth First Search
Proc edure DFS
1: procedure DFS(G)2: for u ∈ V do ⊲ Initialisation
3: color[u]=white;4: pred[u]=NULL;
5: end for6: time=0
7: for u ∈ V do ⊲ Nouvel arbre8: if color[u] == white then
9: DFSVisit(u)10: end if
11: end for12: end procedure
Optimisation de la r esilience – p.9/49
Depth First Search
Proc edure r ecursive DFSVisit
1: procedure DFSVISIT(U)2: color[u]=gray3: time=time+14: d[u]=time5: for v ∈ Adj(u) do ⊲ Visiter les sommets inconnus
6: if color[v] == white then7: pred[v]=u8: DFSVisit(v)
9: end if10: end for
11: color[u]=black12: time=time+113: f[u]=time
14: end procedure Optimisation de la r esilience – p.10/49
Modélisation des Plus Courts Chemins
Exemple de Mod elisation des PCC (vers x=3)
D31 = 7, D3
2 = 8, D33 = 0, D3
4 = 3
δ31,4 = 1, δ3
2,1 = 1, δ32,4 = 1, δ3
3,2 = 0, δ34,2 = 0, δ3
4,3 = 1
n31 = 1, n3
2 = 2, n33 = 0, n3
4 = 1
Optimisation de la r esilience – p.11/49
Modélisation du Trafic
Le r eseau ecoule un ensemble de K flots decommunication.
Chaque flot k = 1, . . . , K est caract eris e par sa source s(k), sa
destination t(k) et sa demande en bande-passante dk.
Chaque flot est un couple origine-destination unique
(K ≤ N, (N − 1))
Aggr egation des trafics ayant m emes origine-destination : m eme
routage,
La prise en compte de DiffServ et du routage par ToS (Type Of Se rvice)
peuvent etre vues comme des extensions de l’algorithme pr esent e
Optimisation de la r esilience – p.12/49
Modélisation du Trafic
Notations
λxi : le trafic direct emis de i vers la destination x
λxi =
∑
k,
s(k) = i, t(k) = x
dk
γxi (w) : le trafic recu au noeud i, direct et en transit, pour la
destination x.
γxi (w) = λx
i +∑
j 6=x
δxj,i(w)
nxj (w)
γxj (w)
La charge du lien (i, j) s’ ecrit alors :
Yi,j(w) =N
∑
x=1
δxi,j(w)
nxi (w)
γxi (w)
Optimisation de la r esilience – p.13/49
Modélisation du problème
Pour un vecteur de m etriques w = (w1, . . . , wM),
Par un algorithme de PCC, on peut calculer les variables δxi,j(w) et
nxi (w) repr esentant les PCC pour la destination x
On en d eduit le trafic γxi (w) au noeud i pour chaque destination x
γxi (w) = λx
i +X
j 6=x
δxj,i(w)
nxj (w)
γxj (w)
On obtient ainsi le trafic Yi,j(w) sur chaque lien (i, j)
Yi,j(w) =N
X
x=1
δxi,j(w)
nxi (w)
γxi (w)
Quel est le cout associ e a cette charge des liens ?
Optimisation de la r esilience – p.14/49
Formulation du Coût d’une Solution
Cout additif
Φ(w) =M∑
l=1
Φl(w)
Φl(w) repr esente la contribution du lien l au cout global
On peut prendre par exemple le d elais moyen de s ejour M/M/1 :
Φi,j(Yi,j) =
8
>
>
<
>
>
:
Yi,j
Ci,j−Yi,jsi Yi,j ≤ Y i,j
Y i,j
Ci,j−Y i,j+ K2
Ci,j
[Ci,j−Y i,j ]2
ˆ
Yi,j − Y i,j
˜
si Yi,j > Y i,j
Y i,j = K1 Ci,j est un seuil de charge ( K1 = 0.9 par exemple)
Le coefficient K2 > 1 est utilis e pour associer un cout aux solutions non
admissibles au sens des capacit es (Yi,j ≥ Ci,j ).
La penalit e appliqu ee dans le cas Yi,j > Y i,j correspond a la deriv ee du nombre
moyen de paquets au seuil de charge Y i,j multipli ee par le coefficient K2.
Optimisation de la r esilience – p.15/49
Coût d’une solution
Allure du cout pr ecedent
K1 = 0.9, K2 = 1 et Ci,j = 1.
Optimisation de la r esilience – p.16/49
Formulation du problème
Le probl eme s’ ecrit :
minw∈ΩM
∑
(i,j)
Φi,j [Yi,j(w)]
avec,
Yi,j(w) =
N∑
x=1
δxi,j(w)
nxi (w)
γxi (w) ∀i, j = 1 . . . N (1)
γxi (w) = λx
i +∑
j 6=x
δxj,i(w)
nxj (w)
γxj (w) ∀i, x = 1 . . . N (2)
Les param etres δxi,j(w) et nx
i (w) etant obtenus directement a partir du
vecteur de m etriques w par r esolution d’un probl eme de PCC.
Optimisation de la r esilience – p.17/49
Algorithme d’Optimisationdes métriques IP
Optimisation de la r esilience – p.18/49
Méthodes de Recherche Locale
Soit le probl eme d’optimisation suivant :
Minimiser : F (x)
sous la contrainte : x ∈ X ⊂ Rn
On suppose que F est une fonction quelconque d efinie de Rn vers R
et X est un sous-ensemble discret de Rn.
On definit V (x) ⊂ X , le voisinage d’une solution admissible x
Partant d’une solution initiale x0, les techniques de recherche locale
vont g enerer une suite de solutions x1, x2, . . . telles que :
∀i,
xi+1 ∈ V (xi)
F (xi+1) < F (xi)
Optimisation de la r esilience – p.19/49
Méthodes de Recherche Locale
Propri etes
Sous des hypoth eses de convexit e et de connexit e par rapport a la
structure de voisinage choisie, la recherche converge avec une
decroissance monotone du cout F (x) vers la solution optimale x∗.
Si le probl eme n’est pas convexe, en fonction de la solution initiale x0,
la methode peut converger vers une solution xn 6= x∗ telle que
F (x) ≥ F (xn), ∀x ∈ V (xn). On peut accepter une solution xn+1
telle que F (x) ≥ F (xn) pour sortir de cet optimum local.
Les diff erentes m ethodes de recherche locale se distinguent par la
technique de g eneration de xi+1 a partir de xi, et par la technique
employ ee pour sortir des optima locaux.
recuit simul e (simulated annealing), recherche tabou (tabu search), et c.
Optimisation de la r esilience – p.20/49
Méthodes de Recherche Locale
Illustration du principe
Optimisation de la r esilience – p.21/49
Algorithme d’Optimisation des Métriques IP
Principe
Algorithme de recherche locale.Le voisinage d’une solution contient M solutions.
La solution associ ee au lien i est obtenue en augmentant la m etrique de ce lien de la
quantit e minimale permettant de d evier du trafic de ce lien.
Les m etriques ne peuvent qu’augmenter.
Calcul du cout de la solution associ ee au lien iDeterminer l’augmentation de m etrique permettant de d evier du trafic du lien i,
Effectuer la modification et re-calculer les PCC,
Re-propager les trafics et calculer le cout.
Points cl es de l’algorithme
Structure de voisinage,
Algorithme de PCC dynamique,
Propagation dynamique.
Optimisation de la r esilience – p.22/49
Structure de Voisinage
Definition de la structure de voisinage
V (w) =
w1, w2, . . . , wM
ou :
wi = (w1, w2, . . . , wi + ∆i, . . . , wM )
avec :
∆i = argmin∆≥1[Yi (w1, . . . , wi + ∆, . . . , wM ) < Yi(w)]
Le voisinage d’une solution w contient exactement M solutions.
La solution associ ee au lien i est obtenue en augmentant la m etrique
de ce lien de la quantit e minimale permettant de r eduire la charge de
ce lien, c’est a dire de d evier du trafic de ce lien.
Incorpore les situations de partage de charge.
Optimisation de la r esilience – p.23/49
Génération du voisinage
Generation du voisin wi
Calcul de la variation minimale de m etrique ∆i du lien i
Notons Fi l’ensemble des flots passant par le lien i. Si Fi = ∅,
∆i = ∞ (pas de d eviation possible). Sinon :
(a) On supprime le lien i : w′ = (w1, . . . , wi−1,∞, wi+1, . . . , wM ).(b) Mise à jour des tables de distances Dv
u(w′) par un algorithme de PCC.(c) On calcule :
dmin = minf∈F
h
Dt(f)s(f)
(w′) − Dt(f)s(f)
(w)i
, qui correspond à la variation minimale de distance entre la source s(f) etla destination t(f) de chaque flot f passant par le lien i.
(d) On définit ∆i de la façon suivante :
∆i =
8
>
>
>
>
<
>
>
>
>
:
1 si dmin = 0
dmin si 0 < dmin < ∞
∞ si dmin = ∞
Optimisation de la r esilience – p.24/49
Génération du voisinage
Generation du voisin wi
L’ensemble de flots Fi est obtenu lors de la propagation.
Les distances Dvu(w′) sont obtenues par un algorithme de PCC
dynamique. On recopie les distances Dvu(w) pour pouvoir revenir
rapidement a la solution courante avant de g enerer wi+1.
Dans la solution wi = (w1, w2, . . . , wi + ∆i, . . . , wM ), il existera au
moins un flot de Fi qui sera d evi e tout ou partie du lien i :
Si dmin = 0, cela signifie qu’il n’y avait pas unicité du plus court cheminpour au moins un des flots de Fi (partage de charge). En posant ∆i = 1,ce flot sera intégralement dévié du lien i,Si 0 < dmin < ∞, la solution wi introduit du partage de charge pour aumoins un des flots de Fi,Si dmin = ∞, il n’existe pas d’autre chemin ne passant pas par le lien i
pour les flots de Fi. On supprime donc ce lien de ceux dont la métriquepeut être modifiée.
Optimisation de la r esilience – p.25/49
Génération du voisinage
Exemple
Toutes les m etriques sont a 1. Ce reseau doit ecouler deux demandes
: l’une de N1 vers N5 et l’autre de N0 vers N5. Les PCC sont
marqu ees en gras.
DN5
N1(w) = 3 et D
N5
N0(w) = 4
On veut d eterminer ∆N3→N4.
Optimisation de la r esilience – p.26/49
Génération du voisinage
Exemple
On supprime le lien N3-N4 ( w′N3→N4 = ∞) :
DN5
N1(w′) = 4 et D
N5
N0(w′) = 5
∆N3→N4 = dmin = min 4 − 3 , 5 − 4 = 1
Optimisation de la r esilience – p.27/49
Algorithme d’optimisation des métriques
InitialisationLecture de la solution initiale w = (w1, . . . , wM )
Calcul des plus courts chemins : Dvu(w), δx
u,v(w), nvu(w)
Propagation des flots sur les plus courts chemins : γvu(w), Yu,v(w)
Calcul du coût Φ(w) de la solution initiale.w∗ = w ⊲ Init. solution de coût minimum
Optimisation de la r esilience – p.28/49
Algorithme d’optimisation des métriques
Les etapes cl es (pour chaque lien i)
Calcul de la variation de m etrique ∆i : calcul de PCC
Calcul des PCC associ es a la solution wi
Calcul du cout : propagation des trafics
Il faut donc optimiser
Le calcul des PCC suite a une augmentation de m etrique,
La propagation des trafics suite a une augmentation de m etrique,
Optimisation de la r esilience – p.29/49
Algorithme de PCC dynamique
Algorithme de Ramalingam & Reps
La modification de la m etrique d’un seul lien n’impacte souvent qu’un
petit nombre de PCC.
Des algorithmes, dits de plus courts chemins dynamiques, pe rmettent
de traiter ce type de probl emes plus efficacement ques les
algorithmes de Dijkstra ou de Bellman-Ford.
On pr esente une am elioration de l’algorithme de Ramalingam et Reps
pour le cas d’une augmentation de m etrique .
Optimisation de la r esilience – p.30/49
Algorithme de Ramalingam & Reps
Contexte
On suppose que le calcul complet de toutes les tables de dista nce a
ete fait.
On se place ici dans le cas ou la m etrique d’un lien (s, t) a augment ee
d’une valeur ∆.
On note w le vecteur de m etriques initial et w′ celui obtenu apres
modification. Au d ebut de l’algorithme, on a pour chaque noeud x et
chaque lien (u,v):
Dvu(w′) = Dv
u(w), δxu,v(w
′) = δxu,v(w), nv
u(w′) = nvu(w)
Optimisation de la r esilience – p.31/49
Algorithme de Ramalingam & Reps
Exemple
On suppose que le lien modifi e est (s, t) = (D, G) et que sa m etrique
passe de 1 a 3 (∆ = 2).
La destination pour laquelle on veut re-calculer les PCC est le noeudF . Sur la figure, on indique :
Pour chaque lien (u, v), sa metrique wuv et son utilisation vers F , δFu,v(w),
Pour chaque noeud u, sa distance a F : DFu (w).
Optimisation de la r esilience – p.32/49
Algorithme de Ramalingam & Reps
1ere etape : propagation amont du changement.
Elle permet de remonter le long des chemins utilis es pour joindre F et
d’identifier les noeuds et les liens impact es par la modification
ws,t → ws,t + ∆.
- A1. On v erifie que ce changement fera evoluer des distances vers F. Pour cela, il faut
que : δFs,t(w) = 1 et nF
s (w) = 1. Sinon, on fait δFs,t(w
′) = 0 et l’algorithme est
termin e.
- A2. On initialise une liste Q avec le nœud source de l’interf ace modifi ee : Q = s.
- A3. Pour chaque nœud v ∈ Q et pour chaque lien (u, v) utilis e, i.e. δFu,v(w) = 1, on
fait DFu (w′) = DF
u (w) + ∆. Si nFu (w) = 1 alors, u est ajout e dans Q et on fixe
δFu,v(w′) = 0 (lien non utilis e).
Optimisation de la r esilience – p.33/49
Algorithme de Ramalingam & Reps
Exemple : illustration de l’ etape 1
Evolution des distances vers F car δFD,G(w) = 1 et nF
D(w) = 1.
Au d epart, Q = D. En remontant les PCC utilis es : Q = D, C, A
Optimisation de la r esilience – p.34/49
Algorithme de Ramalingam & Reps
2nd etape : mise a jour des distances
Si ∆ = 1, vu que nFs (w) = 1 (cf A1), on a δF
s,t(w′) = 1 meme apr es
changement et les distances DFu (w′), u ∈ Q, calcul ees a l’ etape 1
sont exactes.
Sinon, il est possible que le lien (s, t) ne soit plus utilis e, auquel cas
ces distances peuvent avoir ete sur- evalu ees. Si ∆ > 1, il faut les
ajuster.
- B1. On traite le routeur source s. On va regarder s’il existe un chemin au d epart de s tel
que sa distance soit plus petite que DFs (w) + ∆. On calcule :
d = min(s,v)
h
w′s,v + DF
v (w)i
Si d < DFs (w′), on pose ∆1 = d − DF
s (w′). ∆1 repr esente l’erreur sur
l’augmentation de distance qui a ete propag ee a tous les noeuds de Q. On met a
jour la distance de s a F : DFs (w′) = d.
Optimisation de la r esilience – p.35/49
Algorithme de Ramalingam & Reps
2nd etape : mise a jour des distances ( ∆ > 1)
- B2. Pour tout noeud u ∈ Q, on corrige les distances en faisant :
DFu (w′) = DF
u (w′) − ∆1. On calcule alors :
d = min(u,v)
h
w′u,v + DF
v (w)i
Si d < DFu (w′), on corrige la distance de u a F en faisant DF
u (w′) = d, puis on
ins ere u dans une map H a l’associant a la distance d.
- B3. Cette derni ere etape permet de r eajuster les distances fauss ees du fait de l’ordre dans
lequel les routeurs ont ete trait es a l’ etape B2. Si le traitement pr ecedent etait fait dans
l’ordre des distances a la destination, cette sous-partie serait inutile.
Tant que H 6= ∅, on retire u de H ou u = argminu∈H(DFu (w′)).
Pour toutes les interfaces (v, u) entrantes dans u, on compare : d1 = DFv (w′) a
d2 = DFu (w′) + w′
v,u. Si v verifie d1 > d2 alors, on fixe DFv (w′) = d2 et on
ajoute le couple (v, DFv (w′)) dans H .
Optimisation de la r esilience – p.36/49
Algorithme de Ramalingam & Reps
Exemple : illustration de l’ etape 2
On obtient ∆1 = 0 a l’ etape B1.
On ins ere (C, 4) puis (A, 5) a l’ etape B2.
Optimisation de la r esilience – p.37/49
Algorithme de Ramalingam & Reps
3eme etape : calcul des PCC a l’aide des nouvellesdistances.
Elle permet de corriger les flags d’utilisation des liens δFu,v(w′), ainsi
que le nombre de PCC vers F pour chaque noeud u, nFu (w′).
Pour chaque noeud u ∈ Q, on va tester les distances sur les
differents liens sortants. Pour chaque lien (u, v) on compare :
DFu (w′) a DF
v (w′) + w′u,v . Si l’egalit e est verifi ee, on fait:
δFu,v(w′) = 1 et nF
u (w′) = nFu (w′) + 1
Optimisation de la r esilience – p.38/49
Algorithme de Ramalingam & Reps
Exemple : illustration de l’ etape 3
On peut remarquer que nous n’avons modifi e que quelques noeuds :
D, C et A.
L’algorithme de Dijkstra demanderait un cout calculatoir e bien plus
elev e pour obtenir le m eme r esultat.
Optimisation de la r esilience – p.39/49
La propagation des trafics
Introduction
La propagation des trafics permet de calculer la charge des li ens, qui
est necessaire pour pouvoir calculer le cout.
On consid ere ici la propagation vers un noeud x. Il faudra it erer sur
toutes les destinations x pour calculer la charge Yi,j(w) des liens.
La relation de base (conservation des flots) est :
Y xi,j(w) =
λxi +
∑
k 6=x
Y xk,i(w)
nxi
Propagation statique et propagation dynamique :
Le cas statique propage tous les trafics.
Le cas dynamique est utilis e suite a un changement de m etrique. Il ne propage que
des variations de trafic pour les noeuds impact es par la modification de m etrique.
Optimisation de la r esilience – p.40/49
Résultats
Optimisation de la r esilience – p.41/49
Topologie à 5 nœuds et avec une demande
Donn ees :
Une demande : 50 Kbps entre S et D.
Metriques a 1.
Optimisation de la r esilience – p.42/49
Topologie à 5 nœuds et avec une demande
Routage initial
25 kbps sur les interfaces A/D et B/D de capacit e 16 kbps.
Optimisation de la r esilience – p.43/49
Topologie à 5 nœuds et avec une demande
Apr es optimisationLa solution initiale est un minimum local.
Optimisation de la r esilience – p.44/49
Topologie à 7 nœuds et 2 demandes
Donn ees :
2 demandes : S vers D1 de 20 Kbps et S vers D2 de 10 Kbps.
Metriques a 1.
Optimisation de la r esilience – p.45/49
Topologie à 7 nœuds et 2 demandes
Routage initialSaturation de l’interface S/N6.
Optimisation de la r esilience – p.46/49
Topologie à 7 nœuds et 2 demandes
Apr es optimisation
Modifications :Changement 1 :+ 1 sur l’interface S/N6Changement 2 :+ 1 sur l’interface S/N6
Optimisation de la r esilience – p.47/49
Conclusion
Optimisation de la r esilience – p.48/49
Conclusion
Optimisation des m etriques de routage IP
Probl eme :Augmentation du trafic et besoins de QoS
Contexte concurrentiel interdisant un sur-dimensionneme nt excessif
Jouer sur les m etriques IP pour adapter les routes aux trafics transport es par le
reseau.
Heuristique pr esent ee :Technique de recherche locale
Originalit e : structure de voisinage.
Utilisation d’un algo de PCC dynamique et propagation dynam ique des trafics.
Optimisation de la r esilience – p.49/49