Vous êtes sur la page 1sur 70

Algorithmique du Network Calculus

Eric Thierry

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

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Plan

1 Presentation du Network Calculus


Les modeles etudies.
Les techniques danalyse.
Comparaisons avec dautres modeles/analyses.
2 Trois exemples de problemes algorithmiques.
Calcul doperations (min, +) elementaires.
Un probleme de routage optimal.
Questions de stabilite.

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Plan

1 Presentation du Network Calculus


Les modeles etudies.
Les techniques danalyse.
Comparaisons avec dautres modeles/analyses.
2 Trois exemples de problemes algorithmiques.
Calcul doperations (min, +) elementaires.
Un probleme de routage optimal.
Questions de stabilite.
Pas de Network Calculus Stochastique aujourdhui.

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Presentation du Network Calculus

Objectif general : analyse pire cas (deterministe) dans les reseaux


de communication.
Modeles analyses : reseaux avec serveurs & flux de donnees +
jeu de contraintes tres specifiques.
Analyse systematique : calculs a laide notamment doperations
(min, +).
Applications projetees :
Grands reseaux de communication (Internet/IntServ/DiffServ).
Reseaux embarques (AFDX).

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Les courbes de traffic

data data

t t

Systme

A(t) B(t)

nbre de bits entrant nbre de bits sortant

l'instant t l'instant t

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Les courbes de traffic

data data

t t

Systme

A(t) B(t)

nbre de bits entrs nbre de bits sortis

jusqu' l'instant t jusqu' l'instant t

Courbes cumulatives (fonctions croissantes)

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


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


Lespace des courbes

data

temps
N

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


F = fonctions de R+ dans R {, +}.

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Lespace des courbes

data

temps
R

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


F = fonctions de R+ dans R {, +}.

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Lespace des courbes

data

temps
R

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


F = fonctions de R+ dans R {, +}.

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Les contraintes : courbes darrivee
Courbe darrivee : soit A une courbe de traffic dans le reseau, A est
contrainte par la courbe darrivee (ou -regulee) si

0 s t, A(t) A(s) (t s)

. xemple : (t) = + t, , 0.
E
data

(t)
A(t)

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Les contraintes : courbes darrivee
Courbe darrivee : soit A une courbe de traffic dans le reseau, A est
contrainte par la courbe darrivee (ou -regulee) si

0 s t, A(t) A(s) (t s)

.Exemple : (t) = + t, , 0.
data

(t)
A(t)

t
s

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Les contraintes : courbes darrivee
Courbe darrivee : soit A une courbe de traffic dans le reseau, A est
contrainte par la courbe darrivee (ou -regulee) si

0 s t, A(t) A(s) (t s)

.Exemple : (t) = + t, , 0.
data

(t)
A(t)

t
s

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Les contraintes : courbes darrivee
Courbe darrivee : soit A une courbe de traffic dans le reseau, A est
contrainte par la courbe darrivee (ou -regulee) si

0 s t, A(t) A(s) (t s)

.Exemple : (t) = + t, , 0.
data

(t)
A(t)

t
s

Autre ecriture : A A , ou (f g )(t) = inf 0st (f (s) + g (t s)).


Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances
Les contraintes : exemples
Est-ce que toute courbe de traffic A(t) admet une courbe
darrivee ? OUI (t) = sups0 A(t + s) A(s), quantite max de
donnees pouvant arriver dans un intervalle de duree t.
Sceau perce (leaky bucket) :
Seau de taille dou liquide secoule a un debit .
Controleur laisse passer les donnees en remplissant le seau dautant
de liquide.Sa contrainte : le seau ne doit pas deborder.
Consequence : traffic en sortie regule par (t) = + t.
. .

A(t) B(t)
Controleur


. .

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Les contraintes : courbes de service

A(t) B(t)

Le systeme garantit une courbe de service minimum si:

t 0, B(t) (A )(t) = inf (A(s) + (t s)).


0st

Le systeme garantit une courbe de service strict si, pendant


toute periode [s, t] chargee (s < u < t, B(u) A(u) > 0),

B(t) B(s) (t s).

service strict service minimum.


Remarque : il existe aussi une definition de service maximum.

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Les contraintes : exemples de serveurs

. .

Dbit r Attente T Priode harge T

A(t) r A(t) A(t)

B(t) B(t) B(t)


r

T T

+ +

T T
simple =stri t simple stri t
. .

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Modeles analyses

3
4
FIFO BLIND
2

1 2 FIFO

BLIND FIFO 5
1

