Vous êtes sur la page 1sur 32

ANNEXE

C
Rseaux de files dattente

CHANE DE MARKOV
Nous considrons un systme qui peut prendre diffrents tats parmi un ensemble E :
E = {Ei, i = 1, 2}.
Les changements dtat se produisent dans le cas des chanes de Markov des instants
dtermins en un nombre dnombrable que nous noterons t1, t2, tk, Nous appellerons Pn(tk) la probabilit que, la date tk, le systme soit dans ltat En.
On suppose que la transition de ltat Ei ltat Ej ne dpend que de ces deux tats.
On note pij la probabilit quune telle transition ait lieu. linstant initial t0 on connat
les diffrentes probabilits initiales : Pn(t0). Lensemble {pij, Pn(t0) et Ei, i = 1, 2}
forme une chane de Markov.
Si lensemble des tats E est continu, la chane de Markov est continue. Si les dates de
changement dtat forment un ensemble continu, on dfinit un processus de Markov.
Nous nous intresserons dans cette partie un ensemble dtats E, fini ou dnombrable. Nous avons les quations suivantes :

La matrice des pij est une matrice stochastique puisque :

Exemple
Soit la chane de Markov de matrice de transition P. Le graphe correspondant est
reprsent la figure C.1.

999

LES RSEAUX

FIGURE C.1 Graphe de la matrice de transition P

On voit sur cet exemple que, partant de nimporte quel point, on est sr dy revenir
aprs un nombre de transitions fini. Les tats sont dits rcurrents. En revanche, dans
lexemple ci-dessous, certains tats sont transitoires :

FIGURE C.2 Exemple avec tat transitoire

Dans cet exemple, ltat E1 est transitoire, les trois autres tats sont rcurrents. Si la
matrice P peut se mettre, ventuellement aprs une nouvelle numrotation des tats,
sous la forme suivante :
1000

Rseaux de files dattente

o P1 et P2 sont des sous-matrices carres, la chane de Markov est dite rductible,


dans le cas contraire, elle est dite irrductible. Dans une chane de Markov rductible,
si lon se trouve dans lun des tats concerns par P1, il nest pas possible daller vers
P2 et rciproquement. Dans le premier exemple, la chane de Markov tait irrductible,
dans lexemple suivant, il y a trois ensembles rcurrents.

Si la matrice P peut se mettre sous la forme :

partant dun tat de P1, on peut aller vers un tat de P2. En revanche, la rciproque est
fausse. Les tats correspondant P1 sont transitoires, ceux correspondant P2 sont
rcurrents. La chane de Markov associe est rductible.
Lorsque la matrice P se prsente sous la forme :

la chane de Markov est dite priodique. Dans le cas contraire, elle est apriodique.
Si le nombre dtats est fini, une chane de Markov apriodique et irrductible est
ergodique, cest--dire stable : on peut calculer pour chaque tat la probabilit de sy
trouver. On dit encore quil existe un rgime permanent. Lorsque le nombre dtats est
infini, not, 0, 1, 2 une chane de Markov apriodique et irrductible peut ne pas tre
ergodique, cest--dire sloigner de plus en plus de ltat 0 pour ne plus y revenir.
Lquation de Markov que nous avons introduite Pj(tk + 1) = pij Pi(tk) peut maintenant scrire sous une forme matricielle : Pj(tk + 1) = P(t1) ? P o P(tk) est le vecteur
des probabilits dtat.
partir de ltat initial, nous obtenons :
P (tk) = P (t0) Pk.
La chane de Markov est ergodique sil existe une limite, lorsque k tend vers linfini,
de Pk, soit :
P* = lim Pk
Le rgime permanent est alors obtenu par :
P (t) = P (t0) P*
1001

LES RSEAUX

Le rgime permanent dpend de ltat initial. Par exemple, dans le cas o la chane de
Markov est rductible et possde plusieurs sous-chanes irrductibles, ltat initial est
important. En revanche, si la chane de Markov est irrductible et apriodique, la
matrice P a toutes ses lignes identiques et la multiplication de matrices du deuxime
membre est indpendante de ltat initial et :
P (t) = (P0, P1)
o P0, P1 est une ligne de la matrice P*.
Grce aux drivations prcdentes, nous pouvons calculer les probabilits dtat dans
le rgime permanent. En supposant le nombre dtats fini, le vecteur P = (P0, P1
Pk) est obtenu comme solution du systme :
P = PP*.
Si P** = P* I, il faut obtenir la solution de PP** = 0

FILE DATTENTE ET RSEAU DE FILES DATTENTE


Une file dattente peut tre reprsente par le schma suivant :

FIGURE C.3 Une file dattente

Un client arrive suivant un certain processus A. Si le guichet de service est libre, le


client y entre et il est servi avec un processus S. Sil nest pas seul dans la file dattente
son arrive, il lui est appliqu une discipline de service DS. Les plus classiques sont
FIFO (First In First Out) ou PAPS (Premier Arriv, Premier Sorti) en franais. Cette
discipline peut tre diffrente de PAPS (Premier Arriv, Premier Servi) sil y a plusieurs guichets de service. Beaucoup dautres disciplines de service existent : en particulier, LCFS (Last Come, First Served) ou DAPS (Dernier Arriv, Premier Servi),
alatoire Le nombre de guichets nest pas obligatoirement unique, il peut y en avoir
C. La file dattente peut ne recevoir quun nombre fini de clients que nous noterons ici
K. Si un client se prsente lorsque la file est pleine, il est refus. Enfin, notons L le
nombre total de clients qui peuvent emprunter la file dattente. Par exemple, dans un
systme informatique transactionnel o L terminaux sont connects, il ne peut pas y
avoir plus de L clients dans la file dattente. Ou encore, si les clients sont dans la file
dattente, il ne peut y avoir darrives.
Nous noterons une file dattente par : A/S/C (DS/K/L) ou A/S/C/K/L (DS).
Les lettres les plus classiquement utilises sont :
1002

