You are on page 1of 70

Algorithmique du Network Calculus

Eric Thierry
LIAFA, Univ. Paris 7 & IXXI, LIP, ENS Lyon

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Plan

Prsentation du Network Calculus e


Les mod`les tudis. e e e Les techniques danalyse. Comparaisons avec dautres mod`les/analyses. e

Trois exemples de probl`mes algorithmiques. e


Calcul doprations (min, +) lmentaires. e ee Un probl`me de routage optimal. e Questions de stabilit. e

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Plan

Prsentation du Network Calculus e


Les mod`les tudis. e e e Les techniques danalyse. Comparaisons avec dautres mod`les/analyses. e

Trois exemples de probl`mes algorithmiques. e


Calcul doprations (min, +) lmentaires. e ee Un probl`me de routage optimal. e Questions de stabilit. e

Pas de Network Calculus Stochastique aujourdhui.

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Prsentation du Network Calculus e

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

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Les courbes de trac


A(t)

B(t)

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Les courbes de trac


A(t)

B(t)

Courbes cumulatives (fonctions croissantes)

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Lespace des courbes


data

N ou R

continu ou pas

temps N ou R D = fonctions de N dans R {, +}. F = fonctions de R+ dans R {, +}.


Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e

Lespace des courbes


data

temps N D = fonctions de N dans R {, +}. F = fonctions de R+ dans R {, +}.


Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e

Lespace des courbes


data

temps R D = fonctions de N dans R {, +}. F = fonctions de R+ dans R {, +}.


Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e

Lespace des courbes


data

temps R D = fonctions de N dans R {, +}. F = fonctions de R+ dans R {, +}.


Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e

Les contraintes : courbes darrive e


Courbe darrive : soit A une courbe de trac dans le rseau, A est e e contrainte par la courbe darrive (ou -rgule) si e e e 0 s t, A(t) A(s) (t s) Exemple : (t) = + t, , 0. .

(t)

A(t)

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Les contraintes : courbes darrive e


Courbe darrive : soit A une courbe de trac dans le rseau, A est e e contrainte par la courbe darrive (ou -rgule) si e e e 0 s t, A(t) A(s) (t s) E . xemple : (t) = + t, , 0.

(t)

A(t)

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Les contraintes : courbes darrive e


Courbe darrive : soit A une courbe de trac dans le rseau, A est e e contrainte par la courbe darrive (ou -rgule) si e e e 0 s t, A(t) A(s) (t s) E . xemple : (t) = + t, , 0.

(t)

A(t)

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Les contraintes : courbes darrive e


Courbe darrive : soit A une courbe de trac dans le rseau, A est e e contrainte par la courbe darrive (ou -rgule) si e e e 0 s t, A(t) A(s) (t s) E . xemple : (t) = + t, , 0.

(t)

A(t)

Autre criture : A A , o` (f g )(t) = inf 0st (f (s) + g (t s)). e u


Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e

Les contraintes : exemples


Est-ce que toute courbe de trac A(t) admet une courbe darrive ? OUI (t) = sups0 A(t + s) A(s), quantit max de e e donnes pouvant arriver dans un intervalle de dure t. e e Sceau perc (leaky bucket) : e
Seau de taille do` liquide scoule ` un dbit . u e a e Contrleur laisse passer les donnes en remplissant le seau dautant o e de liquide.Sa contrainte : le seau ne doit pas dborder. e Consquence : trac en sortie rgul par (t) = + t. e e e

A(t)

B(t)

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Les contraintes : courbes de service


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

Les contraintes : exemples de serveurs


A(t)

r B(t)

A(t) B(t)

A(t) B(t)

r T + T +

r T

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

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 ?

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Des bornes ` partir des contraintes a



A(t) (A )(t) v(, ) B(t) (A )(t) h(, )

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

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Propagation des contraintes

Thor`me e e Un ux contraint par qui traverse un syst`me de service minimum e ressort contraint par .

Dnition : (f e

g )(t) = sups0 (f (t + s) g (s)).

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Propagation des contraintes


Thor`me e e Un ux contraint par qui traverse un syst`me de service minimum e ressort contraint par .

Dnition : (f e

g )(t) = sups0 (f (t + s) g (s)).

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Propagation des contraintes


Thor`me e e Un ux contraint par qui traverse un syst`me de service minimum e ressort contraint par .

Dnition : (f e

g )(t) = sups0 (f (t + s) g (s)).

15

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Propagation des contraintes


Thor`me e e Un ux contraint par qui traverse un syst`me de service minimum e ressort contraint par .

Dnition : (f e

g )(t) = sups0 (f (t + s) g (s)).