3 4

Exemples de questions :
Quel est le delai maximum de bout en bout dun paquet du flux 2 ?
Quel est la taille maximum du buffer au niveau du serveur 5 ?

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Des bornes a partir des contraintes
bits bits

h(, )
A(t) (A )(t)

v(, )

B(t) (A )(t)

t t
Courbes de tra Contraintes

Charge maximum v (, ) = sup{(t) (t) | t 0}


Delai maximum h(, ) = sup{ 1 (z) 1 (z) | z 0}
def
(sous reserve que flux servi en FIFO et f 1 (z) = inf{t 0 | f (t) z})

A(t) B(t)

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Propagation des contraintes

Theoreme
Un flux contraint par qui traverse un systeme de service minimum
ressort contraint par .

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

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Propagation des contraintes
Theoreme
Un flux contraint par qui traverse un systeme de service minimum
ressort contraint par .

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

. .

Arrive dbit 3 bits/se .


Attente 5 se ., puis

servi dbit 7 bits/se .

Serveur

. .

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Propagation des contraintes
Theoreme
Un flux contraint par qui traverse un systeme de service minimum
ressort contraint par .

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

. .

Arrive dbit 3 bits/se . Rafales 15 bits


Attente 5 se ., puis

servi dbit 7 bits/se .


Dbit long terme 3 bits/se .

Serveur

. .

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Propagation des contraintes
Theoreme
Un flux contraint par qui traverse un systeme de service minimum
ressort contraint par .

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


. .

bits bits bits

r=3

r=3 R=7 rT = 15

se se se
T =5

. .

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Les formules : dautres regles de combinaison

Theoreme (Tandem)
La concatenation de deux serveurs de services minimum resp. 1 et 2
offre un service minimum 1 2 au flux.

1 2

Theoreme (Service residuel)


Si deux flux de courbes darrivee 1 , 2 traversent un serveur de service
strict , alors une courbe de service pour le flux 1 est 1 = ( 2 )+ .

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


Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances
Les formules : un exemple

2
1 2
BLIND BLIND

1 3 4
BLIND BLIND

Delai max flux 2 ?

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Les formules : un exemple

2 2 (1 3 )+
1 2
BLIND BLIND

3 (1 2 )+

1 3 4
BLIND BLIND

Delai max flux 2 ?

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Les formules : un exemple

2 2 (1 3 )+
1 2
BLIND BLIND

3 (1 2 )+

1 3 4
1 3
BLIND BLIND

Delai max flux 2 ?

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Les formules : un exemple

2 2 (1 3 )+
1 2
BLIND BLIND
(3 (1 2 )+ ) (4 1 3 )+

3 (1 2 )+

1 3 4 (1 3 ) (4 3 (1 2 )+ )+
1 3
BLIND BLIND

Delai max flux 2 ?

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Les formules : un exemple

2 2 (1 3 )+
1 2
BLIND BLIND
(3 (1 2 )+ ) (4 1 3 )+

3 (1 2 )+

1 3 4 (1 3 ) (4 3 (1 2 )+ )+
1 3
BLIND BLIND

Delai max flux 2 ?


h(2 , (1 3 )+ (2 (3 (1 2 )+ ) (4 1 3 )+ (1
3 ) (4 3 (1 2 )+ )))

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Les formules : seule technique ?

Interet :
Formule algorithme.
Possibilite de calcul formel.
Informations qualitatives et pas uniquement quantitatives.
Limites ?
BLIND : scenarios simples dont bornes precises apparemment pas
exprimables par formules simples [Schmitt et al, 2008].
FIFO : difficultes davoir des bornes precises autres outils &
operateurs [Lenzini et al, 2008] & [Le Boudec, Rizzo, 2008].

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Comparatif : echelle doptimisme

Theorie des files dattentes, avec hypotheses markoviennes :


+ optimiste que Network Calculus.
Theorie On-line, avec un adversaire tout permis :
- optimiste que Network Calculus.

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Comparatif : problematiques proches

Network Cal ulus

Mr Max PLUS Adversarial Queuing

. .

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Network Calculus vs. Max PLUS
Proche de la theorie des systemes (min, +) lineaires (Exemples :
certains reseaux de Petri temporises).