Rseaux de files dattente

M pour markovien (ou poissonien ou exponentiel),


D pour constant (dterministe),
Ek pour Erlang k,
H pour hyperexponentiel.
Nous verrons dans le paragraphe suivant les dfinitions exactes de ces sigles.
Si les valeurs entre parenthses ne sont pas explicites, les valeurs prendre par dfaut
sont (FIFO, _, _).
Une file M/M/1 est donc une file avec un processus de Markov en entre et en sortie,
un seul serveur, une discipline de service premier arriv, premier servi, une capacit
infinie et un nombre infini de clients qui peuvent entrer dans cette file.
Pour arriver modliser des systmes beaucoup plus complexes, une file dattente
simple nest pas suffisante, il faut faire appel des rseaux de files dattente. Deux
catgories de rseaux seront tudies : les rseaux ouverts qui possdent une (ou plusieurs) entres de lextrieur et les rseaux ferms qui, au contraire, nont pas
dentres de lextrieur. Le nombre de clients est dans ce cas fixe, cest--dire
constant. Lorsque plusieurs classes de clients sont dfinies, si le rseau est ouvert pour
certaines classes et ferm pour dautres, le rseau est alors mixte.

Rseau ouvert
Soit le rseau reprsent figure C.4, contenant N files dattente. La station 0 est une
source et la station N + 1 un puits. Il faut dfinir les probabilits de routage . Soit pij
la probabilit quun client sortant de la file i se dirige vers la file j. Nous avons :
Pij = 0, 1, 2, 3... N ; j = 1, 2, ... N + 1

Les pij dfinissent une chane de Markov, cest--dire que la probabilit daller vers j
en sortant de la file i ne dpend pas des files dj traverses.

Rseau ferm
Dans le cas dun rseau ferm, les files 0 et N + 1 nexistent pas et peuvent tre supprimes. Lorsquil y a plusieurs classes de clients r = 1..., R il faut dfinir des probabilits de routage en tenant compte de la classe du client. On dfinit pir, jr, la
probabilit daller de la file i en classe r dans la file j en classe r.
Pour les rseaux ouverts, il faut aussi dterminer les arrives : p0, jr, la probabilit
lorsque lon arrive de lextrieur, dentrer dans la file j en classe r et pir, N + 1 la probabilit quun client sortant de la file i en classe r quitte le systme.
1003

LES RSEAUX

FIGURE C.4 Un rseau de files dattente ouvert

LES PROCESSUS DENTRE ET DE SERVICE


Nous ne nous servirons dans la suite que de processus de renouvellement : les intervalles de temps entre deux arrives ou les longueurs des services nont aucune corrlation entre eux. On retire un nouveau temps chaque arrive et chaque dbut de
service, indpendant de la valeur du prcdent tirage.
On note GI, une distribution gnrale suivant un processus de renouvellement et G le
cas le plus gnral. Par exemple, pour une suite dintervalles entre arrives A1, A2,
A3... tire suivant une distribution f, nous avons :

Cest un processus GI suivant la distribution f. En revanche, si lon prend la suite


suivante :

1004

Rseaux de files dattente

o un intervalle est rpt deux fois de suite, de telle sorte quil y a videmment corrlation entre deux arrives successives Ai,Ai, nous avons un processus darrive G
suivant la distribution f.

Processus de Poisson et loi exponentielle


Un processus de Poisson correspond des vnements alatoires dans le temps. Soit
ti les dates de ces vnements, et soit :

un intervalle quelconque de dure t. Nous cherchons prciser le nombre dvnements alatoires qui a lieu durant ce laps de temps. Des vnements alatoires sont dtermins par le fait que dans un intervalle t infiniment petit, la probabilit quil y ait
un vnement est gale t, o est le taux darrive des vnements. On suppose
que dans le temps t, il ne peut y avoir au plus quun vnement. Il est clair que les
instants darrives forment une chane de Markov puisque, partir dun temps ti, la
probabilit dun nouvel vnement ne dpendra pas du pass avant ti.
De plus, si lon dcompose le temps en intervalles t, les diffrents points forment
aussi une chane de Markov puisque le futur ne dpend que de ces points. Nous pouvons crire lquation de Markov lun de ces instants tn, o Pj(tn) est la probabilit
dtre dans ltat j au temps tn :

qui ici se dcompose en :


Pj (tn) = (1 t) Pj (tn 1) + t Pj 1 (tn 1)
ce qui signifie que soit dans lintervalle t il ny a pas eu dvnement et la chane tait
dj dans ltat j au temps tn 1, soit il y a eu un vnement, avec probabilit t et la
chane tait dans ltat j 1 au temps tn 1. Cette dernire quation peut encore
scrire :

1005

LES RSEAUX

La solution de ces quations donne le nombre dvnements dans le laps de temps t.


Soit Pn (t) la probabilit quil y ait n vnements pendant le temps t. Nous obtenons :