r=3

r=3

R=7

rT = 15

T =5

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Les formules : dautres r`gles de combinaison e


Thor`me (Tandem) e e La concatnation de deux serveurs de services minimum resp. 1 et 2 e ore un service minimum 1 2 au ux.
1 2

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

Notation : x+ = max(x, 0).


Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e

Les formules : un exemple

2 1 BLIND 2 BLIND

3 BLIND

4 BLIND

Dlai max ux 2 ? e

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Les formules : un exemple

2 1 BLIND

(1 3 )+ 2 BLIND

(1 2 )+

3 BLIND

4 BLIND

Dlai max ux 2 ? e

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Les formules : un exemple

2 1 BLIND

(1 3 )+ 2 BLIND

(1 2 )+

3 BLIND

4 BLIND

Dlai max ux 2 ? e

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Les formules : un exemple

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

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Les formules : un exemple


3

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

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Les formules : seule technique ?

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

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Comparatif : chelle doptimisme 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.

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Comparatif : problmatiques proches e

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Network Calculus vs. Max PLUS


Proche de la thorie des syst`mes (min, +) linaires (Exemples : e e e certains rseaux de Petri temporiss). e e

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

Network Calculus vs. Adversarial Queuing Theory


Mod`les varis : e e Rseau : e
Topologie (graphe). Serveurs ` dbit constant, dlais sur les liens/aux serveurs. a e 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

Trois probl`mes algorithmiques e

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Les oprations lmentaires e ee


Dnition e Soient f , g de X dans R {, +} o` X = N ou R+ , u min(f , g )(t) = min(f (t), g (t)). max(f , g )(t) = max(f (t), g (t)). (f + g )(t) = f (t) + g (t). (f g )(t) = f (t) g (t). (f g )(t) = inf 0st (f (s) + g (t s)) (Convolution). (f g )(t) = sups0 (f (t + s) g (s)) (Dconvolution). e f (t) = inf(f (0) , f (1) , f (2) , f (3) , . . .) (Clture sous-additive) o o` f (0) (t) = 0 si t = 0 and = + si t > 0, u et f (k) = f f pour k 1.
k fois

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Clture sous-additive : exemples o


A -rgule -rgule -rgule ( ). e e e e e e Contrle dadmission tel que charge dans rseau toujours W o e une courbe de service minimum de lensemble [contrleur + o rseau] est ( + W ) . e

A(t)

X(t)

B(t)

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Quelques classes de fonctions


Soit f une fonction de X dans R {, +} o` X = N ou R+ , alors, u en notant X = X \ {0}: f est ane si , R, t X , f (t) = t + ou t X , f (t) = + (resp. ). f est ultimement ane si T X , , R, t > T , f (t) = t + ou t > T , f (t) = + (resp. ). f est pseudo-periodique si (c, d) R X , t X , f (t + d) = f (t) + c. f est ultimement pseudo-periodique si T X , (c, d) R X , t > T , f (t + d) = f (t) + c. f est ultimement franche if T X , t > T , f (t) R, ou t > T , f (t) = +, ou t > T , f (t) = . f est franche si elle est ultimement franche, et 0 t < T , f (t) R, et f (T ) R ou ventuellement f (T ) = + (resp. ) e si t > T , f (t) = + (resp. ).
Algorithmique du Network Calculus 9`me Atelier Evaluation de Performances e

Illustrations des classes


c T c T d


+ +

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

Navigation entre les direntes classes e


F franch. F [R+ , R] sub. clos. +, min, max , franch.ult.ane F [R+ , R] min, max , +, franch.ult.ane F [Q+ , R] +, min, max, sub. clos. +, , min, max sub. clos.

mod`le uide e

franch.ult.ps.-period. F [R+ , R] sub. clos. min, max , sub. clos. +,

franch.ult.ps.-period. F [Q+ , R]

+, min, max , mod`le discret e

franch.ult.ane sub. clos. franch.ult.ps.-period. F [Q+ , Q] F [Q+ , Q]

+, min, max , sub. clos.

+, min, max ,

franch.ult.ane sub. clos. franch.ult.ps.-period. NR NR

+, min, max , sub. clos.

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

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

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Algorithme de convolution : cas particulier

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 ).

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Algorithme de convolution : cas gnral e e


Distributivit : min(f1 , f2 , . . . , fn ) min(g1 , g2 , . . . , gm ) = mini,j (fi gj ). e

f y a b c d g x+y a+c b+c b+d a+d f g

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Algorithme de convolution

g3 f3 f1 f2 g1 g2 =

f g

Nbre de morceaux de cette enveloppe : (N)


1

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

