Professional Documents
Culture Documents
Eric Thierry
LIAFA, Univ. Paris 7 & IXXI, LIP, ENS Lyon
Plan
Plan
Objectif gnral : analyse pire cas (dterministe) dans les rseaux e e e e de communication. Mod`les analyss : rseaux avec serveurs & ux de donnes + e e e e jeu de contraintes tr`s spciques. e e Analyse systmatique : calculs ` laide notamment doprations e a e (min, +). Applications projetes : e
Grands rseaux de communication (Internet/IntServ/DiServ). e Rseaux embarqus (AFDX). e e
A(t)
B(t)
A(t)
B(t)
N ou R
continu ou pas
(t)
A(t)
(t)
A(t)
(t)
A(t)
(t)
A(t)
A(t)
B(t)
Le syst`me garantit une courbe de service minimum si: e t 0, B(t) (A )(t) = inf (A(s) + (t s)).
0st
Le syst`me garantit une courbe de service strict si, pendant e toute priode [s, t] charge (s < u < t, B(u) A(u) > 0), e e B(t) B(s) (t s). service strict service minimum. Remarque : il existe aussi une dnition de service maximum. e
Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e
A(t)
r B(t)
A(t) B(t)
A(t) B(t)
r T + T +
r T
Mod`les analyss e e
3 2 4
Exemples de questions : Quel est le dlai maximum de bout en bout dun paquet du ux 2 ? e Quel est la taille maximum du buer au niveau du serveur 5 ?
Charge maximum v (, ) = sup{(t) (t) | t 0} Dlai maximum h(, ) = sup{ 1 (z) 1 (z) | z 0} e
(sous rserve que ux servi en FIFO et f 1 (z) = inf{t 0 | f (t) z}) e
A(t) B(t) def
Thor`me e e Un ux contraint par qui traverse un syst`me de service minimum e ressort contraint par .
Dnition : (f e
Dnition : (f e
Dnition : (f e
15
Dnition : (f e
r=3
r=3
R=7
rT = 15
T =5
Thor`me (Service rsiduel) e e e Si deux ux de courbes darrive 1 , 2 traversent un serveur de service e strict , alors une courbe de service pour le ux 1 est 1 = ( 2 )+ .
2 1
2 1 BLIND 2 BLIND
3 BLIND
4 BLIND
Dlai max ux 2 ? e
2 1 BLIND
(1 3 )+ 2 BLIND
(1 2 )+
3 BLIND
4 BLIND
Dlai max ux 2 ? e
2 1 BLIND
(1 3 )+ 2 BLIND
(1 2 )+
3 BLIND
4 BLIND
Dlai max ux 2 ? e
2 1 BLIND (3 3
(1 3 )+ 2
(1 2 )+ )
(4 1
3 ) +
BLIND
(1 2 )+
3 BLIND
4 BLIND
(1
3 )
(4 3
(1 2 )+ )+
Dlai max ux 2 ? e
2 1 BLIND (3 3
(1 3 )+ 2
(1 2 )+ )
(4 1
3 ) +
BLIND
(1 2 )+
3 BLIND
4 BLIND
(1
3 )
(4 3
(1 2 )+ )+
Dlai max ux 2 ? e
h(2 , (1 3 )+ (2 (3 3 ) (4 3 (1 2 )+ ))) (1 2 )+ ) (4 1 3 )+ (1
Intrt : ee Formule algorithme. Possibilit de calcul formel. e Informations qualitatives et pas uniquement quantitatives. Limites ? BLIND : scnarios simples dont bornes prcises apparemment pas e e exprimables par formules simples [Schmitt et al, 2008]. FIFO : dicults davoir des bornes prcises autres outils & e e oprateurs [Lenzini et al, 2008] & [Le Boudec, Rizzo, 2008]. e
Thorie des les dattentes, avec hypoth`ses markoviennes : e e + optimiste que Network Calculus. Thorie On-line, avec un adversaire tout permis : e - optimiste que Network Calculus.
Commentaire : Mme oprations lmentaires comme ou e e ee . Des syst`mes avec souvent B = A plutt que B A, et e o parfois (max, +) au lieu de (min, +). Travail plutt directement sur les courbes de trac que sur les o contraintes (courbes darrive et de service). e Moins la problmatique de ux pouvant saggrger ` des nuds. e e a
Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e
Trac :
Sessions (ux) sur chemins xes ou pas. Injection des donnes par un adversaire avec contraintes. e
Politiques de service : FIFO/LIFO/NTG/LTG/NTS/LTS/SIS/LIS Question : stabilit ? (quantit de donne dans le rseau est borne ?) e e e e e PSM (Permanent Session Model) : sessions sur chemins xes & nbre de donnes injectes dans ux i pendant [s, s + t[ est i + i t. e e AQM (Adversarial Queuing Model) : sessions sur chemins xes & injection vriant que pour tout arc e et priode [s, s + t[, le nbre de e e donnes devant passer par e est w + rt. e Commentaire : lien clair entre mod`les PSM et Network Calculus. e Rsultats PSM : souvent recherche de contre-exemples. e
Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e
A(t)
X(t)
B(t)
+ +
Notation : F[X , Y ] = fonctions de R+ dans R {, +} anes par morceaux avec des sauts ou changements de pentes ` des points a dabscisses dans X et dordonnes dans Y . e
Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e
mod`le uide e
franch.ult.ps.-period. F [Q+ , R]
+, min, max ,
Thor`mes de clture e e o
Deux classes stables pour min, max, +, , , , . et couvrant les exemples rencontrs en Network Calculus : e Dans F, les fonctions anes par morceaux franches et ultimement pseudo-priodiques. e Dans D, les fonctions franches et ultimement pseudo-priodiques. e On peut dicilement faire plus petit pour rester stable : Thor`me e e Dans F, la clotre des fonctions anes pour les oprations u e est la classe des fonctions anes par morceaux min, max, +, , , , . continues (sauf ventuellement en 0) ultimement pseudo-priodiques. e e Question : quels algorithmes pour implmenter les oprations e e lmentaires sur ces classes de fonctions ? ee
Thor`me (Le Boudec, Thiran, 2001) e e Convolution de f et g convexes et ane par morceaux = concatnation e des dirents morceaux de f et g tris par pentes croissantes. e e Complexity: O(|f | + |g |) o` |f | (resp. |g |) est le nombre de u morceaux de f (resp. g ).
Algorithme de convolution
g3 f3 f1 f2 g1 g2 =
f g
min(N morceaux, M morceaux) 2(N + M) morceaux, donc (N) 2( (N/2) + (N/2)) = 4 (N/2) (N) N 2 . (N) 3 (N) 3N(N), o` 3 (N)= plus grand mot sur N lettres sans sous-squence du u e type abab [Davenport, Schinzel, 1960].
Algorithmes [Herschberger, 1989] & [Nielsen, Yvinec, 1998] complexit O(N log N). e
Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e
0 1 2 3 4 5 6 7 8 9 10 11
0 1 2 3 4 5 6 7 8 9 10 11
0 1 2 3 4 5 6 7 8 9 10 11
(f f )(t) = inf 0st f (s) + f (t s) = inf t1 +t2 =t f (t1 ) + f (t2 ). (f f f )(t) = inf t1 +t2 +t3 =t f (t1 ) + f (t2 ) + f (t3 ).
0 1 2 3 4 5 6 7 8 9 10 11
(f f )(t) = inf 0st f (s) + f (t s) = inf t1 +t2 =t f (t1 ) + f (t2 ). (f f f )(t) = inf t1 +t2 +t3 =t f (t1 ) + f (t2 ) + f (t3 ). ... k, f (k) = f .
t Puissance de matrice : f (t) = M0,0 o` M matrice du graphe valu u e et produit de matrice dans (min, +) ((PQ)i,j = mink (Pi,k + Qk,j )).
Thor`me (Cohen,Dubois,Quadrat,Viot, 1985) e e Pour M irrductible, il existe d , T N et R tels que t T , e t+d = M t + d . M t T , f (t + d ) = f (t) + c avec c = d . Un algorithme : calculer incrmentalement les M t (tr`s coteux). e e u
Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e
Un probl`me de routage e
Probl`me : tant donn un rseau (sans trac) et un ux de source et e e e e destination connues, calculer une route qui donne la meilleur garantie sur le dlai maximum (resp. sur la charge maximum). e
Entres: e le rseau sous forme dun graphe G = (V , A), e un service minimum v ` chaque nud v , a source x, destination y et courbe darrive pour le ux ` router. e a courbes anes par morceaux, arrive concave, services v convexe. e
Un probl`me de routage e
Probl`me : tant donn un rseau (sans trac) et un ux de source et e e e e destination connues, calculer une route qui donne la meilleur garantie sur le dlai maximum (resp. sur la charge maximum). e
Entres: e le rseau sous forme dun graphe G = (V , A), e un service minimum v ` chaque nud v , a source x, destination y et courbe darrive pour le ux ` router. e a courbes anes par morceaux, arrive concave, services v convexe. e
OPT
= =
inf
chemin (x, v1 , . . . , v , y )
inf
chemin z0 (x, v1 , . . . , v , y )
+ v (t) =
min
Tv
Tv 1
Tv
v (t) = Rv min(Rv1 , , Rv )
max min
h(, v1 v )
inf
chemin z0 (x, v1 , . . . , v , y )
inf inf
chemin z0 (x, v1 , . . . , v , y )
chemin zC (x, v1 , . . . , v , y )
h(, v1 v ) sup (v1 v )1 (z) 1 (z) sup (v1 v )1 (z) 1 (z) (v1 v )1 (z) 1 (z)
chemin z0 (x, v1 , . . . , v , y )
h(, v1 v ) sup (v1 v )1 (z) 1 (z) sup (v1 v )1 (z) 1 (z) (v1 v )1 (z) 1 (z) (v1 v )1 (z) 1 (z)
chemin z0 (x, v1 , . . . , v , y )
h(, v1 v ) sup (v1 v )1 (z) 1 (z) sup (v1 v )1 (z) 1 (z) (v1 v )1 (z) 1 (z) (v1 v )1 (z) 1 (z) (v1 v )1 (z) 1 (z)
9`me Atelier Evaluation de Performances e
chemin z0 (x, v1 , . . . , v , y )
= sup
zC
inf
chemin (x, v1 , . . . , v , y )
Thor`me e e Si concave et convexe, alors sup{ 1 (z)1 (z)} = inf {hsize(S) | I(, ) S bande de pente }.
z0 C
Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e
Routage : rsolution e
a2
2 1 1 a1 b2 b1 2
b3
Routage : rsolution e
OPT
= =
inf inf
chemin z0 (x, v1 , . . . , v , y )
C chemin (x, v1 , . . . , v , y )
inf
inf
chemin (x, v1 , . . . , v , y )
proj () +
i=1
Algorithme :
1
Pour toute pente du mod`le, remplacer v par (proj (v ))+ et e calculer plus court chemin classique dans le graphe. Minimum des valeurs calcules pour ces pentes . e
Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e
Le probl`me de stabilit e e
3 2
Mod`le : arrives i (t) = i + i t, services stricts v = Ri (t Ti )+ , e e liens avec dlais exacts et capacits, FIFO. e e Stabilit : quantit de donnes dans rseau = borne ? e e e e e Crit`re important : facteur dutilisation e = max
i passant par v
serveur v
Rv
Une condition ncessaire de stabilit : 1. e e Thor`me e e Si les ux ne forment pas de circuit, alors le mod`le est stable si < 1. e
Stabilit : lanneau e
Thor`me (Tassiulas,Georgiadis,1996) e e Si le rseau a une structure danneau (dirig dans un sens), alors le e e mod`le est stable si < 1. e
1 2 3 3 7 1 4 5 4 6 8
Thor`me (Andrews,2007) e e Pour tout r > 0, il existe un mod`le (rseau+trac) instable de facteur e e dutilisation < r .
Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e
Stabilit : ` ce jour e a
Rsultat rcent :[Le Boudec,Rizzo,2008] e e Algorithme calculant une borne sur garantissant la stabilit. e Possibilits de calculs de bornes sur les dlais. e e Introduction dun oprateur dcrivant la dynamique du mod`le, e e e born ensuite par un autre oprateur linaire dans (+, ). e e e Question ouverte : pour ce genre de mod`le de rseau & trac, e e stabilit = dcidable ? e e
Logiciels
DISCO Network Calculator (Java) [Schmitt et al, 2006]. RTC - Real Time Calculus Toolbox (Java/Matlab) [Thiele et al, 2006]. CyNC - Cyclic Network Calculus (Matlab/Simulink) [Schioler et al, 2005]. Sries formelles (C++/Scilab) [Gaubert, Hardouin et al, 2007] e COINC - COmputational Issues in Network Calculus (C++/Scilab) [Gaujal et al, 2007].
Conclusion
Automatisation de lanalyse. Prcision des bornes. e Introduction de nouveaux oprateurs/algorithmes, au del` des e a oprations (min, +) lmentaires. e ee
Petite bibliographie
Network Calculus
J.-Y. Le Boudec & P. Thiran, Network Calculus: A Theory of Deterministic Queuing Systems for the Internet, LNCS 2050, Springer (2001). C.-S. Chang, Performance Guarantees in Communication Networks, TNCS, Springer (2000).