Cest la distribution de Poisson de paramtre .


Nous pouvons galement nous intresser au temps qui scoule entre deux vnements
successifs. Soit A cette variable alatoire, nous avons :
Prob (A = ) = e
La distribution exponentielle de taux se prsente sous la forme :
f(t) = e t
La fonction de rpartition associe est F(t) = 1 e t. La moyenne vaut 1/ et la
variance 1/2 de telle sorte que le carr du coefficient de variation vaut :

Distribution Erlang k
La loi dErlang peut tre reprsente par une suite de lois exponentielles. En particulier, la distribution Erlang k de taux est une somme de k distributions exponentielles
de taux /k. Cest un produit de convolution de k distributions exponentielles ou
encore le produit des transformes de Laplace. On obtient la distribution :

La fonction de rpartition associe est :

La variance de la distribution Erlang k vaut 1/(k 2) de telle sorte que le carr du coefficient de variation vaut :
1006

Rseaux de files dattente

Distribution hyperexponentielle
La distribution hyperexponentielle peut tre reprsente par un serveur parallle de
stations exponentielles.

FIGURE C.5 La loi hyperexponentielle

Avec la probabilit ai lintervalle de temps entre deux vnements sera une loi exponentielle de paramtre i. La distribution se prsente donc sous la forme :

Le taux de la loi hyperexponentielle vaut :

La variance :

1007

LES RSEAUX

Le carr du coefficient de variation que nous noterons CCV vaut dans ce cas :

Le carr du coefficient de variation vrifie lingalit CCV 1.


Il faut noter que pour une valeur du carr du coefficient de variation suprieure 1, on
peut trouver plusieurs distributions hyperexponentielles correspondantes. Une distribution hyperexponentielle doit tre dtermine par tous ses moments o lensemble
des serveurs parallles.

Comparaison des lois exponentielles, Erlang k


et hyperexponentielles
Cette comparaison peut seffectuer en examinant les carrs de coefficient de variation
qui peuvent tre schmatiss selon la figure C.6.

FIGURE C.6 Comparaison des lois

Il faut encore noter que les lois Erlang k ne permettent pas de recouvrir lensemble des
carrs de coefficient de variation entre 0 et 1. De plus, les distributions que nous avons
vues ne sont pas denses dans lensemble des distributions, cest--dire que lon ne peut
pas approcher une loi quelconque aussi prs que lon veut. Pour cela, il existe les lois
de Cox qui nous serviront ultrieurement.

Loi de Cox
Le guichet de service se compose dune suite de serveurs exponentiels, disposs
comme dans la figure C.7.
1008

Rseaux de files dattente

FIGURE C.7 La loi de Cox

L est le nombre de serveurs de la loi de Cox. Le temps de service de la m-ime tape,


cest--dire du m-ime serveur, est exponentiellement distribu de taux m. chaque
tape un client a la probabilit bm, m = 0, L 1 de continuer vers le serveur suivant
et 1 bm de sortir, cest--dire de terminer le service global.
Si Am = b0 b1 bm 1, la transforme de Laplace de la loi de Cox est :

On peut exprimer cela par : f(t) est la convolution des diffrentes lois exponentielles
avec un poids correspondant aux probabilits vers la sortie du serveur. Si le client
passe directement de lentre vers la sortie avec la probabilit 1 b0, la densit de service est une fonction de Dirac.
Les distributions de Cox sont identiques aux distributions qui possdent une transforme de Laplace rationnelle. En particulier, les distributions dErlang et les distributions hyperexponentielles sont des distributions de Cox. De plus, une somme de
distributions de Cox est une distribution de Cox.
Une des proprits importantes des distributions de Cox est dtre dense dans lensemble des distributions, cest--dire que toute distribution peut tre approche daussi
prs que lon veut par une distribution de Cox. Ce rsultat permettra, dans tous les cas
que nous pourrons trouver en modlisation, dtendre un thorme en distribution gnrale indpendante lorsquil est vrai pour les distributions de Cox. Ce sera en particulier le cas pour les thormes BCMP que nous verrons plus loin.

PROCESSUS DE NAISSANCE ET DE MORT


ET FILES LMENTAIRES
Un processus de naissance et de mort est une chane de Markov pour laquelle, partir
dun tat n, seuls deux tats sont accessibles : les tats n + 1 et n 1. Soit n et n, les
1009

LES RSEAUX

taux de naissance et de mort partir de ltat n, cest--dire que la chane de Markov


peut se prsenter comme dans la figure C.8.

FIGURE C.8 La chane de Markov

Nous avons lquation de Markov pour n > 0 :


(n + n) P(n) = n 1 P(n 1) + n + 1 P(n + 1)
et 0 P(0) = 1 P(1)
Cette chane est ergodique si :

cest--dire si au moins partir dun certain tat, la chane a tendance revenir vers le
point 0. Si cette condition limite est vrifie, on obtient :

Aprs normalisation, nous avons la solution gnrale :

La file M/M/1
La file M/M/1 est un processus de naissance et de mort mais avec des coefficients
constants :
1010

Rseaux de files dattente


i =

i = 0, 1...

j =

j = 1, 2...

Nous obtenons la solution gnrale en posant = /, tant lintensit de trafic, et


en supposant que < 1 pour que la chane de Markov soit ergodique : P(n) = n(1
).
Le nombre moyen de clients est obtenu facilement en calculant lesprance de cette
probabilit :