Commentaire :
Meme operations elementaires comme ou .
Des systemes avec souvent B = A plutot que B A, et
parfois (max, +) au lieu de (min, +).
Travail plutot directement sur les courbes de traffic que sur les
contraintes (courbes darrivee et de service).
Moins la problematique de flux pouvant saggreger a des nuds.

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Network Calculus vs. Adversarial Queuing Theory
Modeles varies :
Reseau :
Topologie (graphe).
Serveurs a debit constant, delais sur les liens/aux serveurs.
Traffic :
Sessions (flux) sur chemins fixes ou pas.
Injection des donnees par un adversaire avec contraintes.
Politiques de service : FIFO/LIFO/NTG/LTG/NTS/LTS/SIS/LIS
Question : stabilite ? (quantite de donnee dans le reseau est bornee ?)
PSM (Permanent Session Model) : sessions sur chemins fixes &
nbre de donnees injectees dans flux i pendant [s, s + t[ est i + i t.
AQM (Adversarial Queuing Model) : sessions sur chemins fixes &
injection verifiant que pour tout arc e et periode [s, s + t[, le nbre de
donnees devant passer par e est w + rt.
Commentaire : lien clair entre modeles PSM et Network Calculus.
Resultats PSM : souvent recherche de contre-exemples.
Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances
Trois problemes algorithmiques

Network Cal ulus

Cal ul des
Un problme Question de
oprations
de routage stabilit
lmentaires

Mr Max PLUS Adversarial Queuing

. .

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Les operations elementaires

Definition
Soient f , g de X dans R {, +} ou X = N ou R+ ,
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)) (Deconvolution).
f (t) = inf(f (0) , f (1) , f (2) , f (3) , . . .) (Cloture sous-additive)
ou f (0) (t) = 0 si t = 0 and = + si t > 0,
et f (k) = f| {z
f} pour k 1.
k fois

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Cloture sous-additive : exemples

A -regulee -regulee -regulee ( ).


Controle dadmission tel que charge dans reseau toujours W
une courbe de service minimum de lensemble [controleur +
reseau] est ( + W ) .

. .

A(t) X(t) B(t)


Rseau
ontroleur

. .

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Quelques classes de fonctions
Soit f une fonction de X dans R {, +} ou X = N ou R+ , alors,
en notant X = X \ {0}:
f est affine si , R, t X , f (t) = t + ou
t X , f (t) = + (resp. ).
f est ultimement affine 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 eventuellement f (T ) = + (resp. )
si t > T , f (t) = + (resp. ).
Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances
Illustrations des classes

c
c
T T
d d
ane ultimement ane pseudo-priodique ultimement
pseudo-priodique

+ + + +

T T
fran he pas fran he pas fran he

Notation : F[X , Y ] = fonctions de R+ dans R {, +} affines


par morceaux avec des sauts ou changements de pentes a des points
dabscisses dans X et dordonnees dans Y .
Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances
Navigation entre les differentes classes
+, ,
F franch. F [R+ , R] min, max
sub. clos.
+,
sub. clos. min, max,
sub. clos.
+, franch.ult.affine franch.ult.ps.-period.
min, max F [R+ , R] F [R+ , R]
modele fluide

,
min, max min, max
, sub. clos. ,
sub. clos.

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

+, +,
franch.ult.affine sub. clos. franch.ult.ps.-period. min, max
min, max ,
, F [Q+ , Q] F [Q+ , Q]
sub. clos.
modele discret

+, +,
min, max franch.ult.affine sub. clos. franch.ult.ps.-period. min, max
, NR NR ,
sub. clos.

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Theoremes de cloture

Deux classes stables pour min, max, +, , , , . et couvrant les


exemples rencontres en Network Calculus :
Dans F, les fonctions affines par morceaux franches et ultimement
pseudo-periodiques.
Dans D, les fonctions franches et ultimement pseudo-periodiques.
On peut difficilement faire plus petit pour rester stable :
Theoreme
Dans F, la cloture des fonctions affines pour les operations
min, max, +, , , , . est la classe des fonctions affines par morceaux
continues (sauf eventuellement en 0) ultimement pseudo-periodiques.

Question : quels algorithmes pour implementer les operations


elementaires sur ces classes de fonctions ?

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Algorithme de convolution : cas particulier

6 8

4
=

3 3
4
1 1
0 0

Theoreme (Le Boudec, Thiran, 2001)


Convolution de f et g convexes et affine par morceaux = concatenation
des differents morceaux de f et g tries par pentes croissantes.

Complexity: O(|f | + |g |) ou |f | (resp. |g |) est le nombre de


morceaux de f (resp. g ).

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Algorithme de convolution : cas general
. .

f g
. .

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


. .
f g f g

x+y
y
x
a b c d a+c b+c b+d
ou
a+d
. .

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Algorithme de convolution
. .

g3
f3
g2
f2 =
f1 g1

f g 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 .
2 `(N) 3 (N) 3N(N),
ou 3 (N)= plus grand mot sur N lettres sans sous-sequence du
type abab [Davenport, Schinzel, 1960].
Algorithmes [Herschberger, 1989] & [Nielsen, Yvinec, 1998]
complexite O(N log N).

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Algorithme de cloture sous-additive

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

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Algorithme de cloture sous-additive

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


Algorithme de cloture sous-additive

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


Algorithme de cloture sous-additive

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 ).
...
6 k, f (k) = f .

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Algorithme de cloture sous-additive
Entree : f D, t T , f (t + d) = f (t) + c.
Calcul de f :
f (t) = inf k0 f (k) (t) = inf t1 +t2 ++tk =t (f (t1 ) + f (t2 ) + + f (tk )).

f (1) f (2) f (T ) f (T + d 1)

1 2 T T+d1
0 0 0 0 0

Puissance de matrice : f (t) = M0,0


t ou M matrice du graphe value

et produit de matrice dans (min, +) ((PQ)i,j = mink (Pi,k + Qk,j )).


Theoreme (Cohen,Dubois,Quadrat,Viot, 1985)
Pour M irreductible, il existe d , T N et R tels que t T ,

M t+d = M t + d .
t T , f (t + d ) = f (t) + c avec c = d .
Un algorithme : calculer incrementalement les M t (tres couteux).
Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances
Un probleme de routage

Probleme : etant donne un reseau (sans traffic) et un flux de source et


destination connues, calculer une route qui donne la meilleur garantie
sur le delai maximum (resp. sur la charge maximum).

Entrees:
le reseau sous forme dun graphe G = (V , A),
un service minimum v a chaque nud v ,
source x, destination y et courbe darrivee pour le flux a router.
courbes affines par morceaux, arrivee concave, services v convexe.

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Un probleme de routage

Probleme : etant donne un reseau (sans traffic) et un flux de source et


destination connues, calculer une route qui donne la meilleur garantie
sur le delai maximum (resp. sur la charge maximum).

Entrees:
le reseau sous forme dun graphe G = (V , A),
un service minimum v a chaque nud v ,
source x, destination y et courbe darrivee pour le flux a router.
courbes affines par morceaux, arrivee concave, services v convexe.

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Routage : forme de la function a optimiser

Optimisation de la borne sur les delais :

OPT = inf h(, v1 v` )


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

= inf sup{(v1 v` )1 (z) 1 (z)}


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

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Routage : cas particuliers

. .

Classi al
v (t) = Shortest Path
(min )

Tv Tv 1 ... Tv

Bottlene k
v (t) = Rv min(Rv1 , , Rv ) Shortest Path
(max min)

. .

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Routage : forme de la function a optimiser
Optimisation de la borne sur les delais :
OPT = inf h(, v1 v` )
chemin
(x, v1 , . . . , v` , y )

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Routage : forme de la function a optimiser
Optimisation de la borne sur les delais :
OPT = inf h(, v1 v` )
chemin
(x, v1 , . . . , v` , y )

sup (v1 v` )1 (z) 1 (z)



= inf
chemin z0
(x, v1 , . . . , v` , y )

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Routage : forme de la function a optimiser
Optimisation de la borne sur les delais :
OPT = inf h(, v1 v` )
chemin
(x, v1 , . . . , v` , y )

sup (v1 v` )1 (z) 1 (z)



= inf
chemin z0
(x, v1 , . . . , v` , y )

sup (v1 v` )1 (z) 1 (z)



= inf
chemin zC
(x, v1 , . . . , v` , y )

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Routage : forme de la function a optimiser
Optimisation de la borne sur les delais :
OPT = inf h(, v1 v` )
chemin
(x, v1 , . . . , v` , y )

sup (v1 v` )1 (z) 1 (z)



= inf
chemin z0
(x, v1 , . . . , v` , y )

sup (v1 v` )1 (z) 1 (z)



= inf
chemin zC
(x, v1 , . . . , v` , y )

(v1 v` )1 (z) 1 (z)



= sup inf
zC chemin
(x, v1 , . . . , v` , y )

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Routage : forme de la function a optimiser
Optimisation de la borne sur les delais :
OPT = inf h(, v1 v` )
chemin
(x, v1 , . . . , v` , y )

sup (v1 v` )1 (z) 1 (z)



= inf
chemin z0
(x, v1 , . . . , v` , y )

sup (v1 v` )1 (z) 1 (z)



= inf
chemin zC
(x, v1 , . . . , v` , y )

(v1 v` )1 (z) 1 (z)



= sup inf
zC chemin
(x, v1 , . . . , v` , y )

(v1 v` )1 (z) 1 (z)



= sup inf
zC chemin
(x, v1 , . . . , v` , y )

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Routage : forme de la function a optimiser
Optimisation de la borne sur les delais :
OPT = inf h(, v1 v` )
chemin
(x, v1 , . . . , v` , y )

sup (v1 v` )1 (z) 1 (z)



= inf
chemin z0
(x, v1 , . . . , v` , y )

sup (v1 v` )1 (z) 1 (z)



= inf
chemin zC
(x, v1 , . . . , v` , y )

(v1 v` )1 (z) 1 (z)



= sup inf
zC chemin
(x, v1 , . . . , v` , y )

(v1 v` )1 (z) 1 (z)



= sup inf
zC chemin
En fait, (x, v1 , . . . , v` , y )

6= sup (v1 v` )1 (z) 1 (z)



inf
zC chemin
(x, v1 , . . . , v` , y )
Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances
Routage : un theoreme min-max

S bande de pente

vsize(S) v (, ) width(S)

h, )
hsize(S)

I(, )

Theoreme
Si concave et convexe, alors
sup{ 1 (z)1 (z)} = inf {hsize(S) | I(, ) S bande de pente }.
z0 C

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Routage : resolution

a2

2 b3

a1

b2
1
b1
2
1

`
X
inf{hsize(S) | I (, ) S, S bande de pente } = proj ()+ (proj (vi ))+
i=1

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Routage : resolution

sup (v1 v` )1 (z) 1 (z)



OPT = inf
chemin z0
(x, v1 , . . . , v` , y )

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


chemin C
(x, v1 , . . . , v` , y )
`
X
proj () +

= inf inf (proj (vi ))+
C chemin
i=1
(x, v1 , . . . , v` , y )

Algorithme :
1 Pour toute pente du modele, remplacer v par (proj (v ))+ et
calculer plus court chemin classique dans le graphe.
2 Minimum des valeurs calculees pour ces pentes .

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Le probleme de stabilite
3
4
FIFO FIFO
2

1 2 FIFO

FIFO FIFO 5
1

3 4

Modele : arrivees i (t) = i + i t, services stricts v = Ri (t Ti )+ ,


liens avec delais exacts et capacites, FIFO.
Stabilite : quantite de donnees dans reseau = bornee ?
Critere important : facteur dutilisation
i passant par v i
P
= max .
serveur v Rv
Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances
Stabilite : configurations sans circuit

Une condition necessaire de stabilite : 1.


Theoreme
Si les flux ne forment pas de circuit, alors le modele est stable si < 1.

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Stabilite : lanneau
Theoreme (Tassiulas,Georgiadis,1996)
Si le reseau a une structure danneau (dirige dans un sens), alors le
modele est stable si < 1.
. .

2 8

3 7

4 6

4
. .

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Stabilite : instabilite de FIFO

Theoreme (Andrews,2000)
Il existe un modele (reseau+traffic) instable de facteur dutilisation
= 1 3 109 .

Noeud FIFO
Lgende : Flux
Source Sortie

Theoreme (Andrews,2007)
Pour tout r > 0, il existe un modele (reseau+traffic) instable de facteur
dutilisation < r .
Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances
Stabilite : a ce jour

Resultat recent :[Le Boudec,Rizzo,2008]


Algorithme calculant une borne sur garantissant la stabilite.
Possibilites de calculs de bornes sur les delais.
Introduction dun operateur decrivant la dynamique du modele,
borne ensuite par un autre operateur lineaire dans (+, ).
Question ouverte : pour ce genre de modele de reseau & traffic,
stabilite = decidable ?

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


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].
Series formelles (C++/Scilab) [Gaubert, Hardouin et al, 2007]
COINC - COmputational Issues in Network Calculus (C++/Scilab)
[Gaujal et al, 2007].

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


Conclusion

Algbre
Gomtrie Thorie des
(min,+) graphes
algorithmique

Algbre Optimisation
linaire onvexe

Algorithmes pour le Network Cal ulus

Automatisation de lanalyse.
Precision des bornes.
Introduction de nouveaux operateurs/algorithmes, au dela des
operations (min, +) elementaires.

Algorithmique du Network Calculus 9eme Atelier Evaluation de Performances


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

Vous aimerez peut-être aussi