Documente Academic
Documente Profesional
Documente Cultură
YeQiong SONG
Master Informatique, Spcialit SSR, UE Rseaux Avancs, Support de cours pour la partie valuation de performances
-1-
YeQiong SONG
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-
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
Rcepteur de messages
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-
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 =
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-
YeQiong SONG
S1 S2 . . . SN interarrive
ordonnancement
Serveur de capacit c
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-
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).
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-
YeQiong SONG
6 5 4 3 2 1
q(t) 3 2 1
t-1
t+1 t+2
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-
YeQiong SONG
Population de clients
Serveur c
Ce systme peut tre modlis en termes de files d'attente comme montr par la Figure 5 avec les variables qui peuvent nous intresser.
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
-8-
YeQiong SONG
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-
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/
P[ A B]
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 ]
- 10 -
YeQiong SONG
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[a
b]
f X ( y)dy
FX (b) FX (a)
E[ X ]
n
np(n)
- 11 -
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 ]
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 -
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!
et Y de
P[Z
n]
)n
n!
2)
; 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
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 -
YeQiong SONG
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 ]
( t )k e k!
YeQiong SONG
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
d j P( s) ds j
s 0 0
( t ) j f x (t )dt
( 1) j E[ x j ]
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 -
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
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 -
YeQiong SONG
E 6 5 4 3 2 1 t1 t2t3 t4 t5 t6t7 t8 t
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.
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
Xn-1 = in-1]
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
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) :
p12 p22 . . .
. .
. .
. .
p1j
pij . . .
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 -
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 -
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
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 -
YeQiong SONG
(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 -
YeQiong SONG
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 -
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.
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 -
YeQiong SONG
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
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
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 -
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 -
YeQiong SONG
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
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.
- 26 -
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 -
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
m
0
tm(t )dt
- 28 -
YeQiong SONG
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
lim E[ni ] n
(2)
- 29 -
YeQiong SONG
E[U(ni)] = E[ai+1]
(3)
E[ai 1]
0
E[ai
t ]m(t )dt m
tm(t )dt
0
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
]E[z
ai
] E[z
ni U (ni )
]A(z)
(5)
o A(z)
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)
lim Pi 1(z )
lim Pi (z )
P(z )
- 30 -
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
P(z)
(1
(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.
P (z) z
P (1)
(1 )A (1) 1 A (1)
a
A(z)
E[z ]
0
t
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)
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 -
YeQiong SONG
A (z) z
M (0)
2 1
m
2
A"(z ) z
M "(0)
m2
Finalement :
2
m2 )
2(1
(9)
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).
e
s
et (12)
M (s)
E [e
sM
]
0
st
[ e
]dt
A(z )
et :
(z 1)
m 1
A (z) z
(z 1)]
2 z 1
- 32 -
YeQiong SONG
A"(z ) z
2
1
(z 1)]
3 z 1
d
P(z) =
z)
M (s)
0
m( t )e dt
(1
-st
sm
P(z)
1)
D (s)
)e sm e sm
2
m (2 2(1
) )
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]
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 -
YeQiong SONG
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
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 -
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
+.
X(t) 3 2 1
(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 -
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
(4)
limP[X n k]
n
YeQiong SONG
(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- )]
nT
(n+1)T
(n+2)T
(n+3)T
...
Nq
lim
1 T
+T E[X(t)]dt =
2(1
(8)
- 37 -
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)
(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 -
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).
- 39 -
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
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:
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 -
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.
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
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 -
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
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 -
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 -
YeQiong SONG
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)
- 44 -
YeQiong SONG
Le rendement maximal 18,4% est atteint lors que la charge du mdium est de 50% (cf. Fig.4).
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 -
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%.
Rendement
0,1 Char ge
10
- 46 -
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 -
YeQiong SONG
Rendement
0,1
1 Char ge
10
100
- 48 -
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
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 -
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 -
YeQiong SONG
CARACTERISATION DE FLUX
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 -
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.
- 52 -
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 -
YeQiong SONG
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.
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
- 54 -
YeQiong SONG
T1 P1
PO3 t2 arrive t1
PO2 t0
PO1
consommation
T1
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
- 55 -
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.
- 56 -
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.
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 -
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)
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 -
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).
- 59 -
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())/
- 60 -
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):
- 61 -
YeQiong SONG
t x (x )/
P[ Z
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 -
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.
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 -
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 )
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[a1 ] . Le thorme
affirme simplement que la limite du quotient est gale au quotient des limites :
E[W ] lim
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 ]
- 64 -
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
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)
ak ) / N . Il vient alors :
P{(r r )
a N
V
x}
( x)
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 -
YeQiong SONG
A1 A2 Ya
ak (ak ) 2 Yk ak
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.
E[W ] W
- 66 -
YeQiong SONG
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 -
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 -
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); }
- 69 -
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
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 -
YeQiong SONG
- 71 -
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 -
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)
- 73 -
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 -
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 -