Pour obtenir le temps dattente moyen, il faut passer par lintermdiaire des transformes de Laplace. La transforme de Laplace de la loi du temps de service scrit :

La transforme de Laplace de la convolution de j telles distributions est :

La transforme de Laplace du temps de rponse est donc :

Mais cela nest pas autre chose que la transforme de Laplace de la distribution
( ) e ( )t. La distribution du temps de rponse est exponentielle de taux .
La moyenne est obtenue par :

Il faut noter lgalit entre N et T :

qui est une formule qui est toujours vraie dans les files dattente et qui a t dmontre
par Little (formule de Little).
1011

LES RSEAUX

La file M/M/1 avec dpendance de ltat


Nous examinerons le cas gnral o le processus de naissance et de mort nest pas dgnr. La file dattente possde des arrives de Poisson de paramtre n lorsque le
nombre de clients dans la file est de n et des temps de service exponentiellement distribus de taux n lorsquil y a n clients dans la file dattente.
La solution est celle donne par le processus de naissance et de mort que nous avons
tudi prcdemment :

Il faut noter que ce rsultat, assez simple pour une file complexe, est obtenu grce la
proprit sans mmoire de la loi exponentielle. En effet, si nous regardons le processus
de service au moment dune arrive, le temps de service moyen change et passe de
n 1 n. Comme le service est exponentiellement distribu, le temps de service qui
sest dj coul na aucune influence sur le futur ; on peut donc recommencer le service avec un nouveau taux sans modifier le comportement de la file. Pour une autre loi
que la loi exponentielle, il est trs difficile dexprimer le comportement dune file avec
dpendance de ltat : lorsquun nouveau client arrive, il faut dcompter la partie de
service dj faite.

La file M/M/c
Nous avons toujours un processus de naissance et de mort dans lequel les taux sont les
suivants :
i = i = 0, 1...
1 = 2 = 2... c = c
i = c si i > c
La condition dergodicit de la chane de Markov est ici < c. Si cette condition est
vrifie, nous obtenons :

o P(0) est obtenue par normalisation.

La file M/M/
La file M/M/possde un nombre de serveurs toujours suprieur au nombre de clients,
de telle sorte quaucun client na dattente. Le client rentre directement dans le service
1012

Rseaux de files dattente


et se prsente lentre de la file suivant un processus de Poisson de paramtre . Les
temps de service sont tous indpendants et exponentiellement distribus de taux . Le
nombre de clients dans la file est un processus de naissance et de mort, de taux :
(i) = pour tout i,
(i) = i pour tout i.
La condition dergodicit du processus de naissance et de mort est toujours satisfaite
puisquil ny a pas dattente et la solution ltat stationnaire se calcule facilement :

ce qui donne :

On peut montrer que la file plus gnrale M/G/ a exactement la mme solution. Le
processus de service ne dpend que de son premier moment. Cette file dattente M/G/
sera trs utile pour modliser les stations dont le nombre de guichets est suffisamment
grand pour quil ny ait jamais dattente dans une file devant les serveurs.
Le nombre moyen de clients dans la file dattente ou encore ce qui est quivalent, le
nombre de serveurs occups, est :
N=
Il faut noter dans cette file que, tant toujours stable, peut tre suprieur . Le nombre moyen de clients dans la file peut bien sr tre suprieur 1.

La file M/M/c/c
Ce systme est une file dattente avec un processus darrive de Poisson, un temps de
service exponentiellement distribu, un nombre de guichets gal c et une capacit
limite c. Cest un systme avec perte : lorsquun client arrive et trouve la file pleine,
ce client est perdu. Le nombre de clients au temps t est un processus de naissance et
de mort de paramtre :
(k) = si k c et (k) = 0 si k > c
Cest encore une file dattente qui est toujours stable puisque la file ne peut dpasser
c clients. On obtient :
1013

LES RSEAUX

do, si = / :

Cette formule a t dmontre par Erlang pour des rseaux tlphoniques. On a, en


particulier, la formule qui donne la probabilit que les c serveurs soient occups :

Il sagit de la formule dErlang. Cest encore la probabilit quun commutateur tlphonique qui possde c-joncteurs, rejette des appels arrivant des abonns.

File M/M/c/m/K
Cette file dattente contient c serveurs, la file est globalement limite m et le nombre
de clients qui peuvent lemprunter est K. Nous supposerons que c m K. Dans ce
cas, le taux des arrives dpend du nombre de clients dans la file. En effet, les clients
qui sont dj en attente dans la file ne peuvent plus y arriver par lextrieur. Nous
avons donc un processus de Poisson de paramtre (K n) o n est le nombre de
clients prsents dans le systme. Cest de nouveau un processus de naissance et de
mort de paramtre :

Ce systme est toujours stable. On obtient la solution suivante :


1014

Rseaux de files dattente

si n > m P(n) = 0.
La valeur de P(0) est obtenue par normalisation.
Quelques cas particuliers donnent lieu des formules classiques que nous allons dcrire.

La file M/M/c/c/K
Nous obtenons :

La file M/M/1/K/K

La file M/M/c/K/K

1015

LES RSEAUX

LES RSEAUX DE FILES DATTENTE


