Sunteți pe pagina 1din 75

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Evaluation de performances stochastiques des rseaux


YeQiong SONG, LORIA Nancy Universit-INPL / (song@loria.fr)

Master Informatique, Spcialit SSR, UE Rseaux Avancs, Support de cours pour la partie valuation de performances

-1-

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Evaluation de performances stochastiques des rseaux


YeQiong SONG, ENSEM-INPL / LORIA (song@loria.fr)

Table des matires : 1 Introduction ........................................................................................................................ 2 2 Rappel des Chanes de Markov et des files dattente ......................................................... 8 3 File M/G/1 ........................................................................................................................ 28 4 Evaluation des protocoles/rseaux ................................................................................... 34 5 Evaluation des protocoles daccs alatoire ..................................................................... 44 6 Annexe : Modlisation et simulation ............................................................................... 51 Bibliographie ............................................................................................................................ 75

1 Introduction
L'volution permanente des systmes et rseaux informatiques et des tlcommunications souligne le besoin croissant d'outils facilitant l'tude de leur comportement. Il est ncessaire d'avoir une assistance dans les phases de conception (comparaison des solutions), de dveloppement (dimensionnement) et d'utilisation (gestion des flux et de la QoS : Quality of Service) des systmes et rseaux. En effet, le dveloppement d'un systme complexe demande non seulement une modlisation qualitative pour vrifier sa correction logique mais aussi une validation a priori des performances du systme lors de la phase de conception. En plus, lorsque ces systmes possdent des contraintes temporelles (applications temps rel, par exemple), nous devons inclure parmi les lments retenir des considrations de performances qui ne peuvent tre abordes avec rigueur que grce l'utilisation de techniques quantitatives pour l'valuation de performances. Parmi de nombreux paramtres de performances dun rseau nous nous intressons dans ce document essentiellement aux deux suivants : le temps de rponse dun message qui exprime le dlai ncessaire pour quun message traverse un quipement rseau (contrleur de communication, commutateur, ) ou un rseau entier (temps de rponse de bout en bout). Ce paramtre intresse surtout les utilisateurs (applications temps rel par exemple) et constitue le paramtre principal de qualit de service (QoS) dun rseau. le rendement (throughput ou encore dbit) dun rseau qui exprime le rapport entre la quantit d'information (par seconde) et la quantit totale d'information (donnes utilisateurs + donnes de contrle + donnes retransmises en cas derreurs) vhicule par le rseau. Ce paramtre est gnralement utilis pour estimer l'efficacit dun rseau. A ne pas confondre avec le dbit nominal dun rseau (e.g. 10 Mbit/s, 100 Mbit/s, ). Les rseaux informatiques et de tlcommunications numriques sont conus comme des ressources partager par plusieurs utilisateurs. Afin de grer le problme daccs multiples une ressource, on utilise une mmoire tampon pour stocker momentanment des demandes -2-

Evaluation de performances stochastiques des rseaux

YeQiong SONG

que lon narrive pas traiter instantanment. Dans un quipement rseau, chaque fois il y a une mmoire tampon, il y a des attentes de traitement. Il est donc naturel de modliser un rseau sous le formalisme de files dattente. Ces dlais dattente dpendront de lensemble des trafics entrants. Selon la connaissance complte ou partielle dont on dispose sur lapplication, leur valuation peut donner des rsultats du type exact, probabiliste ou de bornes. La figure suivante (Figure 1) met en vidence les attentes dans un rseau.
Station mettrice Gnrateur de messages Rseau dinterconnexion Station rceptrice

Rseau local Commutateur/routeur

Rcepteur de messages

Wq Dtx Dprop Dlai du rseau dinterconnexion Wq Dlai de bout en bout

Figure 1- Les attentes dans un rseau de transmission de donnes

Examinons lexemple suivant dun quipement rseau de capacit de traitement c bit/s :


Taille de paquets alatoire ou constante

Source interarrive ordonnancement Taux de service: c bit/s

Lobjectif de lvaluation de performances est de fournir une garantie sur le temps de traverse du systme dun paquet. Si on ne dispose pas de connaissance sur le trafic dentre dans la file dattente, aucune garantie ne sera possible. Si on dispose dune connaissance stochastique sur le trafic, une analyse la base de la thorie des files dattente fournira des rsultats utilisables pour fournir une garantie probabiliste ou en termes de temps moyen de traverse. Deux cas particuliers sont couramment rencontrs : Si linterarrive des paquets est distribue exponentiellement et les tailles de paquets suivent une distribution exponentielle, les rsultats sur une file dattente M/M/1 sont directement exploitables. Si linterarrive des paquets est distribue exponentiellement et la taille des paquets est constante, ce systme pourra tre modlis par une file M/D/1.

-3-

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Maintenant si on veut une garantie dterminite, il va falloir disposer plus de connaissance sur le trafic dentre. Par exemple, trafic priodique ou priodique avec des gigues (cas tudis dans lordonnancement). Mais dans la pratique, ce type de trafic est souvent difficile obtenir dans des rseaux de taille importante cause des comportements en gnral non dterministes des quipements rseaux (asynchrones). Cest pour cela que lon peut implmenter un limiteur de trafic (Leaky bucket) afin de lisser un flux dentre.

Dbit =

Source B Source A interarrive Bufferis ou rejet Taux de service: c bit/s