Algorithme de clture sous-additive o

0 1 2 3 4 5 6 7 8 9 10 11

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Algorithme de clture sous-additive o

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 ).

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Algorithme de clture sous-additive o

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 ).

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Algorithme de clture sous-additive o

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 .

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Algorithme de clture sous-additive o


Entre : f D, t T , f (t + d) = f (t) + c. e Calcul de f : f (t) = inf k0 f (k) (t) = inf t1 +t2 ++tk =t (f (t1 ) + f (t2 ) + + f (tk )).
f (1) 1 0 2 f (2) 0 0 f (T ) T 0 c 0 f (T + d 1) T +d1

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

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

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Routage : forme de la function ` optimiser a

Optimisation de la borne sur les dlais : e h(, v1 v ) sup{(v1 v )1 (z) 1 (z)}

OPT

= =

inf
chemin (x, v1 , . . . , v , y )

inf

chemin z0 (x, v1 , . . . , v , y )

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Routage : cas particuliers

+ v (t) =

min

Tv

Tv 1

Tv

v (t) = Rv min(Rv1 , , Rv )
max min

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Routage : forme de la function ` optimiser a


Optimisation de la borne sur les dlais : e OPT = inf
chemin (x, v1 , . . . , v , y )

h(, v1 v )

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Routage : forme de la function ` optimiser a


Optimisation de la borne sur les dlais : e OPT = = inf
chemin (x, v1 , . . . , v , y )

h(, v1 v ) sup (v1 v )1 (z) 1 (z)

inf

chemin z0 (x, v1 , . . . , v , y )

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Routage : forme de la function ` optimiser a


Optimisation de la borne sur les dlais : e OPT = = = inf
chemin (x, v1 , . . . , v , y )

h(, v1 v ) sup (v1 v )1 (z) 1 (z) sup (v1 v )1 (z) 1 (z)

inf inf

chemin z0 (x, v1 , . . . , v , y )

chemin zC (x, v1 , . . . , v , y )

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Routage : forme de la function ` optimiser a


Optimisation de la borne sur les dlais : e OPT = = = = sup inf
chemin (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)

inf inf inf

chemin z0 (x, v1 , . . . , v , y )

chemin zC (x, v1 , . . . , v , y ) chemin zC (x, v1 , . . . , v , y )

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Routage : forme de la function ` optimiser a


Optimisation de la borne sur les dlais : e OPT = = = = sup = sup inf
chemin (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)

inf inf inf inf

chemin z0 (x, v1 , . . . , v , y )

chemin zC (x, v1 , . . . , v , y ) chemin zC (x, v1 , . . . , v , y ) chemin zC (x, v1 , . . . , v , y )

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Routage : forme de la function ` optimiser a


Optimisation de la borne sur les dlais : e OPT = = = = sup = sup En fait, inf
chemin (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

inf inf inf inf

chemin z0 (x, v1 , . . . , v , y )

chemin zC (x, v1 , . . . , v , y ) chemin zC (x, v1 , . . . , v , y ) chemin zC (x, v1 , . . . , v , y )

= sup
zC

inf
chemin (x, v1 , . . . , v , y )

Algorithmique du Network Calculus

Routage : un thor`me min-max e e


S bande de pente vsize(S) v (, ) width(S) h, ) hsize(S) I(, )

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

inf{hsize(S) | I (, ) S, S bande de pente } = proj ()+


i=1

(proj (vi ))+

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Routage : rsolution e

OPT

= =

inf inf

chemin z0 (x, v1 , . . . , v , y )

sup (v1 v )1 (z) 1 (z) inf {hsize(S) | I (, ) S bande de pente }

C chemin (x, v1 , . . . , v , y )

inf

inf
chemin (x, v1 , . . . , v , y )

proj () +
i=1

(proj (vi ))+

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

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Stabilit : congurations sans circuit e

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

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances 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

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Stabilit : instabilit de FIFO e e


Thor`me (Andrews,2000) e e Il existe un mod`le (rseau+trac) instable de facteur dutilisation e e = 1 3 109 .
Lgende : Flux Source Noeud FIFO Sortie

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

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances 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].

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

Conclusion

Automatisation de lanalyse. Prcision des bornes. e Introduction de nouveaux oprateurs/algorithmes, au del` des e a oprations (min, +) lmentaires. e ee

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

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).

Max Plus Theory


MaxPlus Algebra Home Page (www-rocq.inria.fr/MaxplusOrg/).

Adversarial Queuing Theory


Bibliographie de Matthew Andrews, Bell Labs.

Algorithmique du Network Calculus

9`me Atelier Evaluation de Performances e

You might also like