Les rseaux de Jackson
Nous avons tudi dans les paragraphes prcdents des systmes simples o il ny a
quune seule file dattente. Dans les rseaux de Jackson, nous prenons un modle plus
gnral constitu de plusieurs files dattente. Les rseaux de Jackson sont soit ouverts,
soit ferms. Ils sont forms uniquement de files dattente avec des serveurs exponentiellement distribus, et dans le cas ouvert, de clients arrivant de lextrieur suivant un
processus de Poisson. Nous allons, dans un premier temps, nous intresser aux rseaux
ouverts et plus particulirement un rseau constitu de deux files dattente en srie
comme dessin dans la figure suivante :

FIGURE C.9 Deux files dattente en tandem

Les arrives forment un processus de Poisson de paramtre et les temps de service


sont exponentiellement distribus de taux 1 et 2.
Nous pouvons crire lquation de balance globale pour ce systme. Soit n1 et n2 les
nombres de clients dans les files 1 et 2.
Si n1 et n2 > 0
( + 1 + 2) P(n1, n2) = P(n1 1, n2) + 1 P(n1 + 1, n2 1) + 2 P (n1, n2 + 1)
Cette quation peut tre dcompose en sous-quations que nous appellerons quations de balance locale :
P(n1, n2) = 2 P(n1, n2 + 1)
1 P(n1, n2) = P(n1 1, n2)
2 P(n1, n2) = 1 P (n1 + 1, n2 1)
Les cas frontires scrivent :
( + 1) P(n1, 0) = P (n1 1, 0) + 2 P(n1, 1)
( + 1) P(0, n2) = 1 P(1, n2 1) + 2 P(0, n2 + 1)
1016

Rseaux de files dattente


P(0,0) = 2 P(0, 1).
La premire de ces trois quations frontires peut se dcomposer en deux quations de
balance locale :
P(n1, 0) = 2 P(n1, 1)
1 P(n1, 0) = P(n1 1, 0)
La seconde se dcompose en :
P(0, n2) = 2 P(0, n2 + 1)
2 P(0, n2 1) = 1 P(1, n2 1)
Dfinissons plus formellement les quations de balance locale. Elles proviennent de
lgalit suivante : le flot de clients arrivant dans une station contenant n clients est
gal au flot des clients sortant de cette mme station en y laissant n clients. Ces quations de balance locale ne font intervenir que ltat dune seule file dattente la fois.
Dans lexemple prcdent et dans le cas gnral,
1 P (n1, n2) = P(n1 1, n2)
correspond lquation de balance locale de la premire file ;
2 P(n1, n2) = 1 P(n1 + 1, n2 1)
correspond lquation de balance locale de la deuxime file ;
P(n1, n2) = 2 P(n1, n2 + 1)
correspond lquation de balance locale dune file externe que nous noterons 0 et qui
peut tre interprte comme la source des clients et le puits des clients.
Si lon trouve une solution partir des quations de balance locale, cette solution sera
galement vraie pour les quations globales. Par contre, si en les utilisant aucune solution nest trouve, il faut revenir aux quations de balance globale.
partir des quations de balance locale, on trouve facilement la solution :
P(n1, n2) = P1(n1) ? P2(n2)

Cest une solution en forme produit, cest--dire le produit des solutions marginales
ou encore le produit de la solution de chaque file dattente.
Passons un exemple de rseau de Jackson plus compliqu avant daborder le cas gnral. Soit le modle dcrit dans la figure C.10.

1017

LES RSEAUX
FIGURE C.10 Le modle ltude

Les clients entrent par la station 1 qui possde un guichet de service exponentiel de
taux 1. Lorsquun client sort, avec la probabilit (1 p1) il va vers lextrieur (le
puits) et avec la probabilit p1 vers la seconde file dattente dote galement dun serveur exponentiellement distribu mais de taux 2. Lorsquun client finit son service,
avec la probabilit (1 p2), il part vers lextrieur et avec la probabilit p2 il reboucle
sur la premire station.
crivons les quations de balance globale et de balance locale dans le cas o n1 et n2,
les nombres de clients dans les files 1 et 2 sont strictement suprieurs 0.
( + 1 + 2) P(n1,n2) = P(n1 1, n2)
+ 1 p1 P(n1 + 1, n2 1)
+ 1 (1 p1) P(n1 + 1, n2)
+ 2 p2 P(n1 1, n2 + 1)
+ 2 (1 p2) P(n1, n2 + 1)
Les trois quations de balance locale scrivent :
P(n1, n2) = 1 (1 p1) P(n1 + 1, n2) + 2 (1 p2) P(n1, n2 + 1)
1 P(n1, n2) = P(n1 1, n2) + 2 p2 P(n1 1, n2 + 1)
2 P(n1, n2) = 1 p1 P(n1 + 1, n2 1).
La premire quation correspond la source/puits, la deuxime la premire file et la
troisime la deuxime file dattente.
On peut de nouveau dcouper les quations de balance locale en des quations appeles balance de station et qui permettent dobtenir des quations encore plus simples.
Ici, cette dcomposition supplmentaire nest pas possible.
Si nous supposons que la solution est le produit des deux solutions marginales, il nous
faut calculer les flux dentre 1 et 2 dans les deux stations. Nous avons les
quations :
1 = + 2 p2
2 = 1 p1

Si la solution est en forme produit, elle se prsente sous la forme :


P(n1, n2) = 1n1 (1 1). 2n2 (1 2)

1018

Rseaux de files dattente

On peut vrifier facilement sur les quations de balance locale que cette solution est
exacte.

Rseau de Jackson ouvert