Notons que la garantie est donne vis vis de la source B mais non plus la source A. La source B est dite ( , )-born avec la taille de rafale et le dbit moyen. Le trafic entrant durant [0, t[ est alors born par : B(t) = + t

Dans ce document, nous nous intressons tudier des approches dvaluation de performances probabilistes. Le lecteur intress par lvaluation de performances dterministes avec un trafic dentre ( , )-born peut consulter des rfrences ayant trait avec le network calculus [LeBoudec02]. Que ce soit dans un rseau un seul saut (un rseau local mdium partag par exemple) ou dans un grand rseau sauts multiples (Internet par exemple), le point cl pour le calcul du temps de rponse de bout en bout est lvaluation du temps de travers de chaque nud. Ce nud peut tre le mdium de transmission partag par des stations multiples dont laccs est rgul par le protocole MAC (Medium Access Control) utilis. Ce nud peut aussi tre un multiplexeur, un commutateur ou un routeur dont un mme port de sortie est partag par toutes les lignes en entre. Un modle appel MIQSS (Multiple Input Queues Single Server) peut tre utilis pour dcrire un tel systme (Figure 2). Le modle MIQSS est constitu dun ensemble de N sources {Si}1 i N de clients (qui peuvent reprsenter des tches dans un CPU ou des messages dans un rseau) partageant le serveur unique de capacit de traitement c (en bit/s pour la transmission de messages par exemple). Une source Si est caractrise par le flux de clients Fi quelle gnre et les contraintes de performances (ici on ne considre que celle du temps de rponse) CTRi quelle doit respecter.

-4-

Evaluation de performances stochastiques des rseaux

YeQiong SONG

S1 S2 . . . SN interarrive

ordonnancement

Serveur de capacit c

Figure 2. Modle gnral pour la description des systmes : MIQSS

La fonction Fi peut tre : Priodique ou sporadique: elle est alors dfinie par (Ci, Ti) dans le cas dune date de gnration du premier client quelconque et (ri, Ci, Ti) dans le cas o la date de gnration du premier client note par ri est donne ; Ci est le temps dexcution dun client par le serveur et Ti la priode dinterarrive (ou dinterarrive minimale dans le cas sporadique). Dans la plupart du temps on considre le cas o Ci est constante. Le cas de Ci variable est souvent major par le temps dexcution maximale (WCET : Worst Case Execution Time). Priodique avec gigues : elle est caractrise par (Ci, Ti, Ji) ou (ri, Ci, Ti, Ji) o Ji reprsente la gigue. La gigue est considre comme tant le dphasage maximal dune arrive par rapport la priode. Dans ce document la gigue a toujours une valeur positive (i.e., un retard par rapport la priode) ( i, i)-born : elle est alors donne sous forme dune courbe linaire caractrise par la taille de la rafale darrives des clients i et le dbit moyen i qui majore la vraie fonction cumulative darrive du travail [LeBoudec02], [Chang00]. La quantit du travail apporte par un client est dfinie par Wi avec notamment Ci Wi / c . Alatoire en suivant une loi darrive probabiliste avec un temps moyen dinterarrive Ti et un temps moyen dexcution de clients Ci (par exemple : une loi de Poisson pour dcrire une loi d'inter-arrive exponentielle avec la taille constante des clients, une loi de Poisson compose pour une loi dinter-arrives exponentielle et des tailles variables de clients). Le flux darrive priodique ou sporadique, avec ou sans gigues correspond aux modles de tches classiques utiliss par la communaut de lordonnancement temps rel [Liu73]. Le flux ( , )-born apparat, quant lui, plutt dans la communaut de la QdS des rseaux (ATM et Internet) [Cruz91a], [Cruz91b], [LeBoudec02], [Chang00]. Un tel flux est obtenu par un lisseur de trafic (Leaky bucket par exemple). Un flux alatoire est un modle classique du domaine de lvaluation de performances, notamment lorsquil sagit de lvaluation de performances des rseaux par le formalisme de files dattente [Kleinrock75], [Kleinrock76]. Notons que les deux premiers cas peuvent tre transposs en un modle de flux ( i, i)-born [Kouba04]. Ceci ouvre la possibilit de choisir entre la thorie de lordonnancement et celle du network calculus [LeBoudec02] lors de lvaluation de la borne suprieure des temps de rponse. Les contraintes de temps de rponse CTRi sont classiquement donnes par Di qui est lchance relative linstant darrive dun client, et la garantie exige (dterministe, probabiliste, en moyenne, ). Pour analyser ce modle de file dattente, nous devons nous intresser la caractrisation des demandes daccs (exacte, probabiliste, fonction majorante de flux d'arrive: pire trajectoire ou (, )-born), ltude des algorithmes dordonnancement

-5-

Evaluation de performances stochastiques des rseaux

YeQiong SONG

(qui ordonnancent l'accs des messages aux ressources de transmission partages), et aux mthodes danalyse de temps de rponse. Les principaux formalismes/outils que nous pouvons utiliser sont : les processus stochastiques et la thorie des files dattente pour une caractrisation probabiliste de flux darrives et de temps de rponse les mthodes danalyse base de trajectoires (une caractrisation dterministe de flux darrives) : - trajectoire du pire cas pour lobtention du temps de rponse du pire cas (par WCRTA, Worst Case Response Time Analysis, la technique issue de la communaut temps rel) - flux d'arrive major par (, ) pour lobtention de la borne suprieure du temps de rponse (par Network Calculus, technique issue de la communaut de QdS de lInternet) la simulation vnements discrets pour des systmes complexes ne pouvant pas tre tudis facilement par des mthodes analytiques (trafic non Markovien ou qui ne peuvent tre caractriss de faon stochastique ou par des bornes du type pire cas ou (, )) Sans perdre de la gnralit, dans ce document, nous allons nous concentrer dans la plupart du temps sur lvaluation du temps dattente dun message dans une file dattente un seul serveur, que ce dernier soit intermittent (cas du TDMA) ou non (Figure 2).

S a(t) = A(t) A(t 1) q(t) c

Figure 2 Modle de base pour valuer le temps de rponse de messages dune source S

Notons que la source S peut reprsenter une des sources si les sources sont de priorits diffrentes ou une agrgation dun ensemble de sources si les sources sont de mme priorit. Dans le premier cas le serveur est intermittent dont la disponibilit est dcrite par lordonnancement utilis (Round-Robin, Fixed Priority, WFQ, ). Le temps de rponse obtenu est vis vis dune source particulire. Dans le second cas (par exemple : commutateur/routeur dans un rseau IP ne supportant pas de classification de trafics), le serveur est non-vacant et le temps de rponse (dun message quelconque) est le mme pour toutes les sources. Dans un premier temps, pour simplifier la description mathmatique de ce modle de base nous supposons que les messages sont de mme taille dont le temps de traitement dans le serveur est une unit de temps. Le temps dattente dun message dans une telle file (appel aussi temps de rponse) dpend essentiellement du flux dentre en terme du nombre de messages par unit de temps a(t) = A(t) A(t 1), de la politique dordonnancement (FIFO, avec priorit, ) et de la capacit du serveur (c messages par unit de temps). Lvolution de notre modle de base en termes de nombre de messages (un systme vnements discrets) q(t) se dcrit avec lquation de Lindley [LIN 52]: q(t + 1) = max(0, q(t) + a(t + 1) c) (1)

Cette quation est parfois crite sous forme de : q(t + 1) = (q(t) + a(t + 1) c)+ avec x+ = max(0,x). -6-

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Schmatiquement lvolution de q(t) peut tre dcrite par la Figure 3.


Une borne possible pour majorer le flux dentre q(t) A(t)

6 5 4 3 2 1
q(t) 3 2 1

t-1

t+1 t+2

Figure 3 Une trajectoire de lvolution du nombre de messages dans la file

Notons que lhypothse de taille constante de messages ne rduit pas la gnralit de lquation de Lindley. Au pire, on peut dfinir la quantit de travail q(t) comme le nombre de bits dans la file dattente, c le nombre de bits que le serveur peut traiter par unit de temps et A(t) le nombre de bits gnrs par la source S pendant lintervalle [0, t[. Dans la suite de ce document nous allons nous intresser lapproche de rsolution analytique des modles en files dattente. Une introduction lapproche simulation est galement donne la fin sous forme dune annexe.

-7-

Evaluation de performances stochastiques des rseaux

YeQiong SONG

2 Rappel des Chanes de Markov et des files dattente


2.1 Notion de files dattente
Bas sur deux entits: client et serveur (un client arrive dans une file, attend un service, reoit le service, puis se dirige vers une autre file ou quitte le systme), ce formalisme est largement utilis pour modliser des systmes dans la vie quotidienne (acheter un ticket de cinma au guichet, passer la caisse de supermarch, etc.), dans l'informatique (une tche attend dans la RAM pour tre traite par la CPU), dans les tlcommunications (un message dans la mmoire tampon de la carte rseau en attendant que le mdium de transmission soit libre, dans un commutateur en attendant dtre achemin vers une bonne ligne de sortie), dans le transport (voiture devant un page, un feu tricolore), dans la gestion de production dans une usine, etc. La Figure 4 reprsente schmatiquement les lments d'un systme d'attente.
Service File d'attente Serveur 1 Flux d'entre Serveur 2

Population de clients

Serveur c

Figure 4 - lments d'un systme d'attente

Ce systme peut tre modlis en termes de files d'attente comme montr par la Figure 5 avec les variables qui peuvent nous intresser.

N Serveur 1 taux d'arrive Nq Ns

nb. de clients dans le sys tme nb. de clients en s ervice nb. de clients dans la file

temps d'interarrive

s Serveur c w

temps de s ervice

temps dans le s ys tme

Figure 5 - Quelques variables alatoires utilises dans un modle en files d'attente

-8-

Evaluation de performances stochastiques des rseaux

YeQiong SONG

2.2 Caractrisation dune file dattente


2.2.1 Notation de Kendall
Une file d'attente est note A/B/m/K/N/Z selon Kendall avec: A : Processus d' arrive des clients (distribution dinterarrive). B : Schma de service (distribution de dure de service de clients). m : nombre de serveurs. K : capacit maximale de la file dattente. N : nombre de clients utilisant le systme. Z : discipline du systme qui dcrit la faon dont les clients sont ordonnancs. Pour les arrives et les services on utilise les symboles suivants: - M : loi exponentielle. - D : loi dterministe. - G : loi gnrale. - Hk : loi hyperexponentielle d'ordre k . - Ek : loi d'Erlang d'ordre k . Le nombre de serveurs peut varier de 1 l'infini (not ), de mme pour K et N . En ce qui concerne Z, les ordonnancements les plus utiliss sont: - FIFO (First In, First Out). - LIFO (Last In, First Out). - RANDOM: le prochain client servir est choisi alatoirement. - Round-Robin (cyclique avec un quantum Q). - PS (Processor Sharing): Round-Robin avec Q tend vers 0. Tous les n clients servis en mme temps avec un taux /n. - PRIOR (Avec priorit, avec premption ou sans premption).

2.2.2 Rsultats gnraux


Nous donnons ici quelques rsultats gnraux valables aussi bien sur une file dattente simple que sur un rseau de files dattente. Considrons la file simple suivante avec la capacit infinie de la file :

N Nq

q W
Figure 6 - File dattente simple

Condition de stationnarit : < qui sexprime simplement que le systme est stable si le taux darrive des clients est infrieur au taux avec lequel le systme vacue les clients.

-9-

Evaluation de performances stochastiques des rseaux

YeQiong SONG

1:

Cette condition est aussi exprime par la charge normalise du systme soit infrieure < 1.

Remarque 1 : dans le cas particulier dune file D/D/1, la condition stationnaire est : Remarque 2 : dans une file avec une capacit limite, les clients arrivs voyant la file pleine sont rejets. Le systme est donc toujours stable. Formules de LITTLE : E(N) = E(W) et E(Nq) = E(q) qui sexprime simplement que le nombre moyen de client dans un systme est gal au taux darrives des clients multipli par le temps moyen dattente dun client. La relation suivante existe : E(W) = E(q) + 1/

2.3 Rappel sur la probabilit


2.3.1 Probabilit lmentaire
: lunivers des vnements A (ou ) : un sous-ensemble de P[ ] = 1, P[ ] = 0 Les oprations des ensembles classiques

P[ A B]

P[ A] P[ B], si A B P[ A] P[ B] P[ A B], sinon


si A et B sont indpendantes

P[ A B] P[ A] P[ B],
Probabilit conditionnelle : P[ A B] P[ A B] P[ B] Probabilit totale :

Ai
i E

; Ai
i E

Aj

P[ B]

P[ B Ai ] P[ Ai ]

2.3.2 Variables alatoires


Une v.a. X prend la valeur lissue dune exprience alatoire (e.g. loto). A chaque vnement de , on associe un nombre X( ) E (espace fini ou infini). X est une application probabilisable de lespace ( , P) dans E. Exemple : Exprience alatoire du lancer dun d.

- 10 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

= {1, 2, 3, 4, 5, 6} v.a. : X( ) = -1 si 3 X( ) = 1 si E = {-1, 1}

Probabilit que X prenne une des valeurs de E : P[X=x] = P[{ t.q. X( )=x}, x E] Deux types de v.a. : Discrte et Continue : v.a. discrte X, E probabilit dtat : p(n) = P[X=n], v.a. continue X, E fonction de densit de probabilit : n = - , , + , avec
n

p ( n) 1

f X ( x) pour x

[- , + ], avec

f X ( x)dx 1
x]

f X ( x)
-

lim
x 0

P[ x

X x

X est une v.a. valeur positive : Cas discret : p(n) = 0, n = - , , -1 Cas continu : f X ( x) 0 pour x [- , 0[

Fonction de rpartition FX(x) = P[Xx] - Une v.a. est parfaitement caractrise par sa fonction de rpartition - FX(x) 0 pour tout x - FX(x) FX(y) pour tout xy - FX(- ) = 0 et FX(+ ) = 1 - P[a < X b] = FX(b) - FX(a) pour tout a b Cas discret :
m

P[n
Cas continu :

m]
k n 1

p(k ) FX (m) FX (n)


b a

P[a

b]

f X ( y)dy

FX (b) FX (a)

Les moments, Esprance et Variance Cas discret :

E[ X ]
n

np(n)

- 11 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

E[ X k ]
n

n k p ( n)

Cas continu :

E[ X ]

xf X ( x)dx

E[ X k ]
-

x k f X ( x)dx

Une v.a. est parfaitement caractrise par tous ses moments La variance V[X] et lcart-type [X] : V[X] = E[X2] (E[X])2

[X ]
Le coefficient de variation cv[X] :

V[X ]

cv[ X ]

[X ] E[ X ]

2.3.3 Quelques lois de probabilit


Loi gomtrique modifie : v.a. discrte de paramtre a ayant P[X=n] = an(1-a) ; n = 0, 1, Interprtation : X : nombre de tirages conscutifs de pile P[X=n] : probabilit de tirer pile exactement n fois de suite a : probabilit de tirer pile 1-a : probabilit de tirer face

E[ X ]
n 1

nP[ X

n]

a 1 a

V[X ]

a (1 a)2

Exercice : dmontrer ces deux proprits ci-dessus. Loi gomtrique de base : P[X=n] = an-1(1-a) ; n = 1, 2, Proprit sans mmoire de la loi gomtrique : P[X n+n0 X n0] = P[X n] Explication : Ce nest pas parceque lon a dj tir 50 fois de suite pile que lon a plus de chance, au coup suivant, de tomber sur face . La pice ne garde pas la mmoire des tirages prcdents ! Il sagit de la seule loi discrte sans mmoire

- 12 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Loi de Poisson
n

v.a. discrte X de paramtre , ayant P[ X Proprit : E[X] = V[X] = Exercice : dmontrer cette proprit.

n]

n!

Les lois de Poisson sadditionnent : Z = X + Y, X de

et Y de

P[Z

n]

)n

n!

2)

Loi exponentielle v.a. continue T de paramtre , ayant fT (t ) ( fT (t )

; t

0; t

0)
t

Proprit 1 :

FT (t )

P[T

t]

fT ( x)dx 1 e

Proprit 2 :
E[T ]
0

tfT (t )dt

Exercice : dmontrer la proprit 2 Proprit 3 (sans mmoire) :

P[T

t t0 T

t0 ] P[T

t]

Preuve :

P[T e
t0

t t0 T t0 ] (1 e e t0
t

P[t0 T t t0 ] P[T t0 ]
t

FT (t t0 ) FT (t0 ) 1 FT (t0 )

1 e

P[T

t]

Interprtation de la proprit 3 : Paradoxe de linspection (exemple de passage de bus). Deux passages conscutifs dun bus suivent une distribution exponentielle de . Si les bus passent en moyenne toutes les 1/ = 15 minutes, et quon attend depuis une heure. Tout ce quon sait dire : le prochain bus narrivera en moyenne que dans 15 minutes ! La loi de Poisson est la seule loi continue sans mmoire. - 13 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

2.3.4 Processus stochastiques


Un processus stochastique {X(t)}t T est une fonction du temps dont la valeur chaque instant dpend de lissue dune exprience alatoire. A chaque t T, X(t) est donc une v.a. T peut tre discret ou continu Lensemble de lespace dtat E dans lequel X(t) prend des valeurs peut tre discret (fini ou infini) ou continu.

Processus de comptage : Un processus stochastique {X} espace dtat discret est un processus de comptage ssi toute ralisation particulire (trajectoire) de X est une fonction croissante, nulle en 0 : En discret : X0 = 0 ; Xn-1 Xn, n En continu : X(0) = 0 ; X(t) X(s) ,

Un processus stochastique est dit incrments indpendants ssi : En discret : Xn - Xn-1, Xn-1 - Xn-2,, X1 X0 sont indpendants En continu : X(tn) - X(tn-1), X(tn-1) - X(tn-2),, X(t1) - X(t0) sont indpendants Un processus stochastique est dit stationnaire ssi : En discret : Xn - Xn-1 et X1 X0 sont distribues selon la mme loi En continu : X(s+t) X(s) et X(t) X(0) suivent la mme loi Processus de Poisson : Une chane temps continu et espace dtat discret {N(t)} est un processus de Poisson de paramtre ssi : - {N(t)} est un processus de comptage - {N(t)} est un processus stationnaire et incrments indpendants n

t et s [0, [

P[ N (s t ) N (s) k ]

Arrives Poissonniennes inter-arrives exponentielles Dcomposition et superposition

( t )k e k!

2.3.5 Transform en Z et transform de Laplace


Pour caractriser une v.a., au lieu de traiter directement sa fonction de distribution de probabilit ou sa fonction de densit, qui sont des fonctions dans le domaine temporel, parfois, il est souhaitable (ou plus pratique) de sintresser son quivalent dans le domaine de Z (pour v.a. discrte) ou de Laplace (pour v.a. continue). Cette forme sappelle la fonction gnratrice . - 14 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Pour une v.a. discrte x, sa f.g. est donne par sa transform en z :


X ( z) E[ z x ]
i 0

z i P[ x i ]

o z est une variable complexe. Nous avons lquivalence suivante : f.g. p.d.f. (i.e. P[X=i]). Au fait,

P[ x i]

1 d i X ( z) i! d i z

z 0

Lintrt de passer par la f.g. est la facilit dobtention des moments dune v.a.
E[ x] dX ( z ) dz iz i 1P[ x i ]
i 0

z 1

z 1

E[ x ]

d 2 X ( z) d 2z

z 1

dX ( z ) dz

z 1

Pour une v.a. continue x, sa f.g. est donne par la transform de Laplace:
P( s) E[e
sx

]
0

st

f x (t )dt , quand x est positive.

d j P( s) ds j

s 0 0

( t ) j f x (t )dt

( 1) j E[ x j ]

2.4 Chanes de Markov


Les chanes de Markov constituent un outil simple de modlisation et dvaluation de performances dune classe particulire de systmes vnements discrets. Par ailleurs, lanalyse des chanes de Markov est un prliminaire ncessaire ltude des files dattente et des rseaux de Petri stochastiques. NB : cette partie est inspire essentiellement de [BAY 00].

2.4.1 Dfinition
2.4.1.1 Processus alatoire Un processus alatoire valeurs dans un ensemble E, est une famille de v.a (variable alatoire) Xt valeurs dans E indexes par un paramtre t dcrivant l'ensemble T et on note (Xt ; t T). E est appel ensemble des tats, E sera en gnral R, C, Z, N. T est l'ensemble des indices et ce sera en gnral R, N ou Z.

- 15 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Si les v.a Xt sont dfinies sur l'ensemble des vnements lmentaires, on appellera trajectoire (ou ralisation) du processus (Xt ; t T) correspondant l'vnement lmentaire , la suite (Xt( ) ; t T). 2.4.1.2 Loi de probabilit d'un processus alatoire On appelle loi de probabilit du processus (Xt ; t T) valeurs dans R, la famille des lois conjointes des v.a (Xt1, Xt2, , Xtk) pour tout entier k 1 et tous t1, t2, , tk dans T. 2.4.1.3 Dfinition d'une chane de Markov Dfinition 0 : On considre un processus (Xt ; t T) valeurs dans un espace d'tats dnombrable E (E sera N ou Z de dimension finie ou infinie mais dnombrable). La proprit de Markov traduit une forme particulire de dpendance des v.a Xt qui s'exprime par: P[Xt = i Xt1 = i1, Xt2 = i2, , Xtk = ik] = P[Xt = i Xtk = ik]

pour tout entier k 1, pour tous t1 < t2 < < tk < t, pour tous entiers i1, i2, , ik, i. Un processus Markovien avec un espace dtats discrets (par exemple i1, i2, , ik, i N) est appel une chane de Markov car son diagramme de transition entre les tats forme souvent une chane (voir plus loin des exemples). La dfinition est la mme, que le paramtre t soit discret ou continu. Quand t est discret, on parle alors dune chane de Markov paramtre discret (note CMD). Si t est continu, on parle dune chane de Markov paramtre continu (note CMC). Cette proprit signifie que l'tat prsent tant connu, l'avenir et le pass sont indpendants. Cest la proprit dite sans mmoire . Cette proprit simplifie lanalyse des systmes Markovien car on na pas besoin de considrer tout le pass du systme pour prdire leur volution. Il suffit de connatre ltat prsent de ces systmes. 2.4.1.4 Modlisation Une chane de Markov peut tre utilise pour dcrire lvolution dun systme vnements discrets. Ce systme peut tre observ des instants discrets (quidistants ou quelconques) ou continuellement. La Figure 7 illustre le cas o le systme est observ des instants tn = nT. Des systmes de transmission comme TDM ou TDMA tombent dans ce cas.
E 6 5 4 3 2 1 Xt2=5

Xt1=2 t1 t2 t3 t4 t5 t6 t7 t8 t

Figure 7 CMD instants de changement dtat quidistants

La Figure 8 montre le cas o on sintresse ltat du systme juste aprs un vnement. tn est alors linstant du nime vnement. La file M/G/1 correspond cette situation.

- 16 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

E 6 5 4 3 2 1 t1 t2t3 t4 t5 t6t7 t8 t

Figure 8 CMD instants de changement dtat quelconques

La Figure 9 explique la notion de CMC par rapport un processus stochastique espace dtat discret et temps continu {X(t)}t 0. Notons que nous ne disposons jamais, dans le cas de CMC, dun historique complet du processus car on ignore ce qui se passe entre deux observations (chantillons) conscutives, ceci quelque soit la distance entre les deux observations. Mais la proprit sans mmoire du processus Markovien nexige pas une connaissance du pass pour lvolution future du processus.

E 6 5 4 3 2 1 t0 t1 t2t3 tn-2 tn-1 tn t


Figure 9 Processus espace dtat discret et temps continu et CMC des instants dobservation

Le tableau suivant donne des exemples des diffrents types de processus stochastiques. En temps discret : n Z Espace discret : Nombre dappels changs suivant le jour de lanne : E N {An}n=1, 2, , 365 Espace continu : Temps moyen de traitement par rapport au jour de la semaine : E R {Tn}n=1, 2, , 7 En temps continu : t [0, + ] Nombre de messages arrivant dans lintervalle [0, t] : {N(t)}t>0 Temps dattente dun message arrivant linstant t : {W(t)}t>0

2.4.2 Chanes de Markov paramtre Discret


2.4.2.1 Dfinition et reprsentation Dfinition 1 : (Xn ; n N) est une CMD ssi P[Xn = j Xn-1 = in-1, Xn-2 = in-2, , X0 = i0] = P[Xn = j On note: pij(m,n) = P[Xn = j Une CMD est dite homogne si P[Xn = j fixs. On note alors : - 17 Xm = i] Xm = i] ne dpend que de n-m pour i et j

Xn-1 = in-1]

Evaluation de performances stochastiques des rseaux

YeQiong SONG

pij(n) = P[Xn+m = j

Xm = i]

Dans la suite de ce paragraphe, on sintressera uniquement aux CMD homognes. On dfinit la probabilit de transition dun tat i vers un tat j en une seule tape pij : pij = pij(1) = P[Xn = j Xn-1 = i] n N
pij 1 .
j E

Il est clair que la somme des probabilit en sortant dun tat : Notons aussi que pii

0 : il est possible de rester dans un tat entre deux tapes conscutives.

Pour dcrire lvolution dune CMD homogne, on peut utiliser soit sa matrice de transition (P = [pij]i, j E) soit un graphe tat-transition . La matrice de transition est une matrice carre dordre fini ou infini (selon que lespace dtat E est fini ou infini) :

p11 p21 . . . pi1 . . .

p12 p22 . . .

. .

. .

. .

p1j

pij . . .

Exemple 1 : Voici un exemple dune CMD avec E = {1, 2, 3, 4} :


p12 p23 = 1 2 p31 1 p41 = 1 p14 4 3 p33

On a en plus p12 + p14 = 1 et p31 + p33 = 1 Sous forme de la matrice de transition : 0 0 P p31 1

p12 0 0 0

0 1 p33 0

p14 0 0 0

Lanalyse dune CMD se fait en deux rgimes : transitoire et permanent. Nous donnons un exemple pour illustrer les paramtres de performances que nous pouvons calculer. Exemple 2 : une souris dans un labyrinthe

- 18 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Le labyrinthe est constitu de 5 pices et dune sortie (voir Figure 10). Les pices sont relies entre elles par des couloirs sens unique. La souris ne peut pas faire le demi-tour dans un couloir. Une fois pntr dans la pice 5, la souris ne peut plus sortir.

SORTIE
Figure 10 Labyrinthe

On considre les dplacements de la souris dans le labyrinthe et on sintresse uniquement la succession des pices visites et pas au temps pass dans chacune, ni au temps pass par la souris dans les couloirs. On fait les deux hypothses suivante : - La souris ne garde pas la mmoire des pices prcdemment visites ; - La souris choisit un des couloirs de sortie de faon quiprobable. Ce systme peut tre modlis par une CMD homogne suivante :
1/2 1/2 1 1/2 1/4 1/4 5 1/4 1/4 6 3 4 1/2 2

Sachant que la souris est place initialement dans la pice 2, ce modle va nous permettre de rpondre aux questions suivantes : 1. Quelle est la probabilit quelle soit nouveau dans la pice 2 aprs 4 dplacements ? ( 2(4) = 3/16) 2. Combien de fois passera-t-elle en moyenne par la pice 3 avant de sortir ou de tomber dfinitivement dans la pice 5 ? (R23 = 2) - 19 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

3. Quelle est la probabilit que la souris trouve un jour la sortie ? (f26 = ) 4. Combien en moyenne fera-t-elle de dplacements pour revenir dans la pice 2 ? (M2 = 5/2) 2.4.2.2 Rgime transitoire Lanalyse du rgime transitoire consiste dterminer le vecteur de la probabilit j(n) = P[Xn = j] pour que le processus {Xn}n N se trouve dans ltat j (j = 1, 2, ) la nime tape :
(n)

=[

(n)

]j

=[

(n)

(n)

, ...]

Ce vecteur des probabilits dtat dpend: - De la matrice de transition P ; - Du vecteur initial (0). Il sagit donc de dcrire lvolution du processus depuis ltat initial jusqu ltape n, en passant par toutes les tapes intermdiaires. Daprs la formule des probabilits totales :
j (n)

= P[Xn = j] =
i E

P[X n j X n

i]P[X n

i] =
i E

(n 1) i

pij

qui exprime que la probabilit de se trouver dans ltat j la nime tape du processus nest rien dautre que la probabilit de passer dun certain tat i ltat j pondre par la probabilit dtre dans ltat i ltape prcdente. Cette expression scrit sous forme matricielle :
(n)

(n-1)

Appliquer n fois cette relation, on obtient la relation qui relie les probabilits dtat ltape n celles de ltat initial :
(n)

(0) n

Sur lexemple 1, pour se trouver dans ltat 1 ltape n, il faillait soit se trouver dans ltat 4 ltape prcdente, soit ltat 3 et faire une transition 3 1, cest dire : 1(n) = 4(n-1) + (n-1) p31. 3 Une autre faon dobtenir la mme relation est de sintresser lvolution du processus depuis ltat initial jusqu ltape n, sans considrer les tapes intermdiaires. On dfinit alors pij(m), la probabilit de transition en m tapes de ltat i ltat j : pij(m) = P[Xn+m = j Xn = i]
E (n)

n N

ainsi que la matrice de transition en m tapes: P(m) = [pij(m)] i,j

On peut appliquer encore une fois la formule des probabilits totales sur
j (n)

= P[Xn = j] =
i E

P[X n j X 0 i]P[X 0 i] =
i E

(0) i

( pijn)

- 20 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Et sous forme matricielle :

(n)

(0) (n)

Exercice: montrer que P(n) = Pn Pour la question 1 de lexemple 2, on calcule 2(4) sachant que 2(0) = 1. Pour cela il faut calculer P4. (0) = [0, 1, 0, 0, 0, 0]. Pour viter de calculer P4 on peut aussi utiliser la relation (n) = (0)P(n) qui nous demande de calculer 2(4) = 2(0)p22(4) = p22(4). En observant le graphe dtat-transition de lexemple 2, on peut constater quil ny a que 3 chemins possibles : - 2 4 3 1 2, avec probabilit : (1/2)(1)(1/4)(1/2) = 1/16 - 2 1 2 1 2, avec probabilit : (1/2)(1/2)(1/2)(1/2) = 1/16 - 2 1 1 1 2, avec probabilit : (1/2)(1/2)(1/2)(1/2) = 1/16 la probabilit daller de 2 2 en 4 tapes est donc 3/16. 2.4.2.3 Distribution du temps de sjour dans un tat. Proprit 1 : Le temps (ou le nombre dtapes) pass dans un tat dune CMD a une distribution gomtrique. Preuve : on sintresse au nombre dtapes passes dans un certain tat j. Si pjj = 0, on ne reste jamais dans ltat j. Si pjj 0, on a, chaque tape, une probabilit pjj de rester dans ltat j et une probabilit de (1 - pjj) den sortir.
1-pjj j Pjj j Pjj j Pjj j i j 1-pjj i j 1-pjj i j

La distribution du nombre m dtapes passes dans ltat j est donc donne par : (1 - pjj) pjjm. 2.4.2.4 Classification des tats Dfinition 2 : Une CMD est dite irrductible ssi de tout tat i on peut atteindre tout tat j (en un nombre fini dtapes) : i, j E, m > 1 tel que pij(m) 0 Exemple 3 : La CMD suivante est non irrductible (rductible) car elle comporte deux souschanes absorbantes {6, 7} et {3, 4, 5}.

- 21 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

1/4 6 Sous-chane Absorbante 1 7 1/4 1

1/2 2 1/2 1/2

4 Sous-chane Absorbante 2 1/2 1/2 5

Dfinition 3 : Un tat j est priodique si on ne peut y revenir quaprs un nombre dtapes multiple de k > 1 : k > 1 tel que pij(m) = 0 pour m non multiple de k. Dans lexemple 3, tat 6 est priodique de priode = 2. Etat 4 est apriodique. Dfinition 4 : La priode dune CMD est gale au PGCD de la priode de chacun de ses tats. Une CMD est dite priodique si sa priode est suprieure 1. La CMD de lexemple 3 est donc apriodique car son PGCD = 1. Dfinition 5 : Soit fjj(n) la probabilit que le premier retour en j ait lieu n tapes aprs lavoir quitt (f comme first return ). Soit fjj la probabilit de revenir en j aprs lavoir quitt : fjj =
( f jjn) n 1

1 (car les vnements du premier retour dans ltat j en 1, 2, tapes sont disjoints).
( nf jjn) . n 1

Soit Mj le temps moyen de retour en j : Mj = Un tat j est dit : - Transitoire si fjj < 1 - Rcurrent si fjj = 1 ; de plus il est o Rcurrent nul si Mj = o Rcurrent non nul si Mj <

Notons quun tat apriodique et rcurrent non nul est communment appel ergodique . Attention la diffrence entre fjj(n) et pjj(n) ! fjj(n) est la probabilit du premier retour ltat j qui a eu lieu ltape n (sans repasser par j aux tapes intermdiaires), tandis que p jj(n) est la probabilit de revenir en j en n tapes (y compris les chemins qui repassent ltat j par des tapes intermdiaires). Notons galement la diffrence entre pjj(n) et fjj. Lexemple 3 permet dclaircir ces diffrences : Etat 1 est transitoire car f11 =
n 1 ( f11n) = f11(2) = (1/2)(1/2) = < 1. Notons que f11(4) = 0

car on retourne ltat 1 pour la deuxime fois en 4 tapes. Par contre p11(4) = 1/16. Etat 6 est rcurrent non nul car f66 = f66(2) = 1 et M6 = 2* f66(2) = 2

- 22 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Etat 3 est rcurrent non nul car f33 = f33(3) + f33(5) + f33(7) + = ()1 + ()2 + ()3 +
1 1 = 1 et M3 = 3*()1 + 5*()2 + 7*()3 + = (2n 1) 1 = 5. 2 2 2 n 0 n 1 (3) (3) (5) (5) (6) (3) (3) (6) Notons que p33 = f33 , p33 = f33 , p33 = f33 *f33 = , Mais f33 = 0.
n

Exercice : Dans la CMD suivante, vrifier que f11(1) = 1/6, f11(2) = 1/8, f11(3) = 25/48, Calculer p11(1), p11(2), p11(3), ainsi que f11.

1/4 1/6 1 1/3 4 1/4 1/4 3/4 3 1/2 2 1/2

Proprit 2 : Tous les tats dune CMD irrductible sont de mme nature : - Soit tous transitoires ; - Soit tous rcurrents nuls ; - Soit tous rcurrents non nuls. Si de plus les tats sont priodiques, ils sont tous de mme priode. Proprit 3 : Tous les tats dune CMD irrductible finie sont rcurrents non nuls. 2.4.2.5 Autres paramtres de performances dune CMD Dfinition 6 : Soit fij(n) la probabilit daller de i j en exactement n tapes (donc sans passer par ltat j de faon intermdiaire). Comme pour le calcul de pij(n), on peut facilement tablir la relation suivante : pik f kj(n 1) pour n > 1. fij(1) = pij et fij(n) =
k j

Qui exprime simplement le fait que pour aller de i j en exactement n tapes, il suffit daller en une tape un tat k diffrent de j, puis daller de k j en exactement n-1 tapes (sans repasser par j). Attention la diffrence entre fij(n) et pij(n) ! Exercice : montrer que fij(n) =
k j

pik f kj(n

1)

pour n > 1.

Pour rpondre la question 4 de lexemple 2, selon la relation prcdente, on a : f22(1) = p22 = 0 f22(n) = p21 f12(n-1) + p24 f42(n-1) = 0,5 f12(n-1) + 0,5 f42(n-1) Il faut rappliquer cette relation f12(n-1) et f42(n-1). M2 =
n 1 ( nf22n) .

- 23 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Exercice : montrer que M2 =


n 1

( nf22n) = 2,5. (calculer directement en examinant tous les

chemins) Dfinition 7 : Soit fij la probabilit daller de i en j (pour la premire fois) en un nombre quelconque dtapes (probabilit datteindre j en partant de i) : fij
n 1

fij(n) .

fij
n 1

fij(n) fij(1)
n 2

fij(n) pij
n 2k j

pik fkj(n

1)

pij
k j

pik
n 2

( fkjn

1)

Pour m = n 1 :

fij pij
k j

pik
m 1

fkj(m) pij
k j

pik fkj

Ce rsultat exprime que pour aller de i en j (en un nombre quelconque dtapes), soit on y va directement (en une tape), soit on va un tat k diffrent de j et il reste aller de k j (en un nombre quelconque dtapes). Notons que dans une CMD irrductible les probabilits fij sont toutes gales 1. Pour rpondre la question 3 de lexemple 2, selon la relation prcdente, on a : f26 = p21f16 + p24f46 = 0,5f16 + 0,5f46 f16 = p11f16 + p12f26 = 0,5f16 + 0,5f26 => f16 = f26 f46 = p43f36 = f36 f36 = p36 + p31f16 + p32f26 + p35f56 = 0,25 + 0,25f16 + 0,25f26 + 0,25f56 Ltat 5 tant absorbant: f56 = 0. Finalement : f26 = 0,5f26 + 0,5(0,25 + 0,5f26) f26 = 0,5 Dfinition 8 : Soit Rij le nombre moyen de passage par ltat j sachant quon vient de ltat i : Rij =
n 1

n P[exactement n passage par j tat initial = i] =


n 1

nP (n) ij

Pij(n) = P[aller de i j](P[aller de j j])n-1P[ne pas revenir en j] = fij(fjj)n-1(1 fjj) Rij = fij(1 fjj)
n 1

n (fjj)n-1 = fij(1 fjj)(


n 1

(fjj)n) = fij/(1 fjj)

Notons que les Rij nont pas de sens dans les chanes irrductibles car Rij = . On peut enfin rpondre la question 2 de lexemple 2 : R23 = f23/(1 f33) f23 = p21f13 + p24f43 = 0,5f13 + 0,5f43 f13 = p11f13 + p12f23 = 0,5f13 + 0,5f23 => f13 = f23 f43 = p43 = 1 => f23 = 0,5f23 + 0,5 => f23 = 1 f33 = p31f13 + p32f23 = 0,5f13 + 0,25f23 = 0,5 On a donc R23 = 2. 2.4.2.6 Rgime permanent Lanalyse du rgime permanent dune CMD consiste sintresser la limite lorsque n tend vers linfini du vecteur des probabilits (n). - 24 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Proprit 4 : Dans une CMD irrductible et apriodique le vecteur des probabilits limites (0) (n) . j = lim j existe toujours et est indpendant de la distribution des probabilits initiales
n

Soit tous les tats sont transitoires ou rcurrents nuls (ce qui ne peut se produire que si la CMD est infinie) et j = 0 pour tout j E. Soit tous les tats sont rcurrents non nuls (ce qui est le cas si la CMD est finie) et les j peuvent tre obtenues par le systme dquations suivant : pour tout j E i pij j=
i E i i E

=1

La premire ligne peut scrire sous forme matricielle : = P, ce qui correspond bien au passage la limite sur le systme dquations liant les probabilits transitoires (n) = (n-1)P (ds linstant o cette limite existe), vue prcdemment. Exemple : Considrons la CMD suivante :
0,2 0,6 1 0,4 0,2 0,4 0,6 3 0,6 2

0, 6 0, 4 0 0, 2 0, 6 0, 2 0 0, 4 0, 6

Cette chane est clairement finie, irrductible et apriodique. On en dduit que tous ses tats sont rcurrents non nuls, que la limite, lorsque n tend vers linfinie de (n), existe, est indpendante de (0) et est de solution du systme dquations suivant : = P + 2+ 3 = 1 1 Avec la solution : = [0,25 0,5 0,25]. Il est intressant de vrifier ce rsultat par le calcul itratif en partant de diffrents vecteurs de probabilits initiales en appliquant (n) = (n-1)P. Voici les rsultats :
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13)

[1 0 0] [0.60000 0.40000 [0.44000 0.48000 [0.36000 0.49600 [0.31520 0.49920 [0.28896 0.49984 [0.27334 0.49997 [0.26400 0.49999 [0.25840 0.50000 [0.25504 0.50000 [0.25302 0.50000 [0.25181 0.50000 [0.25109 0.50000 [0.25065 0.50000

0.00000] 0.08000] 0.14400] 0.18560] 0.21120] 0.22669] 0.23601] 0.24160] 0.24496] 0.24698] 0.24819] 0.24891] 0.24935]

[0 1 0] [0.20000 0.60000 [0.24000 0.52000 [0.24800 0.50400 [0.24960 0.50080 [0.24992 0.50016 [0.24998 0.50003 [0.25000 0.50001 [0.25000 0.50000 [0.25000 0.50000 [0.25000 0.50000 [0.25000 0.50000 [0.25000 0.50000 [0.25000 0.50000

0.20000] 0.24000] 0.24800] 0.24960] 0.24992] 0.24998] 0.25000] 0.25000] 0.25000] 0.25000] 0.25000] 0.25000] 0.25000]

[0 0 1] [0.00000 0.40000 [0.08000 0.48000 [0.14400 0.49600 [0.18560 0.49920 [0.21120 0.49984 [0.22669 0.49997 [0.23601 0.49999 [0.24160 0.50000 [0.24496 0.50000 [0.24698 0.50000 [0.24819 0.50000 [0.24891 0.50000 [0.24935 0.50000

0.60000] 0.44000] 0.36000] 0.31520] 0.28896] 0.27334] 0.26400] 0.25840] 0.25504] 0.25302] 0.25181] 0.25109] 0.25065]

- 25 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

(14) (15) (16) (17) (18) (19) (20)

[0.25039 [0.25024 [0.25014 [0.25008 [0.25005 [0.25003 [0.25002

0.50000 0.50000 0.50000 0.50000 0.50000 0.50000 0.50000

0.24961] 0.24976] 0.24986] 0.24992] 0.24995] 0.24997] 0.24998]

[0.25000 [0.25000 [0.25000 [0.25000 [0.25000 [0.25000 [0.25000

0.50000 0.50000 0.50000 0.50000 0.50000 0.50000 0.50000

0.25000] 0.25000] 0.25000] 0.25000] 0.25000] 0.25000] 0.25000]

[0.24961 [0.24976 [0.24986 [0.24992 [0.24995 [0.24997 [0.24998

0.50000 0.50000 0.50000 0.50000 0.50000 0.50000 0.50000

0.25039] 0.25024] 0.25014] 0.25008] 0.25005] 0.25003] 0.25002]

On constate que la convergence vers le vecteur limite est assez rapide dans la pratique, et bien indpendante du choix du vecteur des probabilits initiales. Dans le cas o les probabilits j existent et sont non nulles (donc lorsque tous les tats sont rcurrents non nuls) on dit que la CMD admet un rgime stationnaire. Les probabilits j sont alors souvent appeles les probabilits stationnaires de la CMD. Remarque 1 : Lquation j = i pij scrit de faon quivalente j pji = i pij (car
i E i E i E

p ji = 1). Cette quation sinterprte de la faon suivante :


i E

jpji est le nombre moyen de

transition de ltat j vers ltat i par unit de temps.


i E

pji est donc le flux moyen de sortie

de ltat j. De la mme faon,


i E

pij est le flux moyen dentre dans ltat j. Lquation

reliant les probabilits en rgime permanent (probabilit stationnaire) sinterprte donc comme : Pour tout tat j, flux sortant de ltat j = flux entrant dans ltat j Remarque 2 : Ds linstant o les probabilits stationnaires existent, on montre que j = 1/Mj pour tout tat j. Cela donne une faon simple de calculer Mj, le nombre moyen dtapes pour revenir en j.

2.4.3 Chanes de Markov paramtre Continu


Dfinition 9 : {X(t)}t 0 est une CMC ssi P[X(tn) = j X(tn-1) = in-1, X(tn-2) = in-2, , X(t0) = i0] = P[X(tn) = j X(tn-1) = in-1] n et t0 < t1 < < tn On sintresse uniquement aux CMC homognes. Cest dire celles dont la probabilit P[X(tn) = j X(tn-1) = in-1] ne dpendent pas des instants dobservation tn et tn-1 mais uniquement de la dure (tn - tn-1) qui spare les deux observations. On note alors : pij(t) = P[X(s+t) = j X(s) = i] s 0 Proprit 5: Le temps pass dans un tat dune CMC homogne a une distribution exponentielle. A tout tat i de E, on associe donc une loi exponentielle Ti de taux i. Autrement dit, la densit de probabilit associe au temps pass dans un tat i est : fi(t) ie it . Suite cf. [Baynat00]

2.5 Processus de Naissance et de Mort et file M/M/1


(cf. [Kleinrock75], [Baynat00] pour plus de dtails)

- 26 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Exercice : Contrle dadmission par Leaky bucket Pour fournir une certaine QoS (Quality of Service) un rseau implmente souvent des mcanismes de contrle daccs pour limiter la source le flux entrant dans ce rseau (CAC : Call Admission Control dATM ou de RSVP en est un exemple). Le mcanisme le plus connu est le leaky bucket ou token bucket dont le fonctionnement peut tre expliqu laide de la figure ci-dessous.
Jetons arrivent avec priode T Jeton dtruit si buffer plein Arriv de messages : Poisson de taux Rejet si pas de jeton disponible

RESEAU

Les messages arrivent selon un processus de Poisson de taux . Laccs au rseau est limit par la disponibilit des jetons dans le buffer dont la capacit est limite B = 3. Un message arriv lentre du rseau entre dans le rseau en prenant un jeton si au moins un est disponible. Si aucun jeton nest dans le buffer, le message est rejet. Un jeton est cr toutes les T secondes (ou un taux r = 1/T). Si le buffer est plein, le jeton est dtruit. Autrement il est stock dans le buffer. Avec un tel mcanisme, le flux dentre dans le rseau durant [0, t] est limit rt + B (cf. protocole RSVP) On sintresse au systme des instants particuliers tn = nT o un jeton vient dtre cr. Un slot de temps est dfini comme un intervalle [tn, tn+1[. Au dbut dun slot il peut donc y avoir entre 1 et 3 jetons dans le buffer. (Le buffer ne peut pas tre vide cet instant car un jeton vient dtre cr !). On note {Xn}n le nombre de jetons dans le buffer linstant tn. Soit an la probabilit quil arrive n messages pendant un slot de temps T. Soit bn la probabilit quil arrive au moins n messages (donc n ou plus) pendant un slot T. 1. Donner les probabilits : a0, a1, a2 et b1, b2, b3 2. Si, linstant tn, il y a 1 jeton disponible, combien peut-il y avoir de jetons linstant tn+1 ? Avec quelles probabilits ? Si, linstant tn, il y a 2 jetons disponibles, combien peut-il y avoir de jetons linstant tn+1 ? Avec quelles probabilits ? Si, linstant tn, il y a 3 jetons disponibles, combien peut-il y avoir de jetons linstant tn+1 ? Avec quelles probabilits ? 3. En dduire que le processus {Xn}n est une Chane de Markov Discrte. Donner le graphe et la matrice de transitions associes. 4. Cette chane est-elle irrductible ? Priodique ? Admet-elle un tat stationnaire ? Justifier vos rponses. 5. Calculer les probabilits stationnaires k pour que le buffer contienne k jetons. 6. Les probabilits stationnaires k peuvent aussi tre considres comme les proportions de temps pendant lesquelles le buffer contient k jetons. Quel est le nombre moyen de jetons dtruits par seconde ? 7. En dduire le dbit moyen dentre e des messages dans le rseau ainsi que la probabilit de rejet dun message.

- 27 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

3 File M/G/1
3.1 Introduction
Jusqu' prsent, les files d'attente tudies ont une distribution de temps de service exponentielle (M/M/1, ). Cette distribution peut tre considre approprie pour modliser la dure de conversations tlphoniques dans un systme de tlcommunication classique mais s'avre insuffisant dans un systme de communication numrique o la taille d'un paquet de donnes est souvent constante. La file M/D/1 est alors ncessaire. En gnral, la taille d'un paquet peut suivre une loi gnrale et dans ce cas, on parle de la file M/G/1 (G comme loi gnrale). Nous verrons que M/D/1 et M/M/1 peuvent tre considres comme des cas particuliers de M/G/1. Considrons le modle de file d'attente suivant :
Poisson d(t) n(t) m(t)

Fig. 1 Modle de file d'attente M/G/1 Nous cherchons caractriser le nombre de client dans le systme n(t) et le temps de sjour d'un client d(t). Dfinissons d'abord les paramtres suivants : Le flux darrive des clients suit le processus de Poisson avec un taux de clients par unit de temps. Le nombre de clients arrivs durant [0,t ] est donc donn par :
Pk (t ) e
t

( t)k k!

Le temps de service est une variable alatoire continue. Sa distribution est note par : M(t) = P[Temps de service t]

La fonction de densit (p.d.f) du temps de service est dfinie par : m(t) = dM(t)/dt

Le temps moyen de service est alors :

m
0

tm(t )dt

- 28 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

3.2 Chanes de Markov induite


La chane de Markov induite (Embedded Markov Chain) est largement utilise dans l'analyse des systmes probabilistes. Il consiste choisir la fois une suite des instants dans le temps pendant l'volution d'un processus et un tat de sorte que la chane de Markov se forme. A des instants t1 t2 ... ti, ... on observe les variables d'tat correspondantes S1, S2, ..., Si, ... Grce la chane induite, on a : P[SN = lN | S1 = l1, S2 = l2, ..., SN-1 = lN-1] = P[SN = lN | SN-1 = lN-1] Pour notre modle de la figure 1, nous choisissons le nombre de clients dans le systme comme la variable d'tat dcrivant l'volution du processus. Les instants o l'on observe le systme correspondent aux instants de dpart d'un client (cf. Fig.2).

n(t)
3 2 1 i-1 i i+1 i+2

Fig. 2 Evolution du nombre de clients dans le systme Notons que : ni : nombre de clients dans le systme (ceux dans la file + celui dans le serveur) aux points d'observation (instants o un client quitte le systme), ai : nombre de clients arrivs durant le temps de service d'un client. L'quation suivante dcrit l'volution du systme : ni+1 = ni - U(ni) + ai+1 avec U (x)
0, x 1,x 0 0

(1)

On voit que le nombre de clients l'instant i+1 ne dpend que de celui de l'instant i et les nouvelles arrives. Ce nombre de clients forme donc une chane de Markov paramtre discret mais avec des instants de changement dtat quelconques. On peut montrer que n i a une distribution stationnaire ssi m 1. On dfinit : (k ) lim P[ni k ]
i

Grce la stationnarit, on a : lim E[ni 1]


i

lim E[ni ] n

(2)

Prenons l'esprance de chaque ct de l'quation 1 et d'aprs l'quation 2, on a :

- 29 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

E[U(ni)] = E[ai+1]

(3)

E[ai 1]
0

E[ai

MessageLength tm(t )dt


0

t ]m(t )dt m

tm(t )dt
0

E[U(ni)] =P[ni > 0] = 1 - P0 D'aprs (3), on a : P0 = 1 (4)

3.2.1 Fonction gnratrice de ni


Pour obtenir les paramtres caractristiques des variables alatoires discrtes {ni}, nous allons suivre l'approche par fonction gnratrice (cf. fin de ce chapitre pour un rappel). La fonction gnratrice de {ni} est la transform en Z de sa fonction de densit qui est dfinie par :

Pi (z)
De l'quation 1, on a:

E[z ni ]

k 0

z k P[ni

k]

Pi 1(z)

E[z

ni U ( ni ) ai

Comme ai et ni sont indpendants, on a alors :


Pi 1(z) E[z
ni U ( ni )

]E[z

ai

] E[z

ni U (ni )

]A(z)

(5)

o A(z)

E[z i ] est indpendant de l'indice i grce la stationnarit.

Pour le terme qui reste, par la dfinition de la fonction gnratrice (cf. 3.3), on a :

E[z ni
Comme on peut crire :

U ( ni )

zk
k 0

U (k )

P[ni z 1(

k] z k P[ni

E[z ni
On a alors :

U ( ni )

] P0
ni U ( ni )

k 1

z k 1P[ni
1

k ] P0

k 0

k ] P0 )
(6)

E[z

] P 0 z (Pi (z) P0 )
1

De (5) et (6) on a :
Pi 1(z) [P0 z (Pi (z) P0 )]A(z)

Supposons que la solution stationnaire existe :


i

lim Pi 1(z )

lim Pi (z )

P(z )

- 30 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

on a la f.g. de ni sous forme gnrale (En fait, il suffit que le flux darrive soit un processus stationnaire et incrments indpendants1, mais sans ncessairement quil soit Poissonien) :

P( z )

P0 (1 z ) A( z ) A( z ) z

Dans le cas du flux darrive Poissonien, on a P0 = 1 - . Ce qui nous donne finalement :

P(z)

(1

)(1 z)A(z) A(z) z

(7)

Thoriquement l'quation 7 nous donne toutes les informations sur la v.a. discrte ni. Par exemple la transform inverse de Z, i.e, par drivs successives on peut obtenir sa distribution stationnaire (k) (cf. quation 13). La suite de ce chapitre donne le calcul des valeurs moyennes du nombre de clients et du temps de sjour dun client.

3.2.2 Nombre moyen de clients dans la file M/G/1


n
La driv de l'quation 7 donne : P'(z)[A(z) - z] + P(z)[A'(z) - 1] = (1 - ) (-1)A(z) + (1 - )(1 - z)A'(z) En drivant encore une fois (rgle de LHopital), on obtient : P"(z)[A(z) z] + 2P'(z)[A'(z) 1] + P(z)A"(z) = 2(1 Avec z = 1 et comme A(1) = P(1) = 1, on a : )(-1)A'(z) + (1 - )(1 - z)A"(z)

P (z) z

P (1)

(1 )A (1) 1 A (1)
a

A"(1) 2(1 A (1))

A(z)

E[z ]
0
t

E[z dure _transmission

t ]m(t )dt

A(z)

zn
0n 0

( t )n e n!

m(t)dt
0

t(1 z)

m(t)dt

M ( (1 z))

(8)

o M(s) est la transform de Laplace de m(t).

Un processus stochastique X(t) est dit stationnaire ssi les v.a. X(s+t) X(s) et X(t) X(0) sont distribues selon la mme loi. Un processus stochastique X(t) est dit incrments indpendants ssi les v.a. X(tn) X(tn-1), X(tn-1) X(tn-2), , X(t1) X(t0) sont indpendants.

- 31 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

A (z) z

M (0)
2 1

m
2

A"(z ) z

M "(0)

m2

Finalement :
2

m2 )

2(1

(9)

3.2.3 Temps de sjour de client d(t)


Grce aux arrives Poissoniennes, et en imaginant une nouvelle CMD aux instants distribus selon d(t), on a :

P(z)
P(z) [
0 n

E [z ]
0
t

E[z dlai
e
0

t ]d(t )dt
d (t)dt D( (1 z))

( t )n e n! 0

z n ]d(t )dt

t(1 z)

La transform de Laplace de d(t) est donc : D(s) = s(1- )M(s)/[s- + M(s)] (10)

La transform inverse de Laplace nous donne la distribution de d(t). Le temps moyen de sjour d'un client peut tre obtenu soit en drivant l'quation 10 soit en appliquant la formule de Little : n m2 d m (11) 2(1 ) C'est la formule de Pollaczek-Khinchin. On remarque que cette quation est lie celle de 9 par la formule de Little (peut tre considre comme une sorte de dmonstration de la formule de Little).

3.2.4 Cas particuliers : M/M/1 et M/D/1


Pour un temps de service exponentiel de paramtre , m(t )

e
s

et (12)

M (s)

E [e

sM

]
0

st

[ e

]dt

En remplaant s par (1-z) on a :

A(z )
et :

(z 1)
m 1

A (z) z

(z 1)]

2 z 1

- 32 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

A"(z ) z

2
1

(z 1)]

3 z 1

Selon l'quation 10 et 12, la transform de Laplace de dlai est : D(s) = ( - )/(s + - )

d
P(z) =

z)

Pour un temps de service constant (ou dterministe), E[m(t )] m , et (t),t m m (t ) 0,ailleurs

M (s)
0

m( t )e dt
(1

-st

sm

P(z)

)(z 1)e (z z e (z 1) s(1 s


2 2(1

1)

D (s)

)e sm e sm
2

m (2 2(1

) )

3.3 Rappel sur la fonction gnratrice (f.g.)


Pour une variable alatoire discrte x, sa f.g. est dfinie par :

X (z)
o z est une variable complexe. Plus gnralement, pour une v.a.d. x

E [z x ]

z k P[x
k 0

k]

{0, 1, }, on a lesprance de f(x) :


f (k )P[ x
k 0

E[ f ( x)]

k]

Dmonstration : On dmontre lquation prcdente en utilisant la probabilit conditionnelle (trs utile pour lobtention des f.g. car permet de dcomposer une somme en plusieurs termes plus faciles traiter) E[f(x)] = E[f(x) x=0]P[x=0] + E[f(x) x=1]P[x=1] + ...

- 33 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

= E[f(0)]P[x=0] + E[f(1)]P[x=1] + ... = f(0)P[x=0] + f(1)P[x=1] + ... =


k 0

f (k )P[ x

k]

A partir de cette f.g., nous pouvons obtenir facilement les renseignements suivants : - La densit de probabilit (p.d.f) : 1 d i X (z) P[x i ] z 0 i! diz - Le premier moment : dX (z) E[x] iz i 1P[x i] z 1 z 1 dz i 0 - Le second moment : d 2 X (z) dX (z) 2 E[x ] z 1 2 d z dz

(13)

iP[x
i 0

i]

z 1

4 Evaluation des protocoles/rseaux


4.1 Evaluation de performances de TDMA
4.1.1 Modle
TDMA (Time Division Multiple Access) est une des techniques de transmission utilise dans de nombreux systmes de transmission numrique (Multiplexeur, commutateur, ). Le fonctionnement du TDMA peut tre reprsent par le schma suivant :
T 1 2 . . . N 1 2 ... N 1 2 ... N ...

Fig. 1 Fonctionnement du TDMA Chaque file est servi de faon cyclique par le serveur (qui reprsente le mdium de transmission commun, souvent un cble de haut dbit) avec une priode de T. Un client ne peut quitter donc la file tant que linterrupteur (voir Fig. 1) nest pas ferm sur la file. Si la file est vide au moment de la fermeture de linterrupteur, une tranche de temps (appel un slot en anglais) sera quand mme perdue. Evaluer les performances dun systme TDMA revient tudier une seule file de la Fig. 1. L'tude de TDMA utilise les rsultats du M/G/1. Mais il convient de remarquer que TDMA est lgrement diffrent de M/D/1. En effet ans TDMA le serveur peut tre oisif mme s'il y a des clients en attente dans des files d'attente car le serveur est allou en ce moment une file - 34 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

vide. On parle alors des files d'attente avec serveur intermittant (intermittently available server). Pour que nos rsultats soient les plus gnraux possibles, on suppose dans un premier temps que le flux d'arrive des clients est un processus Accroissements Indpendants et Stationnaires (A.I.S). On verra ensuite le cas dun flux darrive Poissonnien lorsquil sagit des calculs concrets. On s'intresse aux grandeurs suivantes : X(t) = nombre de clients dans la file d'attente l'instant t. Wq(k) = temps d'attente du kme client (ou Dlai). ainsi qu' l'existence des lois limites de ces deux grandeurs lorsque k Notons que nous ne comptons pas le client dans le serveur.

+ et t

+.

4.1.2 Etude analytique


4.1.2.1 Etude du nombre de clients dans la file Comme il a t dit que le principe d'tude est comparable celui utilis dans M/G/1. Quand on considre le nombre de client dans une file comme la variable dtat et on lobserve des instants tn = nT, on obtient une CMD :

X(t) 3 2 1

Points dobservation de priode T

(n-1)T

nT

(n+1)T

Fig. 2 : CMD dune file TDMA On note: Xn = X(nT-): nombre de clients dans la file juste avant la fermeture de l'interrupteur. Mn = X(nT+): nombre de clients dans la file juste aprs la fermeture de l'interrupteur. An+1: nombre de clients qui sont arrivs durant ]nT, (n+1)T]. o T est la dure constante sparant deux fermetures conscutives de l'interrupteur. ( (t) t0) ( (0)=0): nombre de clients qui sont arrivs durant ]0,t], on a alors ((n+1)T) (nT) = An+1. Le modle dans Fig. 2 peut tre dcrit par l'quation de rcurrence ci-dessous: Xn+1 = (Xn - 1)+ + An+1 , x+ = max(0,x) (1)

Cette quation apparat dans l'tude de M/G/1. Signalons que les variables alatoires Xn et An n'ont pas la mme signification que dans M/G/1. En effet, dans M/G/1:

- 35 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Xn est le nombre de clients dans le systme l'instant o le nme client quitte le systme. An est le nombre de clients qui sont arrivs durant le service du nme client. On peut dmontrer que la distribution limite existe. La condition de stationnarit est T< 1, o est le taux d'arrive de clients. En fait, si les variables alatoires A1, A2, . . ., An, ... sont indpendantes et identiquement distribues de mme loi que A alors (Xn)n0 est une chane de Markov homogne. En particulier: si ( (t) t0) est un processus Accroissements Indpendants et Stationnaires, alors les variables alatoires An sont indpendantes et identiquement distribues. Il est clair que: Mn = max(Xn - 1, 0) = (Xn - 1)+ et Mn vrifie : Mn+1 = max(Mn + An+1 - 1, 0) (2)

La connaissance de Xn fournit Mn; par contre, si Mn = 0, on ne peut reconstituer Xn qui peut tre 0 ou 1. Il est donc prfrable d'tudier Xn et d'en dduire Mn. On note que X(t) = Mn + (t) - (nT); t ]nT,(n+1)T] (3)

L'tude de la chane (Xn) est faite dans la partie M/G/1. Nous prenons directement les rsultats. La distribution limite existe pour cette chane de Markov quand = T < 1. La fonction gnratrice P(z) s'crit : P(z) o A(z)
A

E[z ] = {(1- )(1-z)A(z)}/{A(z)-z}

(4)

E(z ) est la fonction gnratrice de la variable alatoire A ou encore de (T).

On sait que la distribution limite de Xn est dfinie par: (k)

limP[X n k]
n

et on dfinit la distribution stationnaire de Mn :

~(k) = limP[M n k] = (k+1)si k > 0 (0)+(1) si k = 0 n


M a donc pour distribution limite ( ~(k) ). En drivant l'quation (4), nous obtenons le nombre moyen de clients dans la file la fin de chaque slot : Nq = E[X] = (1/2)[E(A) + Var(A)/(1-E(A))] (5) C'est la formule de Pollaczek-Khinchin. On peut obtenir galement le nombre moyen de clients juste aprs la fermeture de l'interrupteur: - 36 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

E[M] = E[X] - (1-(0)) = Nq -

(6)

Une observation intressante est que l'quation (1) est exactement la mme que celle de M/G/1. Est-ce que cela veut dire que M/G/1 (sans considrer le client qui est dans le service) et notre modle ont les mmes performances? La rponse est non. C'est vident qu' cause de l'interrupteur, les clients dans notre modle sont obligs d'attendre plus longtemps pour quitter le systme. Une tude en dtail de M/G/1 montre que l'observation du nombre de clients aux instants o un client quitte le systme sera toujours la mme que les observations n'importe quel instant alatoire [GRO 85]. C'est une proprit trs particulire de M/G/1. Par contre, on peut dmontrer qu'un systme autonome comme notre modle n'a pas cette proprit intressante. Si lon observe le modle de la figure 2 des instants quelconques, l'tat stationnaire n'existe plus. En effet, X(t) pour un t quelconque n'admet pas de distribution limite quand t (i.e. X(t) ne converge pas en loi). Le nombre de clients dans la file n'importe quel instant t est donn par l'quation 3. En posant tn = nT + h et en prenant l'esprance de l'quation (3), on obtient le nombre moyen de clients dans la file observ l'instant h. E[X(tn)] = E[Mn] + E[ (h)] (7)

E[Mn] est le nombre moyen de clients quand on observe le systme juste aprs la fermeture de l'interrupteur, il est donn par l'quation 6. En particulier, quand ( (h)) est un processus Poissonnien, on a : - E[ (h)] = h. - E[X] = + 2/[ (1- )] - E[M] = E[X] = /[2(1- )]

E[X(tn)] a la forme prsente sur la figure 3.

E[X(tn)] E[X ] E[M ] t Fig. 3 Esprance du nombre de clients en fonction du temps


L'esprance est fonction du temps h. Si les points d'observation qu'on a choisi sont les dbuts de chaque slot, h = 0 donc l'esprance obtenue est bien E[M]. Pour obtenir la moyenne sur h, il suffit de "moyenner" l'quation 3 sur l'intervalle [0,T] et ce qui nous donne:

nT

(n+1)T

(n+2)T

(n+3)T

...

Nq

lim

1 T

+T E[X(t)]dt =

2(1

(8)

- 37 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

4.1.2.2 Etude du dlai d'attente Le dlai d'attente d'un client dans la file est compos des lments suivants: - Un nouveau client arriv trouve le systme vide. S'il arrive h secondes aprs le dbut de l'intervalle considr, un dlai de (T - h) secondes aura lieu avant qu'il quitte le systme. T secondes est la longueur d'un intervalle sparant deux fermetures conscutives de l'interrupteur. - Soit L le nombre de clients qui sont arrivs pendant l'intervalle (0, h). Donc, le temps pour qu'ils quittent tous le systme est L T. - Soit Xn le nombre de clients dans la file la fin de l'intervalle prcdent. Compte tenu qu'un client quitte la file au dbut de l'intervalle prsent, le temps pour qu'ils quittent tous la file est alors T (Xn - 1)+. Ainsi, en supposant la distribution limite atteinte (ce qui permet de supprimer l'indice n): Wq = (X- 1)+ T + L T + (T - h) (9)

La transforme de Laplace du dlai peut tre obtenue partir de cette quation comme suivant. Le premier terme est indpendant des autres, selon lquation 6 du chapitre 3 (M/G/1) on a la fonction gnratrice de (X- 1)+: E[z(X-1)+] = E[zX-U(X)] = P0 + z-1(P(z) - P0) = 1 o P(z) est la f.g de X. Remplacer z par e-sT la transforme de Laplace de (X- 1)+ T devient: + z-1[P(z) - (1- )] (10)

~ + P(s) = E[e-sT(X-1) ] = (1 - ) + esT(P[e-sT] (1 - ))


Considrons maintenant la variable alatoire: f = LT + (T-h)

(11)

On note que les variables alatoires L et h ne sont pas indpendantes. Un calcul de la probabilit conditionnelle nous donne P[t < f t+dt]. Exercice : calculer cette probabilit P[t < f t+dt] La transforme de Laplace de f est alors: -sT e- T[1-e ] - e-sT F(s) = T{s - [1-e-sT]} La transforme de Laplace de Wq est donc:

(12)

- 38 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

~ Wq(s) = P(s)F(s)
En drivant l'quation 13 au point s = 0, on obtient le dlai moyen.

(13)

On peut aussi calculer le dlai moyen directement. Puisque l'esprance de la somme des variables alatoires est la somme des esprances de chaque variable mme si les variables ne sont pas indpendantes. On peut prendre l'esprance de l'quation 9. E[Wq ] = E[(X - 1)+] T + E[L] T + T - E[h] (14)

Considrons le client en question qui arrive h secondes aprs le dbut de lintervalle. La probabilit que L clients arrivent dans lintervalle (0, h) en suivant le processus Poissonnien est donne par : P[L clients en h secondes] = ( h)Le- h/L! Par les caractristiques du processus de Poisson on sait aussi qutant donn quil y a au moins un client qui arrive dans un intervalle, linstant de cette arrive suit une distribution uniforme dans lintervalle. Ce qui est vrai pour tous les clients. On sait que h est uniformment distribu dans [0,T] et on a: - E[h] = T/2; - E[L] = T/2; - E [(Xn - 1)+] = E[X] E[M]. On obtient le dlai moyen d'un client dans la file: T E(Wq) = 2 + T2 2(1- ) (15)

On peut remarquer que les quations 8 et 15 sont relies par la formule de Little. Notons galement que le temps de rponse = E(Wq) + 1 si lon suppose que la dure dun slot = 1.

4.1.2.3 Rsum sur les rsultats obtenus 1) En ce qui concerne le nombre de clients dans la file: Le processus dcrit par l'quation 1 est une chane de Markov admettant une distribution limite. La distribution de probabilit limite (et stationnaire) du nombre de clients dans la file d'attente aux instants nT- (juste avant la fermeture de l'interrupteur) est donne par sa fonction gnratrice: P(z) o: A(z) E[zX] = (1- )(1-z)A(z) A(z)-z T (<1).

E(zA) est la fonction gnratrice de la variable alatoire An et

- 39 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

La fonction gnratrice P(z) permet de reconstituer la distribution limite de probabilit: ((k))k0. On en dduit le nombre moyen de clients l'instant nT- : E[X] = (1/2)[E(A) + V(A)/(1-E(A))] Et le nombre moyen l'instant nT+: E[M] = E[X] - (1-(0)) = E[X] Le nombre moyen de clients dans la file N q est donn par:

Nq

lim

1 T

+T E[X(t)]dt = E[X] - 2

En particulier, lorsque le processus du flux d'arrive est Poissonnien de paramtre :

Nq

2 (1- )

2) En ce qui concerne le dlai d'attente d'un client: La distribution de probabilit limite du dlai d'attente Wq est donne par sa transforme de Laplace: e + esT[P(e-sT) - (1- )]}
-

Wq(s) = {[1o:

T[1-e-sT] - e-sT T{s - [1-e-sT]}

P(e-sT) est donn par l'quation (4) en remplaant z par e-sT. On en dduit le dlai d'attente moyen d'un client: T E(Wq) = 2 + T2 2(1- )

Exercice : Etude de la chane {xi} induite des instants o un client quitte le systme. Soit : - xi le nombre de clients linstant o le ime client quitte la file - ai le nombre de clients arrivs pendant un intervalle T - i le nombre de clients arrivs pendant le temps alatoire Y - Y le temps dattente quand un client arrive et trouve une file vide (un client qui est arriv dans un systme vide est oblig dattendre le dbut de lintervalle suivant) On peut avoir la relation de rcurrence suivante pour dcrire lvolution de {xi} :

- 40 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

xi+1 = xi U(xi) + ai+1U(xi) + i+1[1 - U(xi)] Calculer P(z) = E[zx] et le nombre moyen de clients dans la file.

4.2 M/G/1 et valuation de performances des commutateurs


Dans les rseaux dinterconnexion (Internet ou rseaux de tlcommunication), un des problmes essentiels est la conception et le dimensionnement de commutateurs (switch, routeur, autocommutateur, ). Typiquement un commutateur assure la fonction dinterconnecter N lignes en entre aux N lignes la sortie (Fig. 4)

E N T R E E

1 2 N

1 2 N

S O R T I E

Fig. 4 Equipement dinterconnexion Une faon simple dinterconnexion est lutilisation de cross-bar (Fig. 5)
1 2

N 1 2 N Fig. 5 Commutateur Cross-bar NxN

Dans le contexte de commutation par paquet, nous cherchons viter le rejet de paquets cause des lignes de sortie occupes. Par exemple, si le dbit de transmission est le mme pour toutes les lignes (en entre et en sortie), deux paquets en provenance des lignes 1 et 2 la destination dune mme sortie ne pourront pas tre transmis en mme temps. Nous utilisons alors une mmoire tampon (buffer) pour stocker momentanment les paquets. Deux implmentations de buffer peuvent tre envisages dans un commutateur du type cross-bar : buffer la sortie et buffer en entre (Fig. 6)

- 41 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Buffers la sortie 1 2

Buffers lentre 1 2

N 1 2 N

N 1 2 N

Fig. 6 Commutateur avec buffers Par intuition on peut imaginer que le buffer en entre conduit une file dattente plus longue (ou un temps moyen dattente plus long) que le buffer la sortie. Ceci car un paquet en attente dans un buffer en entre pour une certaine sortie peut tre bloqu par un autre paquet mme si la sortie du premier est libre. Cette intuition peut tre vrifie en quantifiant les deux systmes. Dans la suite nous ne traitons que le cas des buffers la sortie. Exercice : On considre un commutateur ATM compos de N lignes en entre et N en sortie de dbit 155 Mb/s. Le commutateur fonctionne avec un dbit N fois plus lev que le dbit d'une ligne (155xN Mb/s). A la sortie d'une ligne on risque d'avoir jusqu' N trames d'ATM (appel cellule qui est de taille constante 53 octets) durant un "slot" si les N trames en entre ont la mme destination. Un buffer (ou une file d'attente) est donc plac devant chaque ligne de sortie afin de les stocker avant de les transmettre.
un slot

Commutateur de cellules d'A TM


1 1 2 2 . . . N N N 2 . . . N 1 1

N 1

3 1

2 N 7 1 2 . . . 1 N ENT REE . . . 4 2

SORTIE

On s'intresse au nombre de cellules Q(t) et temps d'attente d'une cellule W dans une des files d'attente. Hypothse : Processus d'arrive est Bernoulli avec p comme probabilit qu'une cellule arrive une entre durant un slot. Chaque cellule a une probabilit de 1/N pour une destination donne. Modle : Quand on s'intresse au nombre de cellules, en rgime stationnaire, dans la file la fin de chaque slot Qm, juste aprs le dpart d'une cellule, on peut crire : - 42 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Qm+1 = max (0, Qm + Am+1 - 1) o Am est le nombre de cellules arrives dans la file d'attente durant le mime slot, qui est le mme que durant nimporte quel autre slot not A. Sa distribution est Binomiale : i N i ai Prob[A i] (N)( p ) (1 p ) i N N et sa f.g. : N p p A( z ) z ia i ( 1 z )N N N i 0 (On remarque que Qm = Xm - u(Xm), o Xm est le nombre de cellules dans la file d'attente la fin du mime slot juste avant le dpart d'une cellule, avec Xm+1 =Xm + Am+1 - u(Xm).) Travail faire : 1 - Montrer que :

Q( z )

(1

p )( 1 z ) A( z ) z

2 - Calculer le nombre moyen de cellules dans la file d'attente Q ainsi que le temps moyen d'attente d'une cellule W . 3 Que devient une file de sortie quand N ?

- 43 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

5 Evaluation des protocoles daccs alatoire


Cette famille de protocoles est reprsente par Aloha et CSMA/CD. Une description dtaille de ces protocoles peut tre trouve dans des ouvrages de rseaux. Ces protocoles, bien quils soient anciens (annes 1970-1980), sont largement utiliss dans les rseaux les plus rpandus (Aloha dans les rseaux radiomobiles GSM, CSMA/CD dans les rseaux Ethernet, CSMA/CA dans le rseau sans fil IEEE802.11). Nous nous limitons tudier dans ce chapitre le rendement de protocoles Aloha pur, Aloha segment et CSMA non-segment et nonpersistant afin d'illustrer l'volution en termes de performances de cette famille de protocoles.

5.1 Rendement de Aloha pur


Les hypothses sont: Les messages sont de taille constante l dont la dure de transmission est m (avec l = m*Dbit). Le flux d'arrive de messages suit une loi Poissonnienne avec un taux ( t)k messages/seconde. Pk(t) = k! e- t La file d'attente de chaque station est de capacit 1 et le nombre de stations est infini. Le systme peut tre modlis par la Fig. 1

Pr[collision]

Fig. 1 Modle de Aloha pur o est le taux de messages transmettre par le mdium de transmission (transmission russite + retransmission cause de collisions). On suppose que la retransmission est non-persistante, i.e., une fois entr dans une collision, les stations impliques retransmettent leur messages aprs un temps d'ajournement alatoire qui suit une loi exponentielle. Comme la population de messages est infinie, chaque message peut donc tre considr comme s'il appartienne une nouvelle station. C'est dire que chaque message nouvel arrive peut trouver une station vide. On peut considrer le systme comme s'il y ait un nombre infini de stations. On peut montrer que est aussi Poissonnien (un flux Poissonnien sadditionne et sclate se split ). Pour un message arriv l'instant t, la probabilit d'entrer en collision avec d'autres messages est donne par (cf. Fig. 2): P[collision] = 1 - P[pas de message un message arriv]
P(i 0 j 1)

= 1 - P2m[i=0 j=1] = 1 P(j 1) P(i=0)P(j=1) =1= 1 - e-2 m P(j=1)

(1)

- 44 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

(attention: il s'agit ici d'une probabilit conditionnelle!)

Temps t-m t t+m


Fig. 2 Occupation du mdium de Aloha pur On a: (1 - e-2 m) On dfinit: - le rendement m - la charge du mdium R = m L'quation 2 devient alors: Re-2R (3) (2)

Le rendement maximal 18,4% est atteint lors que la charge du mdium est de 50% (cf. Fig.4).

5.2 Rendement de Aloha segment


Le protocole Aloha segment propose une amlioration du rendement en n'autorisant la transmission qu'aux instants discrts spars par des intervalles de temps fixe qui est gale m (cf. Fig. 3).
M1 M2 n'entre pas en collis ion

Temps t-m t t+m

Fig. 3 Occupation du mdium de Aloha segment Pour un message qui arrive entre l'intervalle t-m et t, il n'entre en collision que si un ou plusieurs autres messages arrivent durant cet intervalle. Pour un message qui commence tre transmit l'instant t, la probabilit d'entrer en collision avec d'autres messages est donc: P[collision] = 1 - e- m et le rendement est donc: Re-R (5) (4)

- 45 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Figure 4 montre le rendement des mthodes Aloha segment ainsi que Aloha pur en fonction de la charge. Pour la mthode Aloha segment, le rendement maximal 36,8% est atteint lors que la charge du mdium est de 100%.

0,4 0,35 0,3 A loha pur A loha s egment

Rendement

0,25 0,2 0,15 0,1 0,05 0 0,01

0,1 Char ge

10

Fig. 4 Rendement des mthodes Aloha en fonction de la charge

5.3 Rendement de CSMA non-segment et non-persistant


CSMA non-segment propose une amlioration de rendement en ajoutant chaque station la fonction d'coute du mdium. Pour diminuer les collision, une station ne peut mettre un message qu'en dtectant un silence du mdium. Les collisions ne sont pas exclut cause des dlais de propagation. Si une station entre en collision, elle retransmet le mme message aprs avoir attendu un dlai alatoire 1/ >> m et qui a une distribution exponentielle (nonpersistant). Le rendement de ce protocole peut tre dfini par: = T/(B + I) (6) avec: - T: dure moyenne de la priode d'occupation du mdium pour la transmission russite d'un message, - B: dure moyenne de la priode d'occupation du mdium pour les transmissions russites ou non-russites d'un message, - I: dure moyenne d'une priode oisive. Fig. 5 montre les priodes occupes et oisives du mdium.

- 46 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

priode os ive t t+d t+m t+d+m t+d+m+ mdium sous s ilence dtect par toutes les s tations

dernier fin d'une priode, premier arriv mdium sous arriv s ilence dtect par toutes les s tations

Fig. 5 Occupation du mdium de CSMA non-segment Grce au processus de Poisson, on a: I = 1/ En plus, on sait que la dure d'une priode occupe est au moins m + On suppose que m et que le dernier message arrive l'instant t + d avec d < . Selon Fig. 5 la priode occupe va durer jusqu' l'instant t + d +m + , le moment o toutes les stations puissent dtecter un silence du mdium. La distribution de cette variable alatoire d est donc: P[d x] = P[pas de messages arrives durant -x] = exp[- ( -x)] Avec p(x) = P[x] = exp[- ( -x)] La valeur moyenne de d est: E[d] = xp(x)de =
0

(7)

(8)

La somme de la priode oisive et la priode occupe est donne par: I+B=m+ +2 e (9)

La dure moyenne pour une transmission russite est: T = mP[pas de messages arrivs durant ] = me (10)

En dfinissant: R = m and a = /m, nous avons finalement le rendement du protocole CSMA non-persistant et non-segment: = Re-Ra/[R(1 + 2a) + e-Ra] (11)

qui est fortement influenc par le paramtre a (dlai de propagation par rapport la taille de messages). La figure 6 montre le rendement de cette mthode d'accs en fonction de la charge avec les diffrentes valeurs de a. - 47 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

1 0,9 0,8 0,7 a=0 a=0,01 a=0,1 a=0,2 a=0,6

Rendement

0,6 0,5 0,4 0,3 0,2 0,1 0 0,01

0,1

1 Char ge

10

100

Fig. 6 Rendement de CSMA non-segment et non-persistant

5.4 Rendement de CSMA segment et non-persistant


Avec les techniques utilises dans l'tude de CSMA non-segment et Aloha segment, le lecteur doit tre capable de trouver le rendement du protocole CSMA segment.

Exercice : Montrer que le rendement du protocole CSMA segment avec retransmission


non-persistante est donn par: T/(B + I) = m o: T: dure moyenne d'occupation du mdium pour la transmission d'information utile, on note T' sa dure. B: dure moyenne de la priode d'occupation du mdium (pour les transmissions russites ou non-russites d'un message), on note B' sa dure. I : dure moyenne d'une priode d'oisivet, on note I' sa dure. 1 - Description du protocole Le fonctionnement du protocole CSMA segment non-persistant est le mme que celui du CSMA non-segment sauf que dans le premier l'axe du temps est segment en "slots" de dure (dlai de propagation maximum entre deux stations quelconques). On suppose que la taille des trames est une constante m qui est un multiple de . Une trame arrive dans une station, avant d'tre mise, doit attendre le dbut du "slot" prochain et que la station ait dtect un silence du mdium l'instant du dbut de ce "slot". La dure de transmission d'une trame dure donc m/ slots (un nombre entier). Si le mdium est dtect occup, l'mission sera ajourne d'un dlai alatoire (non-persistant). Comme l'tude du CSMA non-segment, on suppose que le nombre de stations est infini et que l'ensemble de flux d'entre (nouvelles e /[m(1 - e )+ ]

- 48 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

trames + r-mission des trames en collisions) forme un processus Poissonnien de taux figure ci-dessous montre ce qu'on peut observer sur le mdium.

. La

Priode de transmiss ion avec s uccs

Priode de transmiss ion s ans s uccs

Priode ois ive

Priode ois ive

temps Arrive d'une trame


On voit bien qu'une priode oisive dure au minimum un "slot" et qu'une priode de transmission avec succs ou sans succs dure m + secondes. Une collision a lieu si deux ou plus de trames arrivent l'intrieur d'un mme "slot" et sont mises au dbut du "slot" prochain. 2 - Priode d'oisivet I' = k , k 1 Pour qu'une priode oisive dure un slot, il doit y avoir au moins une trame qui arrive durant le premier slot de cette priode. Pour qu'une priode oisive dure deux slots, il ne doit arriver aucune trame durant le premier slot et au moins une durant le second slot... La distribution de probabilit d'une priode I' suit alors une loi gomtrique: P(I' = k ) = pk-1(1-p) avec: p = P[aucune trame durant 1 slot]. Calculer I = E[I']. (formule utile:
n 0p n 1 1 p ).

3 - Priode d'occupation B' = k(m+ , k 1 Une priode d'occupation contiendra k priodes de transmission s'il y a au moins une arrive durant le dernier slot de chacune des premires k - 1 priodes de transmission et aucune arrive durant le dernier slot de la k ime priode de transmission. P(B' = k(m + )) suit aussi une loi gomtrique. Montrer que: B = E[B'] = (m + )e .

4 - Dure de la transmission d'information utile T' Une priode de transmission avec succs consacre m secondes la transmission d'information utile. Il n'y a pas de transmission d'information utile pour des priodes de

- 49 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

transmission sans succs. Comme le nombre de priodes de transmission durant B' est B'/(m + ), on a: T = E[T'] = m(B/(m + ))Psuc(priode avec succs). o : Psuc = Prob(une seule arrive durant le dernier slot avant la priode de transmission sachant qu'il y a au moins une arrive durant la priode de transmission prcdente) = e /(1 - e ).

- 50 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

6 Annexe : Modlisation et simulation


6.1 Introduction la Modlisation et valuation de Performances
L'tude d'un systme rel n'est que rarement ralisable dans un environnement oprationnel. La reprsentation du fonctionnement d'un systme d'une manire plus ou moins prcise est ncessaire pour nous permettre d'approcher le comportement du systme. Cette reprsentation se nomme modlisation. La dmarche suivre pour l'valuation de performances peut tre schmatise par Fig. 1.

SYSTEME Modlis ation

CARACTERISATION DE FLUX

MODELE Rs olution (simulation, analytique) RESULTATS Validation, optimis ation, ...

Fig. 1 Dmarche de l'valuation de performances. tant donn un systme tudier, nous devons d'abord crer un modle de celui-ci. Il convient de souligner qu'un tel modle est toujours un compromis entre la fidlit et la simplicit. En effet, il n'existe pas de modle unique pour un systme rel donn. Selon la connaissance du systme de chacun, on peut obtenir soit un modle trs fidle mais souvent peu exploitable, soit un modle peu fidle et trs exploitable. Notre tche ici est de trouver un modle qui soit relativement fidle au systme rel et exploitable. Bien que la mthode formelle de la modlisation n'existe pas, les quelques rgles cidessous peuvent nous aider dans la dmarche: 1) Dfinir clairement le but de l'tude et dlimiter le systme tudier. 2) Lister tous les services offerts par le systme et les issues possibles par service. 3) Slectionner les critres de performances. 4) Lister les paramtres du systme et de la charge. 5) Slectionner les techniques d'valuation. 6) Slectionner les scnarios de charge. 7) Dfinir les plans d'exprience. 8) Analyser et interprter les rsultats. 9) Prsenter les rsultats.

- 51 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Une fois que le modle est obtenu, l'tape suivante consiste mener une tude (souvent statistique s'il s'agit d'un systme vnements discrets) de caractrisation des applications supportes par le systme. Cette caractrisation se rsulte souvent une description alatoire ou dterministe de flux (de matire, d'information, ...). Muni d'un modle du systme et en connaissant les applications supportes par ce systme, on peut commencer tudier le comportement du modle. Selon le formalisme qu'on utilise pour la description du modle, on appliquera des techniques de rsolution diffrentes. Afin d'obtenir des rsultats pertinents, il est indispensable de fixer a priori des critres de performances qui nous intressent. Les rsultats obtenus permettent non seulement de comprendre le comportement du systme rel, mais aussi de valider la conception (s'il s'agit d'un nouveau systme), voire de proposer d'autres alternatives (paramtrage, dimensionnement, configuration, ...) afin d'optimiser le systme. A ce stade, les rsultats peuvent aussi tre utiliss pour amliorer le modle et l'tude de caractrisation. Dans la suite de ce chapitre nous dcrivons d'abord deux formalismes usuels lorsque l'on modlise un systme vnements discrets: Rseaux de Petri et Files d'attente, ensuite nous dveloppons les techniques de rsolution des modles en files d'attente: thorie des files d'attente et simulation. Nous notons que l'accent est mis sur l'valuation de performances par simulation plutt que par l'tude analytique base sur des rsultats issues de la thorie des files d'attente.

6.2 Formalismes de Modlisation


Aujourd'hui, il existe beaucoup de formalismes (ou techniques) de modlisation. Le choix de formalismes est dtermin d'une part par la nature du systme modliser et d'autre part par les rsultats que nous voulons obtenir. Deux formalismes souvent utiliss dans le domaine de systmes et rseaux informatiques sont: - Les rseaux de Petri qui permettent une analyse plutt qualitative. Cette technique est souvent utilise pour la validation et la vrification d'un systme. - Les rseaux de files d'attente qui permettent une analyse quantitative. Cette technique est souvent utilise pour l'valuation des performances d'un systme.

6.2.1 Rseaux de Petri


Un rseau de Petri (RdP) [BRA 83], [DAV 92] est un graphe orient dfini par un quadruplet {P,T,A,M0} o: - P={P1, ..., Pm} est un ensemble fini de places reprsentes par des cercles. - T={T1, ..., Tn} est un ensemble fini de transitions reprsentes par des rectangles. - A={A1,..., Ap} est un ensemble fini d'arcs reliant places et transitions et rciproquement. - M0 est le marquage initial qui reprsente l'tat initial du rseau. A chaque arc, on associe une fonction de valuation entire: Pr(p,t) pour les arcs reliant une place une transition et Post(t,p) pour les arcs reliant une transition une place. On peut dfinir le rseau sous la forme <P,T,Pr,Post>

- 52 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

A un instant donn, le marquage M d'un RdP est dfini par un vecteur d'entiers qui dtermine le nombre de marques dans chaque place. Le marquage d'un rseau peut ainsi servir la caractrisation de l'tat du systme modlis. Les conditions d'volution d'un marquage un autre sont dfinies par les transitions. Le tir d'une transition franchissable conduit un nouveau marquage en retranchant de chaque place p en entre de la transition Pr(p, t) marques et en ajoutant chaque place p en sortie de la transition Post(t, p) marques. La transition n'est donc franchissable que si chacune de ses places en entre a un nombre de marques suprieur la valuation de l'arc qui la relie la transition. A partir d'un marquage, plusieurs transitions peuvent tre franchissables. Le choix est alors arbitraire. Les fonctions Pr et Post sont reprsentes par des matrices p lignes et t colonnes (p et t tant le nombre de places et de transitions). Un rseau est dit born si chacune de ses places a un nombre de marques qui est tout instant fini. Un rseau est dit vivant si toutes ses transitions peuvent tre franchies partir d'un marquage. Un rseau est dit sain ou sauf pour un marquage initial M0 si, pour tout marquage obtenu partir de M0 par une squence de tirs finie, aucune place ne possde plus d'une seule marque. Un rseau qui est la fois vivant et sauf est dit conforme. On appelle graphe d'tat un rseau de Petri tel que, chaque instant, une seule de ses places est marque et ce, par une seule marque. Un rseau de Petri autonome est dit tiquet si on lui associe un vocabulaire et une application de l'ensemble des transitions vers le vocabulaire et qui associe chaque transition une tiquette du vocabulaire. Les Rseaux de Petri temporiss tiennent compte des dures d'excution des actions associes aux places ou aux transitions du rseau. - Si les actions sont associes aux places, alors la temporisation s'applique la disponibilit de la marque: lorsque celle-ci entre dans une place, elle n'est disponible qu'aprs un dlai aprs lequel on dtermine si les transitions sont franchissables. - Lorsque les actions sont associes aux transitions, la temporisation s'applique au franchissement des transitions: lorsqu'une marque entre dans une place, elle est immdiatement disponible pour dterminer les transitions franchissables. Toutefois, les marques ne seront dposes dans les places en sortie de la transition qu'aprs un certain dlai. Les Rseaux de Petri stochastiques sont les rseaux de Petri temporiss mais avec les temps alatoires associs aux places ou aux transitions.

- 53 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

6.2.2 Files d'attente


Bas sur deux entits: client et serveur (un client arrive dans une file, attend un service, reoit le service, puis se dirige vers une autre file ou quitte le systme), ce formalisme est largement utilis pour modliser des systmes dans la vie quotidienne (acheter un ticket de cinma, sortir la caisse de supermarch, etc.), dans l'informatique, dans les tlcommunications, dans le transport, dans la gestion de production, etc. Fig. 2 reprsente schmatiquement les lments d'un systme d'attente.
Service File d'attente Serveur 1 Flux d'entre Serveur 2

Population de clients

Serveur c

Fig. 2 lments d'un systme d'attente Ce systme peut tre modlis en terme de files d'attente comme montr par la fig. 3 avec les variables qui peuvent nous intresser.

N Serveur 1 taux d'arrive Nq Ns

nb. de clients dans le sys tme nb. de clients en s ervice nb. de clients dans la file

temps d'interarrive

s Serveur c w

temps de s ervice

temps dans le s ys tme

Fig. 3 Quelques variables alatoires utilises dans un modle en files d'attente

6.2.3 Comparaison de formalismes


Fig. 4 et Fig. 5 donnent deux exemples simples pour montrer la modlisation d'une file d'attente en deux formalismes diffrents. Le lecteur peut faire une comparaison rapide pour constater que la modlisation en RdP peut conduire des modles de taille importante.

- 54 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

T1 P1

Fig. 4 une file d'attente

PO3 t2 arrive t1

PO2 t0

PO1

consommation

T1

dpart PL3 PL2 PL1

Fig. 5 FIFO 3 places Avant de terminer ce paragraphe, il convient de signaler que les rseaux de Petri tendus (temporiss et stochastiques) permettent galement d'valuer les performances des systmes complexes (cf. [MAR 93] et les actes associes pour plus ample information). En effet, le formalisme en files d'attente est bon pour la description de clients dont le comportement est asynchrone. Quand il s'agit de dpendance entre les diffrents clients, ce formalisme montre un manque de puissance d'expression car on est oblig d'introduire d'autre mcanismes ce qui compliquera la rsolution du modle. Face au problme de modlisation des systmes dans lesquels la synchronisation ou d'autres types de dpendance existent, les rseaux de Petri tendus commencent occuper le terrain en vue de combler le manque de files d'attente. Quant la rsolution de ce type de modle, il faut attendre encore un peu de temps pour que la recherche dans ce domaine progresse. Au lieu d'utiliser les outils bass sur les rseaux de Petri (ou machines d'tat-transition pour rester plus gnral) pour l'valuation de performances, il est galement possible de combiner d'une part, la technique formelle (avec outils/langages tels que SDL, ...), pour la spcification et la validation/vrification logique des systmes (rseaux/protocoles), et d'autre part, les outils traditionnels bass sur des files d'attente pour l'valuation des performances [DEM 92].

6.3

Techniques de Rsolution de Modles en Files d'attente


Trois techniques peuvent tre utilises: - mesure d'un systme existant (souvent une maquette), - tude analytique (souvent un modle mathmatique en utilisant la thorie des files d'attente), - simulation (souvent vnements discrets).

- 55 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Pour la mesure d'un systme rel, il s'agit de collecter des donnes statistiques sur un systme en tat de fonctionnement. Cela exige l'existence du systme et le cot d'tude est souvent trs lev, et la dure d'tude longue. En fait, l'existence d'un systme est dj contradictoire avec cette tude, qui est souvent une phase de pr-implmentation. La simulation d'un modle demande: - la connaissance parfaite du systme tudi qui permet la dfinition d'un modle simplifi adapt l'tude, i.e. le modle n'est pas forcment une description en langage de simulation du systme exact. Il peut se limiter aux paramtres et aux comportements intressants tout en conservant une certaine finesse. - des donnes d'entres. En considrant le modle comme une bote noire, ces donnes sont essentielles pour dmarrer la simulation. La collecte de ces donnes est une tape primordiale. On peut en dduire soit des caractres statistiques (et une distribution de probabilit) s'il s'agit d'une entre alatoire, soit un tableau de donnes si l'entre est dterministe.

6.3.1 Thorie des files d'attente


La thorie des files d'attente (queueing theory) a pour objectif tudier les phnomnes d'attente. Les bases de cette thorie est la probabilit et les processus stochastiques. Il n'est pas utile (et impossible) de reporter dans ce paragraphe de nombreux rsultats de cette thorie. Les concepts de base sont introduits dans les 5 chapitres prcdents de ce polycopi. Le lecteur dsirant d'approfondir sa connaissance en la matire peut consulter un trs bon livre de Kleinrock [KLE 75], [KLE 76] ou un bon livre en franais [BAY 00].

6.3.2 Simulation vnements discrets


La simulation reprsente un ensemble de techniques permettant d'approcher le comportement d'un systme quelconque de faon stochastique. Le simulateur est le programme contenant l'algorithme utilis pour simuler le systme tudi. Il est bien sr possible dcrire un programme de simulation en utilisant un langage de programmation gnrique tel que Java ou C. Cest dailleurs trs formateur dcrire ainsi au moins une fois dans sa vie un simulateur. Mais il savre trs vite que leffort de programmation est trop important pour dvelopper des simulateurs complexes de grande taille. Afin de faciliter l'utilisation de la simulation, de nombreux efforts ont t faits sur la construction des outils de simulation ddis. Ces outils sont souvent dots d'une interface graphique facilitant ainsi la construction des modles et l'exploitation des rsultats. On peut trouver beaucoup d'outils de simulation, citons les quelques uns les plus connus: Opnet (www.opnet.com) qui dispose des bibliothques de modles pr-construits, ns (www.isi.edu/nsnam) qui est bien connu du monde acadmique et gratuit, OMNeT++ (www.omnetpp.org) qui est aussi gratuit et suit le mme principe que Opnet (sans les bibliothques de modles), En France, Modline/Qnap2 (www.simulog.fr) est un logiciel connu. Il est dvelopp par lINRIA et Bull dans les annes 80. Cest un logiciel trs facile utiliser et bien adapt modliser les rseaux de files dattente. QNAP2 est le langage de description de modles de simulation et le moteur de simulation, tandis que Modline ajoute une interface graphique et un

- 56 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

environnement de dveloppement intgr. Il nest malheureusement plus maintenu et son interface graphique est parfois droutante pour un dbutant. Un autre logiciel plus rcent et qui suit le mme principe et offre les fonctionnalits similaire Modline/QNAP2 est JMT (Java Modelling Tools) dvelopp par Polytechnique de Milan (http://jmt.sourceforge.net/). Cest un logiciel bien adapt pour la pdagogie et la recherche.

6.4 Simulation vnements discrets


Comme expliqu prcdemment la simulation est une approche dvaluation de performances trs gnrale. Complmentaire lapproche analytique, elle nest pas contrainte pas des hypothses bien formes, et dans ce sens, elle permet dvaluer les performances des systmes dun trs large spectre. Il faut faire tout de mme attention quant linterprtation de rsultats lissue des simulations. Il faut sassurer en particulier que le systme simul a bien un rgime stationnaire si les performances asymptotiques sont attendues. Il faut aussi connatre la prcision des rsultats afin de fournir des conclusions statistiquement parlant fiable. Dans cette section nous prsentons rapidement les lments de base connaitre quand on mne une tude de simulation.

6.4.1 Simulation par vnements et gestion de lchancier


Une simulation est conduite par des vnements. Un vnement correspond un changement dtat du systme. Souvent, la simulation fonctionne avec un chancier des vnements et le simulateur saute dun vnement au suivant, sans que le temps entre les deux vnements prenne du temps de calcul puisquil ne se passe rien entre les vnements (le temps est compress). Lorsque le simulateur passe dun vnement au suivant, la date saute de la valeur courante celle du nouvel vnement. Lensemble des vnements avec leur date constitue en lchancier de la simulation. Pour mieux comprendre, prenons un exemple simple dune file dattente. La file dattente simuler est une file FIFO de capacit illimite, avec un flux darrive de clients suivant un processus de Poisson du taux darrive (autrement dit les intervalles dinter-arrives suivent une loi exponentielle du taux ), et un temps de service suivant une distribution exponentielle du taux . (Cest ce quon appelle M/M/1 dans le jargon de la thorie des files dattente)

La queue

Le serveur

Figure 6. Une file dattente On simule cette file dattente jusqu n clients soient sortis. On veut estimer : Le temps moyen dattente dun client dans la queue: d(n) Le nombre moyen de clients dans la queue: Q(n) Ces deux paramtres peuvent tre approchs par les estimations suivantes :

- 57 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

d ( n)
o :

Di
i 1

et

Q ( n)

Q(t )dt T

Ri
i 1

Di: temps dattente du client i T: temps pour traiter n clients Q(t): nombre de clients dans la queue linstant t Ri: surface du rectangle sous Q(t) entre si-1 et si (cf. Fig.7): nombre dvnements produits pendant [0,T] Lestimation de d(n) est trs simple. Il sagit simplement de cumuler les Di = instant du dpart - instant darrive du client i, puis la fin de simulation, le diviser par le nombre total de clients passs par le systme. Le principe du calcul du nombre moyen de clients dans le systme peut tre illustr par la figure suivante qui montre une trajectoire de lvolution de Q(t). Ri = Q(si)*(si-si-1)

Q( t ) 3 2 1 Ri+ 1 Ri si-1 si si+ 1 t

Par la thorie des files dattente, nous avons la valeur thorique du temps moyen dattente de clients et le nombre moyen de clients : 1 d

1 Notons que ces deux paramtres sont lis par la formule de Little : n d
Une question se pose alors. Quelle est la valeur de n (ou de T) convenable pour que nos rsultats de simulation soit fiable ? C'est--dire que les valeurs estimes par la simulation sont suffisamment proches de celles donnes par la thorie ? Nous verrons ce problme dans un paragraphe plus loin ayant trait avec lestimation de la prcision des rsultats de simulation. Afin de simuler ce systme, on fait recours la mthode de simulation vnements discrets. Il sagit de sintresser aux variables dtat et aux vnements qui provoquent le changement

- 58 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

dtat. Dans notre cas, le paramtre ncessaire (variable dtat) est le nombre de clients en attente dans la queue. Deux types dvnements permettent le changement dtat : arrive et dpart dun client. Pour faire avancer le temps de simulation (une horloge virtuelle), on avance le temps lvnement prochain. La figure suivante donne une illustration de ce principe.
Soit :

ti = linstant darrive du ime client (t0 = 0 ) Ai = ti - ti-1 = temps dinter-arrives entre (i-1)me et ime arrive de clients Si = temps de service du serveur pour service le ime client (temps dattente exclus) Di = temps dattente dans la queue du ime client ci = ti + Di + Si = linstant o le ime client finit son service et quitte le systme si = linstant doccurrence du ime vnement du type quelconque (le ime valeur que lhorloge de simulation prend, excluant la valeur s0 = 0 )
s0 0 s1 t1 A1 A2 s2 t2 s3 c1 A3 s4 t3 s5 c2 temp s

S1

S2

Figure 7 : une trajectoire des vnements On comprend maintenant que la tache principale dun simulateur est de : - gnrer les diffrents vnements de faon alatoire en suivant une certaine loi de probabilit - grer la liste des vnements (comme ce quillustre la Figure 7) : instant de prochaine arrive ti et instant du prochain dpart ci. - Faire la statistique sur des paramtres dintrt (e.g. nombre de clients dans la file dattente et le temps dattente de chaque client).

6.4.2 Gnration des vnements suivant une loi de probabilit


Le modle de simulation doit reproduire des vnements alatoires : arrive un paquet dans le rseau, occurrence de pannes, etc. Le modle de ces comportements consiste en variables alatoires de loi connue. En informatique (programmation), la base pour gnrer une variable alatoire qui suit une loi quelconque est lutilisation de la fonction Random() qui permet de tirer des valeurs uniformment rparties dans lintervalle ]0,1[. Pour illustrer le principe, prenons le cas dune variable alatoire continue: X

- 59 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Plusieurs mthodes existent pour gnrer des variables alatoires. Nous prsentons la mthode par fonction inverse qui est gnrale est facile programmer. Cette mthode consiste : - tirer une variable u uniformment distribue en ]0,1[ - prendre X = F-1(u) tel que u = F(x) X suit alors la loi cherche. Preuve: il suffit de vrifier que P[X x] = F(x) P[X x] = P[F-1(u) x] = P[u F(x)] = F(x) La dernire galit sobtient car u est uniformment distribue dans ]0,1[, ce qui donne : P[u a] = a; (0 a 1) Maintenant, examinons le cas de la loi exponentielle F(x)=1-e- x
Soit u une variable alatoire uniformment distribue en ]0, 1[.

On note : F(x)=1-e- x = u. La fonction inverse de F(x) sobtient simplement par lexpression de x en fonction de u. e- x = 1 - u x = -ln(1-u)/ Comme u peut tre gnr par la fonction Math.random() en programmation (en java), on a: x = -Math.log(1-Math.random())/ = - Math.log (Math.random())/

6.4.3 Rsultats statistiques et estimation de la prcision2


Pendant une simulation, nous pouvons bien sr nous intresser la trace dune simulation pour comprendre les comportements transitoires. Mais la plupart du temps, nous nous intressons plutt au comportement dun systme long terme, autrement dit, son rgime stationnaire. Comme les vnements sont souvent alatoires, les rsultats qui reprsentent le comportement du systme sont alors dordre probabiliste. On peut sintresser la valeur moyenne, la variance, voire la connaissance complte du systme par la distribution de probabilit. Tous ces rsultats ne sont bien sr quune estimation des valeurs relles car la dure dune simulation ne peut tre allonge infiniment (tends vers linfini). Do vient le problme de la prcision de lestimation car la simulation est une exprience statistique. Prenons un exemple: estimer, par simulation, E(W) dans une file M/M/1 Thorique: E(W) = /(1- ) Pour =0.9, simuler 10 000 clients, puis faire la moyenne, on obtient une valeur de temps moyen. On rpte 100 fois, on obtient des valeurs proches de 9 mais assez disperses! (figure 8)

Cette section est base sur le polycopi de Hbuterne de lINT.

- 60 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Figure 8. Dispersion des mesures (extrait du polycopi de Hbuterne) Souvent on exige un niveau de confiance pour une exprience: P[a la vraie valeur du paramtre b] = 0,95 Lintervalle de confiance (confidence interval) est alors : [a,b] Il existe de nombreuses mthodes destimation de la prcision. Dans ce document, nous prsentons dabord la mthode la plus simple (et peut-tre moins prcise dans certains cas). Il sagit de la Mthode des blocs. Mthode des blocs (batch means): Considrons lexemple comme une exprience de 1 000 000 mesures, dcoupe en N=100 blocs de m=10 000 mesures. On a : 1 m Xi Moyenne sur chaque bloc: Yk mi1 1 N Y Yk Moyenne empirique: N k1 1 N 2 (Yk Y ) 2 Variance empirique: N 1k 1 Supposons lindpendance entre blocs, selon le thorme central limite, Y est asymptotiquement distribu selon une loi Normale de variance 2/N. Loi Normale (Gaussienne ou Laplace-Gausse):

Loi Normale centre rduite (centre et de variance unit) :

- 61 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

t x (x )/
P[ Z

est une v.a. avec variance = 1


Y

E (Y ) x] ( x) / N O Z est la valeur de lcart entre E(Y) et Y . Avec la symtrie de la loi Normale, on peut rcrire lquation sous la forme suivante :

P[| Z | x]

( x)

( x) 1 2 ( x)

Maintenant, on veut un niveau de confiance de 95% : P[| Z | x] 1 2 ( x) 0,95 ( x) 0,025 ( x) 1 ( x) 0,975 A laide de la table de valeurs de la loi Normale centre rduite (cf. par exemple : http://fr.wikipedia.org/wiki/Loi_normale), on sait que : (1,96) 0,975 . On utilise comme estimateur de , on a enfin : Y E (Y ) P[| | 1,96] 0,95 / N Linversion de cette relation permet de trouver lintervalle de confiance :

Moyenne Y 1,96 N N Ce rsultat peut tre utilis pour rgler la longueur de simulation, c'est--dire le nombre de blocs ncessaires pour obtenir une prcision acceptable par rapport au niveau de confiance exig.
Dans la pratique, N=30 donne dj une bonne approximation pour la plupart de configurations [FIC02]. Mais attention, il est vrai si et seulement si lhypothse de lindpendance entre blocs est vrifie. Bien sr, si le dcoupage de blocs nassure pas lindpendance entre blocs successifs, la mthode des blocs ne sapplique plus car ni lestimateur de variance, ni la loi de grands nombres nest valable. Il existe dans ce cas dautres mthodes, notamment la mthode rgnrative base sur le processus de renouvellement.

Y 1,96

- 62 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Dans la pratique pour une file dattente, nous pouvons dcouper les blocs des points o le nombre de clients devient nul. Mthode rgnrative : Prenons toujours notre exemple de la file M/M/1. Voici une trajectoire possible de lvolution du nombre de clients dans la file dattente sur laxe du temps.

Q( t ) 3 2 1 Ri+ 1 Ri si-1 si si+ 1 t

Vis--vis du serveur, on observe une alternation entre une priode occupe et une priode oisive. Intuitivement, lorsque la file se vide, le prochain client arrivant va trouver un serveur libre. Son traitement, ainsi que tous ses successeurs, ne dpendra pas de ses prdcesseurs. Ainsi, chaque priode occupe conduit une srie de mesures indpendantes les unes des autres. Conclusion : les priodes occupes successives vont donner une suite de variables alatoires indpendantes. Soit une suite de points (Si) t.q. Si T1 T2 ... Ti , o Tk sont des v.a. i.i.d. de loi F: P[T1 t ] P[Tk t ] F (t ) . La squence (Si, i0) est un processus de renouvellement. Plus gnralement, le processus {Zt, t0} est un processus rgnratif sil existe une suite (Si, i0), qui est un processus de renouvellement, tel que {Zt, Sit Si+1} soit une rplication i.i.d. de {Zt, S1t S2}. On peut bien sr aussi dfinir une version discrte. Ainsi, pour une file M/M/1, la suite bk des numros de clients qui arrivent et trouvent le serveur libre est un processus de renouvellement. Le temps dattente du n-me client est un processus rgnratif discret, dans lequel le processus de renouvellement est inclus (ou imbedded ). On note { bk } le renouvellement discret. ak dsigne le nombre de clients constituant le k-ime priode occupe. On a : bk= bk-1+ ak On note {Zn, n0} le processus rgnratif, qui se reproduit identiquement aprs chaque bk. Soit une fonction f dfinie sur le processus, on cherche calculer E[f(Z)]. Ainsi, si f(x)=x, on calcul la moyenne, etc. Le thorme cl affirme que :

- 63 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

a1

E[ E[ f ( Z )]
i 1

f ( Z i )]

E[a1 ] C'est--dire quon peut restreindre ltude du phnomne un seul intervalle de rgnration : on somme les mesures sur un intervalle de rgnration. Lesprance mathmatique divise par le nombre moyen de mesures dans lintervalle, donne la moyenne cherche.

Maintenant, appliquons cette mthode la simulation. On note W le temps dattente des clients (W joue le rle de Z), et Yi les sommes sur chaque intervalle de renouvellement :
bi ai 1

Yi
j bi 1

f (W j )

Remarquons que nous pouvons toujours crire :

W1 ... Wn n n Y1 ... Yk E[W ] lim k a1 ... ak (Y ... Yk ) / k E[W ] lim 1 k (a1 ... ak ) / k E[W ] lim
Dautre part, on a : lim(Y1 ... Yk ) / k
k

E[Y1 ] et lim(a1 ... ak ) / k


k

E[a1 ] . Le thorme

affirme simplement que la limite du quotient est gale au quotient des limites :
E[W ] lim
k

(Y1 ... Yk ) / k (a1 ... ak ) / k

E[Y1 ] E[a1 ]

Dans la simulation, la dtection des points de rgnration peut se faire facilement (file dattente vide), ce qui nous permet de collecter les Yi successifs. Lexprience est conduite pour N intervalles de rgnration successifs. A la diffrence de la mthode des blocs, les Yi successifs sont maintenant indpendants les uns des autres par construction. Il est noter que les intervalles successifs nont plus la mme longueur (ne servent pas le mme nombre de clients). Par consquent, le calcul revient estimer E[W] = E[Y1]/E[a1], et donc trouver lintervalle de confiance sur un quotient. Nous rappelons que ak dsigne le nombre de mesures effectues dans le k-ime intervalle de renouvellement. La squence { Yi, ai} est une suite de vecteurs i.i.d. Appelons r la vraie valeur du quotient :
r E[Y1 ] E[a1 ]

La valeur estime par la simulation est :

- 64 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Yk ak

La suite (Vj = Yj raj) est une suite i.i.d. de moyenne nulle. On montre que la variance de V est donne par :
2 V

Var (V ) Var (Y ) 2rCov(Y , a) r 2Var (a)

E[Y 2 ] 2rE[Ya] r 2 E[a 2 ]


On obtient un estimateur de cette quantit partir des mesures collectes de la simulation. Considrons la moyenne empirique V
( Vk ) / k Y ra . Le thorme de la limite centrale
2 V

nous apprend que V tend vers une loi normale, dont la variance sera nombre total de mesures), ce qui se traduit en :

/ N (o N est le

limP{
n

Yk
V

ak ) / N

/ N

x}

( x)

Il faut introduire lestimateur r , et a

ak ) / N . Il vient alors :

P{(r r )

a N
V

x}

( x)

Do enfin lintervalle de confiance pour un niveau de confiance de 95% :

P{(r
Rcapitulation :

1,96 V a N

E[W ] r

1,96 V } 0,95 a N

On vient de dmontrer comment calculer lintervalle de confiance dans la mthode rgnrative. Pour avoir une ide concrte de son utilisation, reprenons notre exemple de la file M/M/1. Il sagit de calculer une moyenne. Nous allons observer N cycles de rgnrations (la dtection des points de rgnration dpend du problme pos. Et dans notre cas, les instants o la file devient vide). On note : - ak le nombre de mesures collectes au cours du cycle numro k (i.e. le nombre de clients du cycle dans notre exemple), - Yk le cumul des mesures du cycle numro k (i.e. la somme des temps dattente des clients du cycle). En mme temps que se droule la simulation, et la fin de chaque cycle, la collecte des rsultats consiste tenir jour les comptages suivants : Y1 Y2 Yk (Yk ) 2

- 65 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

A1 A2 Ya

ak (ak ) 2 Yk ak

A la fin de la simulation, N cycles ayant t observs, on calculera :

W Y1/ A1
Var (V ) Y 2 2 W YA A2 W 2 N 1

Quand la longueur de simulation augmente (nombre de cycles augmente), V doit fluctuer autour dune valeur constante. Limprcision W sera donne (au niveau de confiance 95%) :
W 1,96 NV A1
W.

et avec un risque derreur de 5%, W

E[W ] W

- 66 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

6.4.4 Simulation (en java) dune file M/M/1


Pour tout comprendre, la meilleure faon est de programmer un simulateur simple par soimme. Voici le diagramme de classes, ainsi que quelques codes de dfinition de classes java pour vous aider programmer un simulateur de M/M/1.

public class Client { protected double tempsArrivee; //c'est un instant protected double dureeService; //c'est une dure public Customer(double arrivalTime, double serviceTime) { this.tempsArrivee = arrivalTime; this.dureeService = serviceTime; } // si les deux attributs sont declares protected ou private, // il faut des mthods publiques daccs la valeur de ces attributs public double getArrivalTime() { return arrivalTime; } public double getServiceTime() { return serviceTime; } }

- 67 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

import java.util.Vector; public class Queue { /* Liste des clients dans la queue */ Vector lesClients; //Construire une queue vide public Queue() { lesClients = new Vector(); }

public class Event { protected int type; //0 correspond une arrive, 1 un dpart protected double instant; //instant o un vnement sest produit public Event(int type, double time) { this.type = type; this.instant = time; } public int getType() { return type; } public double getTime() { return instant; }

import java.util.Vector; public class listeEvents {// cette classe modlise la liste des vnements futurs Vector events; public listeEvents () { events = new Vector(); } public void addEvent(Event newEvent) { int insertIndex = 0; //sert reprer lendroit o lvnement newEvent doit tre insrer //on compare linstant de newEvent avec linstant des autres vnements dj dans la liste while (insertIndex < events.size()) { Event e = (Event) events.elementAt(insertIndex); //on extrait le insertIndex me vnement if (e.getTime() > newEvent.getTime()) break; //si linstant de newEvent est le plus prs, //on sort de la boucle insertIndex++; //sinon on incrmente insertIndex, et on reboucle } events.insertElementAt(newEvent, insertIndex); //on insert lvnement newEvent au bon endroit } }

- 68 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

La classe principale :
public class MM1Simulation { double lambda; double mu; ListeEvents liste; Queue q; double t; } public MM1Simulation (double lambda, double mu) { this.lambda = lambda; this.mu = mu; q = new Queue(); liste= new listeEvents(); } public double expo(double taux){ return -Math.log(Math.random())/taux; } public void simulate (double simLength) { // remplir avec lalgorithme suivant } public static void main(String[] arg) { MM1Simulation s = new MM1Simulation(0.5, 1.0); s.simulate(1000000); }

Lalgorithme de la simulation est le suivant :


La simulation commence t=0. A cet instant, on gnre le prochain vnement s1 qui correspond forcment une arrive de client. On ajoute cet vnement dans la liste des vnements On rpte ensuite la procdure suivante jusqu la fin de simulation dsire (une dure de simulation ou bien un nombre maximum de clients traits) o On lit dans lordre le prochain vnement de la liste et on lenlve de la liste (une fois lvnement est utilis, il sera supprim de la liste car nest plus utile) o On avance le temps la date de cet vnement (par exemple t=t 1, c'est--dire la date darrive de lvnement s1) o Selon le type dvnement (une arrive ou un dpart), on fait le traitement correspondant : Sil sagit dune arrive, on gnre larrive suivante (qui sera linstant t+expo(lambda)) et on le met dans la liste dvnements mais sa place approprie (supposant quil y a une mthode dans la classe liste des vnements qui saura linsrer au bon endroit) on calcule la dure de service du client (par exemple, pour le 1 er client de lexemple de la figure ci-dessus, S1=expo(mu)) on ajoute le client dans la file dattente des clients avec son instant darrive (e.g. t1) et sa dure de service (e.g. S1) un cas particulier traiter : si le client est le seul dans la file dattente, il sera forcment celui qui va sortir prochainement. Il faut donc ajouter un vnement correspondant au dpart de ce client dans la liste des vnements dont linstant de dpart est t+ dure de service. Sinon on ne linsre pas dans la liste des vnements mais laisse le traitement dans le cas o il y a un client qui quitte la file (cas suivant) Sil sagit dun dpart, On supprime le client de la file dattente. Si la file devient vide, on ne fait rien

- 69 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Si la file nest pas vide, on gnre lvnement correspondant au dpart du client suivant (qui sera linstant t+expo(mu)) et on le met dans la liste dvnements mais sa place approprie (supposant quil y a une mthode dans la classe liste des vnements qui saura linsrer au bon endroit) Fin de rptition

Vous pouvez aussi programmer une interface graphique simple :

Ou bien une interface incluant lanimation :

Enfin, on vous demande de traiter les rsultats de simulations : Comparer les rsultats de simulation avec les rsultats thoriques (nombre moyen de clients et temps moyen dattente) Comment obtenir les rsultats de simulation avec un niveau de confiance de 95% ? Et avec quel intervalle de confiance pour chaque valeur simule ? Etendre le simulateur pour simuler une file M/D/1

- 70 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

6.5 Critres de Performances des Rseaux


Les critres de performances ne sont pas toujours les mmes du point de vue d'un utilisateur, d'un administrateur et d'un concepteur, car leurs proccupations ne sont pas les mmes. Ces trois individus ont des demandes parfois communes et parfois contradictoires. Mais quel que soit le critre de performance considr par un individu, ce critre prend la forme "rapport cot-performance". Un utilisateur peut trs bien demander un certain nombre de services avec un cot minimum. Un administrateur du rseau souhaite un gain maximum en investissant au minimum. Le point de vue du concepteur est alors plus quilibr. Il essaye de trouver la solution satisfaisant la fois l'administrateur et l'utilisateur. On peut dire que les critres de performances de l'utilisateur et de l'administrateur sont inclus dans ceux du concepteur. Dans la suite, nous regardons d'une faon gnrale les critres de performances dfinis par un concepteur. Les trois principaux critres utiliss pour valuer les performances d'un rseau local sont: - lefficacit du protocole qui s'exprime par le rapport entre la quantit d'information utile, c..d sans tenir compte des trames de service (gestion ou "overhead"), et la quantit totale d'information vhicule par le mdium. Ce critre est gnralement utilis pour estimer l'efficacit de la structure des trames d'un protocole d'accs. - le taux d'utilisation du mdium (ou "throughput") qui s'exprime par le rapport entre la quantit d'information vhicule par le mdium (par seconde) et le dbit du rseau. Ce critre est essentiellement utilis pour valuer globalement les performances. Un taux d'utilisation faible implique soit que le mdium de transmission est peu sollicit par les stations, soit que la technique d'accs utilise "mal" la capacit du mdium. - le dlai de transfert (ou temps de rponse) qui exprime le temps d'attente, pour une station donne, entre l'instant d'arrive d'une trame dans la station (souvent mis en file d'attente) et la rception de celle-ci par la station destinatrice. Ce critre est souvent exprim en terme de valeur moyenne ou maximale. Remarque 1: Un critre de puissance ("Power") peut tre utilis pour remplacer "taux d'utilisation" et "dlai". Il est dfini tout simplement comme le rapport entre "taux d'utilisation" et "dlai". Remarque 2: On distingue le dlai de transfert et le dlai d'accs. Le dlai d'accs d'un protocole d'accs au mdium correspond au dlai d'attente de la trame qui se trouve la premire place de la file d'attente. Pour ce dlai, on ne compte ni le temps d'attente pour qu'une trame se dplace de la dernire la premire place de la queue (file d'attente), ni le dlai de transmission. Pour un utilisateur, c'est toujours le dlai de transfert (temps de rponse de bout en bout) qui compte.

6.6 valuation de Performances des Rseaux


A prsent, nous abordons la modlisation des rseaux de communication qui reprsente un problme de premier plan. En effet, la multiplication des rseaux de transmission associe aux nombreuses possibilits de connexion, conduisent des systmes d'une grande complexit qui mettent en jeu d'importantes quantits de ressources matrielles et logicielles. La conception et l'exploitation d'un rseau ainsi que la mise en place de

- 71 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

possibilits de communication apparaissent alors comme des tches extrmement dlicates. L'utilisation d'outils de modlisation et d'valuation de performance reprsente, de plus en plus, une alternative pour apprhender, dimensionner et optimiser les rseaux de communication et les systmes informatiques en gnral. Il n'existe malheureusement pas de mthode systmatique pour tablir des modles des rseaux de communication; en effet, aux problmes de modlisation que l'on peut rencontrer, il faut ajouter la multiplicit des fonctions qui interviennent dans la conception d'un rseau de transmission. De plus, les moyens de communication se diversifient en fonction des contraintes gographiques et des applications. Gnralement, nous ne rencontrerons pas les mmes problmes en tudiant les rseaux grandes distances, les rseaux locaux, les rseaux sans fils ou les rseaux satellites, chacun de ces systmes de communication possdant des proprits particulires. De mme, nous devrons aborder l'tude de diffrents protocoles, chacun d'eux permettant la mise en ouvre de services divers de qualits diffrentes. Avec de nombreux travaux effectus dans ce domaine ainsi que l'exprience acquise, nous pouvons tout de mme donner quelques rgles qui sont utiles pour tablir le modle du protocole. Dans la plupart des cas, les modles pour l'valuation des protocoles d'accs multiple s'appuient sur le partage d'une seule voie de communication par plusieurs stations qui mettent et/ou reoivent des messages. On distingue l'attente (pour accder une ressource) du service (possession de la ressource) afin d'utiliser les modles de rseaux de files d'attente. Un rseau de files d'attente est compos d'un ensemble de stations de service (modlisant les ressources: par exemple canal de transmission, metteur...) et d'un ensemble de clients (messages, paquets, trames...). Les files d'attente devant chaque station reprsentent les activits qui ont besoin d'accder, ou qui ont dj accd la ressource. Un rseau de files d'attente est caractris par un processus stochastique reprsentant l'arrive des clients dans le rseau, les temps de service des clients aux stations, le cheminement des clients d'une station l'autre, la discipline de service des clients chaque station, etc. Dans la suite, nous appellerons "station" ou "hte" tout quipement terminal capable de traiter et de stocker de l'information. Une station possde des ressources matrielles et logicielles, gnralement en quantit limite; elle constitue l'interface avec l'utilisateur (humain ou application) qui reprsentera souvent le gnrateur de trafic. Nous distinguerons donc, ds prsent, la station et le rseau auquel elle est connecte; les utilisateurs s'adressent au rseau qui doit paratre transparent et fournir les services suivants: les travaux demands sont correctement excuts, et les rsultats sont fournis avec un temps de rponse acceptable. De mme, au sein d'un hte, nous distinguerons les composantes suivantes: - l'utilisateur (humain ou application reprsentant le gnrateur de trafic), - les protocoles (procdures mises en ouvre pour raliser les diffrents services proposs), - l'accs au rseau (interface de l'hte avec le rseau de communication). a) l'utilisateur Il correspond gnralement la notion d'application (transfert de fichier, messagerie, partage de ressources, ...); il est responsable de la gnration du trafic qui constituera la caractrisation de la charge pour l'application tudie. Les performances d'un systme dpendent troitement de la demande en ressources matrielles et logicielles (systme et applications) et de la charge gnre. Ainsi la caractrisation quantitative des demandes en ressources de la charge constitue une part importante des tudes menes sur l'valuation des performances (aussi bien pour les tudes concernant la mesure que la modlisation). La caractrisation de la charge fournit les bases pour construire une charge synthtique afin

- 72 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

d'tudier un systme mesurer ou pour obtenir des valeurs de paramtres reprsentatives pour des modles analytiques ou des simulations. En premire approximation, une hypothse gnralement admise et trs frquemment utilise pour des commodits de calcul consiste reprsenter un flux d'informations gnres par un processus de Poisson. Le processus de Poisson est d'un grand intrt pratique car il peut reprsenter correctement de nombreux phnomnes physiques; en effet, un processus de Poisson peut tre observ dans un systme rel quand les arrives sont produites par un grand nombre de sources indpendantes. Cela ne veut pas dire qu'on peut exclure d'autres types de flux d'arrive. Par exemple, le flux d'arrive cyclique (dterministe) apparat souvent dans des communications temps rel, et des tableaux pr-configurs au lieu d'une loi probabiliste seront ncessaires. b) les protocoles La conception d'un rseau tlinformatique est particulirement complexe et ncessite la ralisation d'un nombre lev de fonctions. Le modle de rfrence OSI propos par l'ISO (International Standardisation Organisation) a conduit une structuration en couches permettant de dcomposer le systme jusqu' des lments directement ralisables. La philosophie de cette architecture s'appuie sur les notions de service et de protocole. Chaque couche prend sa charge la ralisation d'un service qu'elle essayera de fournir avec une qualit optimum (souvent fonction de la complexit du protocole); les relations entre les couches sont toujours du mme type: la couche (N+l) s'appuie sur le service fourni par la couche N. La ralisation du service de la couche N est obtenue par l'intermdiaire d'un protocole de la couche N constitu principalement de deux parties: la structuration des Units de Donnes et les Rgles de dialogue entre entits de mme niveau. Nous appelons (N)-SDU les Units de Donnes du Service (N) qui sont remises par l'utilisateur des services (N) afin qu'elles soient transfres aux utilisateurs des services (N) de l'autre extrmit. De mme, le terme (N)-PDU dsigne les Units de Donnes du Protocole (N) qui sont achemines par le protocole de la couche (N). Dans le cadre de la modlisation des protocoles de communication, ce seront ces entits PDU/SDU qui seront manipules dans les stations et qui pourront reprsenter la charge traiter. c) l'accs au rseau Le module d'accs au rseau constitue une interface intressante entre l'hte et le rseau, et permet de construire une station de traitement avec ses protocoles en faisant abstraction du rseau de transmission utilis et du composant physique d'accs. D'autre part, l'interface d'accs au rseau joue un rle important dans la mesure o elle peut introduire des problmes de capacit de transmission, voire de congestion. On peut ainsi proposer un modle gnral (Fig. 6) qui permet de raliser l'valuation des performances des diffrents protocoles d'accs multiples.
utilis ateur(1) hote(1) utilis ateur(2) hote(2) . . . hote(N) rs eau s ortie

utilis ateur(N)

Fig. 9 Modle gnral

- 73 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Le modle est compos de trois objets: "utilisateur(i)" qui reprsentent l'utilisateur en gnrant des flux d'information selon une certaine loi de probabilit, "hote(i)" qui reprsentent les station mettrices et ralisent les fonctions spcifies par le protocole, et "rseau" qui reprsente le rseau, c..d. la voie de transmission. On note que les stations rceptrices n'interviennent pas dans le modle car la rception n'influence pas l'analyse des performances du protocole tudier.

- 74 -

Evaluation de performances stochastiques des rseaux

YeQiong SONG

Bibliographie
[ALL 90] Arnold O. Allen, Probability, statistics and queueing theory with computer science applications, Second Edition, Academic press, Inc., 1990. [BAY 00] B. Baynat, Thorie des files dattente: des chane de Markov aux rseaux forme produit, Hermes, 2000. [BRA 83] G.W. Brams, Rseaux de Petri: thorie et pratique, Tome 1: Thorie et analyse; Tome 2: Modlisation et applications, Masson, Paris, 1983. [Chang00] Chang, C. S., Performance Guarantees in Communication Networks. New York: Springer Verlag, 2000. [Cruz91a] Cruz, R. L., A calculus for network delay, Part I, IEEE Trans. on Information Theory, 37(1):114-131, Jan. 1991. [Cruz91b] Cruz, R. L., A Calculus for Network Delay, Part II: Network Analysis, IEEE Transactions on Information Theory, 37(1): 132-141, Jan. 1991. [DAV 92] R. David, H. Alla, Du Grafcet au rseaux de Petri, Hermes, Paris, 1992. [DEM 92] P. Dembinski, "Queueing network model for ESTELLE", proc. of 5th international Conf. on Formal Description Techniques (FORTE'92), Perros-Guirec, October 1992. [FIC 04] G. Fiche and G. Hbuterne, Communicating systems and networks: traffic and performance, Kogan Page Limited, 2004. [GRO 85] D. Gross and Carl M. Harris, Fundamentals of queueing theory, (2nd edition), John -Wiley, 1985. [HAY 84] J.F. Hayes, Modelling and analysis of computer communications networks, Plenum Press, 1984. [KLE 75] L. Kleinrock, Queueing systems, Vol. 1: Theory, John Wiley, 1975. [KLE 76] L. Kleinrock, Queueing systems, Vol. 2: Computer application, John Wiley, 1976. [Kouba04] Kouba, A., and Y.Q. Song, Evaluation and improvement of response time bounds for real time applications under non pre-emptive fixed priority scheduling, International Journal of Production Research, Vol.42, No.14, pp2899-2913, Taylor & Francis group, July 2004. [LeBoudec02] Le Boudec, J.Y. and P. Thiran, Network Calculus: A Theory of Deterministic Queueing Systems For The Internet, Online Version of the Book of Springer Verlag LNCS 2050, July 2002. (http://lrcwww.epfl.ch/PS_files/NetCal.htm). [LIN 52] D.V. Lindley, The theory of queues with a single server, Proc. Camb. Phil. Soc., Vol. 48, pp.277-289, 1952. [Liu73] Liu,C.L. and J.W. Layland, Scheduling Algorithms for Multiprogramming in Hard Real -Time Environment, Journal of ACM, Vol. 20 (1), pp46-61, 1973. [MAR 93] R. Marie, A. Jean-Marie, "Quantitative evaluation of discrete event systems: models, performances and techniques", Proc. of PNPM'93, 5th international workshop on Petri Nets and Performance Models, pp2-11, Toulouse, France, Oct. 19-22, 1993. [PUJ 99] G. Pujolle, Les Rseaux, Eyrolles, 1999. [ROB 90] T.G. Robertazzi, Computer networks and systems: queueing theory and performance evaluation, Springer-Verlag, 1990. [ROM 90] R. Rom, M. Sidi, Multiple access protocols, performance analysis, Springer -Verlag, 1990. [SER 00] C. Servin, Tlcoms 1 : de la transmission larchitecture des rseaux, 2 e dition, Dunod, 2000. [SER 99] C. Servin, Tlcoms 2 : de lingnierie aux services, Dunod, 1999. [TAN 97] A. Tanenbaum, Rseaux, Prentice Hall et InterEditions, 3 e dition, 1997.

- 75 -

S-ar putea să vă placă și