Soit le rseau de Jackson le plus gnral possible reprsent dans la figure C.11.
Il y a N stations avec des guichets de service exponentiellement distribus de taux
(ni), i = 1, N. Autrement dit, le taux de service dpend du nombre de clients, de
telle sorte que des files du type /M/C1 peuvent composer le rseau. Le indique que
le processus dentre nest pas dtermin puisquil provient des flux des autres stations
sajoutant, le cas chant, un flux provenant de lextrieur. Les clients venant de la
source 0 se dirigent vers la station i avec la probabilit p0i. La source dbitant suivant
un processus de Poisson, le flot p0i est lui-mme un processus de Poisson. Nous
avons :

Soit pij, 1i n, 1 j N + 1, la probabilit constante quun client ayant termin dtre


servi par le serveur i se dirige vers la file j ou vers lextrieur (le puits) dnomm station N + 1. Dans certains cas, on confond 0 et N + 1.

FIGURE C.11 Un rseau de Jackson ouvert

Soit n = (n1, nN) le vecteur form des nombres entiers ni chacun des serveurs. Soit
encore a(n, i) un vecteur identique au vecteur n lexception de sa composante ni qui
est remplace par (ni + 1), et soit b(n, i) un vecteur identique au vecteur n, lexception
1019

LES RSEAUX

de sa composante ni qui est remplace par (ni 1). Enfin, le vecteur c(n, i, j) est identique n lexception des composantes ni et nj, lesquelles sont remplaces par (ni + 1)
et (nj 1).
Les quations de balance globale ltat dquilibre ou quation de Chapman-Kolmogorov scrivent facilement :

o i (ni) = 0 si lentier ni est nul et P(n) = 0 si le vecteur n contient une composante


ngative. Ces quations peuvent se dcomposer en quations de balance locale. Pour
i = 1..., N, nous avons :

Si nous supposons toujours que la solution ltat dquilibre est en forme produit, il
nous faut calculer le taux darrive i dans la file i. Nous avons, pour i = 1, N :

Le flot des arrives dans la file i est compos de ce qui arrive de lextrieur et de ce
qui provient des diverses stations. Cela nous donne N quations N inconnues.
Posons i = ei. La valeur ei peut tre interprte comme le nombre moyen de passages dun client par la station i. Nous obtenons le nouveau systme :

qui peut scrire sous forme matricielle :


e = p + eP
o p = (p01, p02, p0N),
et P = (pij, i = 1, N ; j = 1, N).
Comme le rseau est ouvert, la matrice P possde des lignes indpendantes et ei est
compltement dtermin par les quations e = p + eP.
1020

Rseaux de files dattente

Nous noterons Pi(0) la probabilit marginale pour la file i dtre dans ltat vide et plus
gnralement Pi(ni) la probabilit marginale davoir ni clients dans la file i.

1021

LES RSEAUX

Thorme
Un rseau de Jackson ouvert possde une distribution de probabilit stationnaire, si
elle existe, donne par :

o ei, i = 1 N est donn par la solution unique des quations :

e = p + eP et

La condition ncessaire et suffisante dexistence est Pi(0) > 0 pour i = 1, N,


cest--dire pour i = 1, N : lim sup [ei < i ()].
Lorsque les taux de service ne dpendent pas de ltat de la file dattente, la solution
est plus simple :

La condition ncessaire et suffisante de stabilit est :


ei < i pour i = 1, N.
La dmonstration consiste vrifier que la solution donne dans le thorme est bien
vrifie par les quations de balance locale.
Des extensions sont possibles : par exemple, le taux des arrives dans le rseau peut
dpendre du nombre global de clients dans le rseau :

Dans ce cas, la solution gnrale est donne par :

1022

Rseaux de files dattente

Une autre extension intressante concerne la limitation de capacit du rseau. Soit K*


le nombre maximal de clients que le rseau peut absorber. Si une nouvelle arrive se
produit lorsque le rseau est satur, le client arrivant est perdu. Cela revient prendre
(K*) = 0 dans la solution prcdente ou, ce qui revient au mme, calculer la probabilit P(0) sur lensemble des tats n tel que :

Rseau de Jackson ferm


Nous considrons toujours un systme de N files dattente mais les stations 0 et N + 1
sont relies de telle sorte quaucun client ne peut ni entrer ni sortir. Il y a un nombre
K constant de clients qui circulent entre les diffrentes stations. Comme p0i = 0, pour
calculer ei nous avons rsoudre le systme de N quations N inconnues :

dont la notation matricielle est : e = eP.


Ce systme na pas de solution unique puisque le dterminant de la matrice P est nul.
La valeur de ei ne peut tre dtermine qu une constante prs. En effet, le nombre
moyen de passages dun client par une station i est infini puisquil ny a pas de sortie
vers lextrieur.
Si pour une station dtermine m, on suppose em = 1, on peut calculer en regard de
cette valeur le nombre moyen de passages relatifs dans les autres stations. Ou encore,
entre deux passages par la station m, on passera en moyenne ei fois par les stations i =
1, N, i _ m. De toute faon, la solution gnrale ne dpendra pas de la constante prs
qui est utilise dans le calcul des ei.
Les quations dquilibre global ltat stationnaire scrivent :

Thorme
Un rseau de Jackson ferm possde une distribution de probabilit stationnaire donne par :
1023

LES RSEAUX

La dmonstration seffectue toujours par vrification des quations de balance locale


ou globale.

Exemple dapplication
Soit le rseau ferm de trois stations, reprsent dans la figure C.12 :

FIGURE C.12 Exemple de trois files en rseau ferm

Les temps de service sont exponentiellement distribus de taux 1, 2 et 3. Soit


encore K le nombre total de clients dans le rseau.
Appelons p2 (respectivement p3) la probabilit quun client qui vient dtre servi par
le serveur 1 se dirige vers le serveur 2 (respectivement 3), et p1 = 1 (p2 + p3) la probabilit que ce client retourne directement dans la file dattente de la station 1. La
matrice P = (pij) devient :

La solution du systme e = eP, en prenant e1 = 1, est :


e1 = 1,
1024

Rseaux de files dattente

e2 = p2,
e3 = p3.
Comme le systme est ferm, les hypothses du thorme sont toujours satisfaites et
nous obtenons :

En multipliant lexpression de droite par 1n1, nous avons :

La constante de normalisation G (K) sobtient trs aisment :

Le taux doccupation du serveur 1 peut encore scrire de la faon suivante :

RSEAUX BCMP (BASKETT, CHANDY, MUNTZ


ET PALACIOS)
Les rsultats obtenus pour les rseaux de Jackson peuvent tre tendus dans des cadres
plus gnraux, et en particulier sur les rseaux BCMP (dautres extensions sont dveloppes dans le tome 2 : rseaux de Kelly, rseaux insensibles).
Nous considrons toujours le rseau gnral reprsent figure C.11. Mais, il peut
maintenant y avoir des classes de clients. Soit r = 1, R les R classes de clients. Les
probabilits dun acheminement de clients travers le rseau sont donnes par lintermdiaire dune chane de Markov de probabilit de transition :
P = (pir, jr, i = 0, N et j = 1, N + 1, r = 1, R et r = 1, R).
La quantit pir, jr exprime la probabilit quun client de classe r dans la station i soit
dirig vers la file j dans la classe r. Les valeurs p0r, jr, et pir, (N + 1) r sont respectivement les probabilits quun client de source r entre dans la file j en classe r et quun
client de la file i sorte vers lextrieur dans le puits avec la classe r. Il est galement
possible davoir une source et un puits unique pour lensemble des classes de clients
1025

LES RSEAUX

qui sexprimeraient par des probabilits de transition p0, jr et pir, N + 1, mais cette prsentation est moins gnrale, car elle ne permet pas de diffrencier des flots darrive
du type r qui eux-mmes peuvent dpendre du nombre de clients de classe r lintrieur du rseau. Nous allons y revenir.
Les clients peuvent changer de classe au fur et mesure quils avancent dans le rseau.
Nous allons, dans un premier temps, diffrencier les classes de clients qui appartiennent une mme chane : soit la relation dquivalence r . r : r et r appartiennent la
mme classe dquivalence appele chane si un client de classe r peut un instant
ultrieur quelconque, devenir un client de la classe r. Nous allons avoir une partition
des classes de clients en I chanes.

Exemple
Les clients de classe 1 entrent dans la premire file dattente, ils rebouclent en classe 2 et
ils vont vers la deuxime file en classe 3. Les clients de classe 3 sortent ensuite vers
lextrieur. Ce modle permet de faire passer exactement deux fois chaque client dans une
file dattente. Les classes 1, 2 et 3 forment une chane. Les clients de classe 4 entrent dans
la premire file dattente et ces clients sont envoys automatiquement vers la deuxime
file dans laquelle ils rentrent en classe 5. (Il aurait t quivalent de supposer que les
clients de classe 4 entrent dans la deuxime file en classe 3, si lon na pas besoin de distinguer les clients de cette deuxime file). Les clients de classe 4 et 5 forment une
deuxime chane.

FIGURE C.13 Exemple de chane

Dans le cas dun rseau BCMP ouvert, le processus des arrives de nouveaux clients
dans le rseau suit une loi de Poisson avec deux types de paramtres possibles :
(K) lorsquil y a globalement K clients dans le rseau,
i(Ki) lorsquil y a Ki clients de la chane i dans le rseau.
Si lon dfinit des arrives par classes de la forme r(Kr), il faut ncessairement se
ramener des chanes ; si lon ne peut pas, il ny aura pas de solution du type BCMP.
Dans la suite, lorsque lon crit p0r,jr cela dsigne un client provenant de la source de
la chane laquelle la classe r appartient. On dfinit galement des chanes pour les
rseaux ferms. Lorsque certaines chanes sont ouvertes et dautres fermes, le rseau
1026

Rseaux de files dattente

est dit mixte.


Dsignons par eir la solution du systme :

La quantit eir donne le nombre moyen de passages dun client de classe r dans la file i.
Dfinissons encore les types de files dattente qui sont acceptables pour le rseau
BCMP. Il y en a quatre :
type 1 : la discipline de service est premier arriv premier sorti (FIFO), la station
a un seul serveur et le temps de service est exponentiellement distribu de mme
moyenne pour toutes les classes de clients. Si la station i possde un tel serveur, nous
noterons par i (ni) le taux de service, sil y a ni clients dans la station (y compris
celui qui est au service).
type 2 : la discipline est temps partag (PS processor sharing) ; un client reoit
fraction de seconde de service par seconde et revient la dernire place de la file
dattente si le service nest pas termin durant cet intervalle de temps. Ce quantum
doit tendre vers 0 pour que la discipline de service temps partag soit effective. La
distribution du temps de service peut tre une loi de Cox, distincte pour chaque
classe de client.
type 3 : le nombre de serveurs de la file dattente est suffisant pour quil y en ait toujours un de libre. Cela se traduit par la disponibilit immdiate dun serveur
lorsquun client se prsente dans la file. Les distributions de service sont des lois de
Cox, distinctes pour chaque classe de clients.
type 4 : la discipline de service est dernier arriv premier servi avec une priorit
premptive : lorsquun client arrive dans la station, il va directement au service et
celui qui y tait revient en tte de la file dattente et reprendra son service l o il la
laiss. De nouveau, la distribution de service est une loi de Cox, distincte pour les
diffrentes classes de clients.
Pour dfinir ltat du systme, il faut non seulement connatre le nombre de clients de
chaque classe, mais galement la position des clients dans la file dattente. Soit trs
gnralement :
n = (n1, nN)
le vecteur dtat du rseau dfinissant chaque station.
Lorsque la solution ne ncessite pas de connatre les classes de clients, ni sera le nombre de clients dans la file i et pourra tre dcompos en nir avec ni = nir, o nir est le
nombre de clients en classe r dans la station i. En revanche, pour avoir une
connaissance plus prcise de ltat de la station, nous dfinissons :
type 1
ni = (ri1, rini)
o rij est la classe du j-ime client en attente dans la station i dans lordre premier
arriv - premier servi (FIFO).
type 2 ou 3
ni = ((ri1, si1), (rini, sini))
1027

LES RSEAUX

o rij est la classe du j-ime client en attente suivant lordre darrive et sij ltape
du modle de Cox.
type 4
ni = ((ri1, si1), (rini, sini))
o rij et sij sont identiques ceux dfinis dans les types 2 et 3 mais lordre des rij est
dfini par la discipline de service dernier arriv - premier servi avec priorit absolue.
Soit encore :

ou bien, dans le cas de taux dentre dpendant de la chane :

Dfinissons les paramtres de la loi de Cox. La quantit lir est le nombre total de serveurs de la loi de Cox pour un client de classe r dans la station i ; la m-ime tape sera
note irm et Airm sera la probabilit pour quun client de classe r dans la station i atteigne la m-ime tape. Enfin, nirm est le nombre de clients la m-ime tape de classe
r dans le serveur i.
Thorme
La solution ltat stationnaire (sil existe), dun rseau BCMP est donne par :

Le thorme est trop gnral pour tre applicable facilement. Si lon sintresse aux
nombres de clients dans chaque file, nous obtenons le thorme simplifi :
1028

Rseaux de files dattente

Cela peut encore se simplifier si nous ne nous intressons quau nombre global de
clients dans chaque file, sans dpendance du taux des arrives.

o i est le taux dutilisation du serveur de la file i, donn par :

La dmonstration de ces thormes seffectue en vrifiant que les quations de balance


locales sont bien vrifies.

RFRENCES
Livre dintroduction aux techniques de modlisation.
S. FDIDA, G. PUJOLLE Modles de systmes et de rseaux, tome I Performance,
Eyrolles, Paris, avril 1989.
Livre dintroduction lvaluation de performance.
D. FERRARI Computer systems performance evaluation, Prentice-Hall,
Englewood Cliffs, 1978.
Livre introductif sur les rseaux de files dattente.
E. GELENBE, G. PUJOLLE Introduction aux rseaux de files dattente, Eyrolles,

1029

Paris, 1982.
Livre assez semblable au prcdent mais fortement complt par les G-Networks et les rseaux de files dattente temps discret.
E. GELENBE, G. PUJOLLE Introduction to queueing networks, Wiley, 1999.
Livre sur lvaluation de performance des rseaux locaux.
J. HAMMOND, R. OREILLY Performance analysis of local computer networks,
Addison-Wesley, Reading, MA, 1986.
Article dcrivant la simulation dun rseau Ethernet.
H.D. HUGHES, L. LI Simulation model of an Ethernet computer performance, vol.
3, 4, pp. 210-217, dcembre 1982.
Livre en deux tomes qui a t durant de nombreuses annes la rfrence sur les systmes de files
dattente.
L. KLEINROCK Queueing systems. Volume 1 : Theory, John Wiley, New York,
1975.
L. KLEINROCK Queueing systems. Volume 2 : Computer applications, John
Wiley, New York, 1976.
Excellente synthse des systmes de files dattente pour la modlisation des systmes de
communication.
H. KOBAYASHI, A.C. KONHEIM Queueing models for computer communications
system analysis, IEEE Transactions on Communications, vol. 25, pp. 2-29, 1977.
Livre trs complet sur lanalyse de performance.
E. LAZOWSKA, J. ZAHORJAN, G. GRAHAM, K. SEVCIK Quantitative system
performance : computer system analysis using queueing network models, Prentice-Hall, Englewood Cliffs, 1984.
Livre sur les rseaux de files dattente avec des applications au dimensionnement des systmes
de communication.
G. PUJOLLE, S. FDIDA Modles de systmes et de rseaux, tome II Files
dattente, Eyrolles, Paris, avril 1989.
Un des livres de rfrence sur lvaluation des rseaux de communication.
M. SCHWARTZ Computer communication network design and analysis, Prentice-Hall, Englewood Cliffs, 1977.
Exemple de mesures de performance dun rseau local Ethernet.
J.F. SHOCH, J.A. HUPP Measured performance of an Ethernet local network, C.
ACM, vol. 23, 12, pp. 711-721, dcembre 1980.