Вы находитесь на странице: 1из 71

TABLE DES MATIRES

Table des matires


1

Introduction Gnrale

Files d'Attente et Trac

Mcanismes de partage de ressources

31

La Congestion: les phnomnes

45

Mcanismes de contrle de congestion

55

Bibliographie

68

ii

TABLE DES MATIRES

Chapitre 1

Introduction Gnrale
Sommaire
1.1

Panorama gnral . . . . . . . . . . . . . . . . . . .

1.2

La Qualit de Service . . . . . . . . . . . . . . . . .

1.3

1.2.1

Rseau Commutation de Circuit

1.2.2

Rseau Commutation par Paquets

La Modlisation

. . . . . . . . . .
. . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

3
4

Introduction Gnrale

'organisation des rseaux vise donner la matrise des phnomnes

qui s'y produisent, l'occasion du traitement des communications, et plus

gnralement des services qu'ils orent. Ces phnomnes sont gouverns par
le hasard de l'apparition des requtes, et s'tudient indpendamment des choix
de technologie mis en uvre. Ils sont justiciables du formalisme du calcul des
probabilits, et donnent naissance la notion de

trac,

qui va jouer un rle

central dans leur apprhension. Ainsi, les phnomnes de trac conditionnentils pour une large part la structure eective des rseaux modernes.
Ce cours prsente les lments de la thorie du trac, en en montrant l'impact
sur les architectures des rseaux et des systmes, et en introduisant les grands
problmes que doit aronter l'Ingnieur charg du trac.
Les notions dveloppes ici trouvent leur application dans les domaines de

conception des rseaux, dans les techniques de la planication, du dimensionnement des quipements, de la caractrisation et de la mesure de la Qualit de
Service, et de la gestion en temps-rel de leur comportement.
la

1.1

Panorama gnral

On tudie ici le rseau indpendamment des solutions techniques adoptes


pour son implmentation (bres optiques, liaisons radio, IP ou ATM, etc.) . Le
rseau apparat simplement comme un graphe, reliant des noeuds (commutateurs/routeurs) et desservant des terminaux. Il a comme fonction de relier les
terminaux, de leur permettre des changes d'information, ce qu'on appelle le

On crit

trac en trac
anglais

. Premire tche, dnir en quoi consiste le trac. An d'expliciter cette

notion, il sera ncessaire d'examiner plus en dtail le type de rseau et surtout


le service d'interconnexion qu'on envisage.

La Qualit de Service (QoS) est une autre notion importante. Il faudra tout

l'abrviation anglaise

d'abord la dnir, se donner les moyens de la chirer (cela dpend aussi du

s'est impose

service). Les processus se droulant dans le rseau sont de nature alatoire. Il

Quality of Service

en rsulte que la QoS met en jeu des notions de probabilit (probabilit de


rejet, etc.).
Par consquent, la dnition de la QoS et la vrication des contraintes
qu'elle fait peser sur le rseau feront appel aux notions du calcul des probabilits, et plus spcialement de la

thorie des les d'attentes. Cette discipline aura

deux fonctions complmentaires: d'une part valuer le niveau de performance


d'un rseau donn; d'autre part, estimer les ressources ncessaires au respect de
critres de QoS donns (on parle de

dimensionnement).

En gnral, les lments de la thorie seront insusants traiter entirement


les problmes de dimensionnement. On aura alors recours la

simulation, qu'il

faut considrer comme un complment l'approche mathmatique, les deux


mthodes se confortant mutuellement. L'usage conjoint de ces deux approches
amnera un bon niveau de scurit dans les prvisions.
Il ne sut pas d'estimer le niveau de ressources ncessaire; cette estimation
s'intgre, en fait, dans une dmarche beaucoup plus gnrale de

planication.

Le responsable du rseau doit en eet commencer par estimer la demande (son

1.2 La Qualit de Service

volume, notamment) et prvoir son volution, dimensionner les ressources en


consquence, et organiser leur mise en service. La structure du rseau, et pas
seulement sa taille, sont des sujets d'tude pour la planication.
Enn, quelles qu'aient pu tre les prcautions prises l'occasion de la dnition et du dploiement des services, il semble invitable que les comportements des sources, des ux de trac, provoquent des comportements inattendus,
contre lesquels le rseau aura se protger. C'est le domaine des phnomnes de
congestion, et des mcanismes de contrle en temps-rel. L'usage de mcanismes
spciques pour garantir les qualits de service s'impose.
Le cours abordera les points suivants:
 dnition du trac;
 rappels et complments en les d'attentes; application la modlisation;
 description des principaux mcanismes de gestion de la capacit (ordonnancement, priorits);
 prsentation des phnomnes de congestion et des mcanismes de protection.
 prsentation de la notion de Qualit de Service et des architectures de
rseaux avec QoS;
 description des principaux algorithmes et mcanismes de gestion du trac
permettant de dployer des ores qualit de service spcique.
Les notions dveloppes dans ce cours concernent tous les types de rseaux,
qu'ils soient commutation de circuit ou de paquets, qu'ils soient xes ou mobiles. En pratique, les exemples seront pris dans chacune des catgories, sans
ide prconue.
Elles sont applicables aussi bien pour de grands rseaux publics (rseaux
d'oprateurs, typiquement) que dans des rseaux privs (rseaux locaux, interconnexion de rseaux locaux constituant des rseaux privs virtuels).

1.2

La Qualit de Service

La notion de Qualit de Service veut rendre compte, de faon chire, du niveau de performances que l'utilisateur attend du rseau. La notion de QoS, son

Dans une architecture

mesure, sa vrication sont des tendances modernes  c'est dire que l'appari-

en couches, l'utilisateur

tion des mcanismes de la drgulation leur donne une importance croissante. de la couche de niveau
La signication prcise de la notion de Qualit de Service dpend videmment
du

service

envisag. Ainsi le service a-t-il des exigences de temps de rponse;

quelle est sa sensibilit aux erreurs de transmission; etc. Une dnition complte
se rfrera souvent au mode de transport de l'information  circuit ou paquet,
bien que la solution adopte par le rseau pour rendre le service doive rester
transparente l'utilisateur.

1.2.1

Rseau Commutation de Circuit

Le rseau tlphonique est le type mme de rseau commutation de circuits.


Une demande accepte se voit orir son usage exclusif un circuit (circuit

n est un processus
couche n + 1

de

Introduction Gnrale

lectrique continu, ou intervalle de temps d'une trame MIC) pour toute la dure
de la connexion. La QoS est dnie en premier lieu par la possibilit de ne pas
obtenir de circuit lors de la demande. On la mesure par la

probabilit d'chec.

D'autres critres, lis aux technologies, interviendront dans la QoS. Ils ne


concernent pas notre propos, ce sont les critres lis la qualit lectrique de la
liaison (attnuation du signal, distorsions).

1.2.2

Rseau Commutation par Paquets

Dans un rseau orant le service de commutation de paquets, l'information


des sources est fragmente en blocs lmentaires qui voyagent dans le rseau
indpendamment les uns des autres. Ces blocs ne possdent aucune ressource
en propre (comme dans le cas du circuit). Les paquets d'une connexion se retrouvent en comptition avec d'autres pour accder aux mmoires ou aux lignes
de transmission.
Il en rsulte un critre supplmentaire de Qualit de Service, li au sort
individuel de chaque paquet, qui subira un retard variable, et pourra mme
tre perdu, par exemple si une des mmoires qu'il doit traverser est sature.
On mesurera la QS par la probabilit de perte de paquet et par le dlai, qu'on
spciera par sa moyenne, ou de faon plus prcise par un

quantile.

Pour introduire cette notion, supposons qu'on ait pu mesurer les temps d'attente des paquets qui traversent un commutateur. On trace l'

histogramme qui
x et

donne les frquences empiriques d'observation d'un temps compris entre

x + x (Figure 1.1.a). Ou, mieux encore, la distribution cumule empirique (-

gure 1.1.b)  en fait ici la distribution complmentaire, qui donne la proportion


des mesures suprieures

x.

0.02

0.1
Proba (attente > x)

Proba (attente = x)

0.015

0.01

0.005

0.01

0.001

une proportion p=0.01


0.0001

au-dessus de x

1e-05
0

6
8
10
Temps dattente x

12

14

(a) Histogramme des temps

Fig. 1.1 

6
8
10x
Temps dattente

12

(b) Distribution cumulee

Observation des temps d'attente

Une lecture directe du graphique donne le quantile cherch. Dans une cam-

x dp des mesures recueillies. En termes mathmatiques,

pagne de mesure, ou l'issue d'une simulation, il sut d'estimer la valeur


passe par une proportion

14

1.3 La Modlisation

le quantile est dni partir de la fonction de rpartition, ou de la densit. Si


on note

et

les fonctions correspondantes pour une variable alatoire

(le

dlai du paquet, ici):

F (x)
f (x)
le quantile pour la valeur

=
=

P fX  xg
dF=dx

(1.1)

p (le p-quantile) est la valeur xp

Z1
xp

F (xp )

= 1
f (x)dx = p

telle que:

L'importance du quantile provient de la remarque suivante: les utilisateurs

Exercice: essayer de

d'un rseau  plus gnralement de tout serveur  ne sont pas sensibles la

trouver des

moyenne, grandeur thorique que personne ne ressent. Ils sont en ralit insen-

circonstances o la

sibles aux dlais courts, dont ils n'auront pas conscience; l'inverse ils seront

moyenne d'une

sensibles des grandes valeurs du dlai, qu'ils peroivent. Par exemple, dans le
cas o un paquet subit un retard trop important, une temporisation (qui teste le
retour d'un acquittement) va expirer, provoquant sa rmission (l'metteur interprtant le retard comme une perte). La temporisation joue le rle d'un seuil,
et seule la probabilit que le retard dpasse ce seuil est importante. Le quantile
mesure la valeur du dlai que le rseau assure dans

p des cas.

Ainsi, le temps qui s'coule entre le dcrochage du combin tlphonique et


la rception de la tonalit est de l'ordre de 0.4 secondes. Il devient intolrable
au del de 3 secondes (c'est dire que s'il dpasse cette valeur, on voit apparatre
des comportements d'impatience - qui dans ce cas peuvent mettre en cause le bon
fonctionnement de l'ensemble). Les tages d'entre des commutateurs doivent
donc assurer que ce temps n'est suprieur 3 secondes avec une probabilit

p = 0:01 (par exemple), en situation de trac de surcharge.

D'autres critres dnissent la QoS. Notamment, les notions lies la dispo-

nibilit du service sont extrmement importantes. En gros, il s'agira de garantir


la prsence permanente du service, et l'absence de ruptures intempestives de
connexions.
Dans un certain nombre de cas, les notions de rseau commutation de
circuit et commutation de paquet se superposent. La technique ATM par
exemple, commute des paquets (les cellules) dans un rseau de circuits virtuels. Les problmatiques des deux grandes catgories se trouvent ainsi mles
dans l'tude de ce rseau.

1.3

La Modlisation

Un rseau, un commutateur, sont des objets physiques complexes qu'il est


dicile d'apprhender dans leur totalit. D'autre part, on sent bien l'inutilit

grandeur aurait un
sens pour le client d'un
service

Introduction Gnrale

de tenir compte de la plupart de leurs caractristiques pour traiter un problme


de trac. La

modlisation est l'approche adapte ces questions.

Faire un modle, c'est, en partant d'une description complte du systme


rel, construire une abstraction simplie qui conserve les particularits des
phnomnes tudier  et seulement celles-ci. La modlisation est une technique
dlicate et empirique, un artisanat. Nous essaierons d'en montrer la puissance
et l'intrt, au travers d'exemples-types pris dans la pratique de dveloppement
et de l'exploitation des rseaux de tlcommunications modernes.

Repres bibliographiques
L'introduction du Calcul des Probabilits et donc du Hasard, est invitable.
Il faut donc au lecteur qui dsire rellement approfondir ce domaine acqurir
de bonnes notions de probabilits. L'ouvrage classique [Fel 71] peut tre utile
 mais il en existe beaucoup d'autres. Il lui faudra aussi de bonnes notions en
thorie des les d'attentes  une discipline part entire. Pour les besoins de ce
cours, le Chapitre qui suit en expose les lments ncessaires. Pour une tude
plus approfondie, le lecteur pourra se reporter aux rfrences [Kle 76, Gros 85,
Bay 00]  la liste n'est pas limitative.
Pour changer de registre, sur un plan rsolument pistmologique, la lecture
de [Rue 91] est trs enrichissante. L'auteur y dveloppe des considrations stimulantes sur la faon dont le hasard s'introduit dans la physique  considrations
applicables au trac.

Chapitre 2

Files d'Attente et Trac


Sommaire
2.1

La Station de Service lmentaire

. . . . . . . . .

2.2

Processus des Arrives . . . . . . . . . . . . . . . .

2.3

2.4

2.5

2.6

2.2.1

Processus de Renouvellement . . . . . . . . . . . . .

2.2.2

Processus de Poisson . . . . . . . . . . . . . . . . .

10

2.2.3

O rencontre-t-on les processus de Poisson ?

Processus des Services

. . . .

. . . . . . . . . . . . . . . .

10

11

2.3.1

Le temps de service rsiduel . . . . . . . . . . . . . .

11

2.3.2

La loi exponentielle . . . . . . . . . . . . . . . . . . .

11

2.3.3

Lois d'Erlang . . . . . . . . . . . . . . . . . . . . .

Processus de Naissance et de Mort . . . . . . . . .

12

13

2.4.1

La notion d'tat

. . . . . . . . . . . . . . . . . . . .

13

2.4.2

Chanes de Markov . . . . . . . . . . . . . . . . . .

13

2.4.3

Les processus de naissance et de mort

. . . . . . . .

Les les d'attente classiques . . . . . . . . . . . . .

14

15

2.5.1

La Notation de Kendall

. . . . . . . . . . . . . . .

16

2.5.2

Rsultats gnraux . . . . . . . . . . . . . . . . . . .

16

2.5.3

File M/M/1 . . . . . . . . . . . . . . . . . . . . . . .

18

2.5.4

La le M/M/c

. . . . . . . . . . . . . . . . . . . . .

19

2.5.5

Modles capacit limite . . . . . . . . . . . . . . .

20

2.5.6

Modle M/M/R/R (modle d'Erlang)

La notion de Trac

. . . . . . .

. . . . . . . . . . . . . . . . . .

20

21

2.6.1

Rseau fonctionnant sans attente . . . . . . . . . . .

22

2.6.2

Rseau fonctionnant avec attente . . . . . . . . . . .

24

Files d'Attente et Trac

es Tlcommunications font usage de thories et de mthodes

issues du Calcul des Probabilits, et connues sous le nom de Thorie des


Files d'Attentes (ou des rseaux de les d'attente). L'application au domaine de
tlcommunications, qui aboutit aux notions de trac, est le Tltrac.

2.1

La Station de Service lmentaire

La Thorie considre des

clients, qui se dplacent dans un rseau de serveurs,

qui les traitent. Lorsque plusieurs clients tentent simultanment d'obtenir un service, certains doivent patienter et attendre dans des

les d'attente, ou tampons.

Le vocabulaire est x et conventionnel. Les clients peuvent tre des humains


faisant la queue un guichet pour obtenir un ticket de train (le serveur est
l'employ qui dlivre les tickets). Ils peuvent reprsenter les paquets qui sont
aiguills vers une ligne de transmission et qui attendent la disponibilit de la
ligne (deux paquets pouvant tre en contention). Le serveur est alors l'automate
d'mission, et le temps de service est le temps d'mission.
Les demandes de prise de circuit dans un systme tlphonique sont un autre
type de clients. Dans ce cas, les serveurs forment un groupe: ce sont les circuits
qui desservent la direction demande.
La station de service est compose d'une le d'attente, de capacit nie ou
non, vide par un ou des serveurs, et alimente par un ux de clients: Fig. 2.1.

Discipline de
service

Loi du
service

Processus des arrives

Attente

Sjour
Fig. 2.1 

La station de service de base

Pour dcrire ce systme de faon prcise, il faut pouvoir spcier:


 Le mcanisme d'arrive des clients dans le tampon (c'est dire, en pratique, quelle loi le processus d'arrive va obir).
 Le temps de service (c'est dire la distribution de probabilit de sa dure).
 La discipline de service (quand un serveur se libre, quel client choisit-il)

2.2 Processus des Arrives

2.2

Processus des Arrives

Pour aller plus avant dans l'tude des proprits du trac, il va tre ncessaire
de passer en revue les deux composantes dont il dpend. A savoir, les arrives
de clients , et leur service.
On observe les arrives de clients l'entre du systme. Pour dcrire le
phnomne, la premire ide venant l'esprit sera d'utiliser l'intervalle du temps
entre arrives successives, ou bien le nombre des arrives dans un intervalle
donn.
Pendant la dure

T , n(T )

arrives se produisent. On chire le volume du

ux arrivant par le taux d'arrive dont la dnition intuitive est:



lim n(TT )

(2.1)

T !1

On pourra aussi estimer l'intervalle moyen entre arrives: c'est l'inverse de


la quantit prcdente.

2.2.1

Processus de Renouvellement

Dans le cas le plus favorable, la description statistique du temps entre les


arrives est trs simple. Supposons que la situation puisse tre dcrite de la
faon suivante:

Chaque fois qu'une arrive se produit, je tire au sort, selon une loi donne, l'intervalle jusqu' la prochaine arrive, de telle sorte que les intervalles
successifs soient indpendants.
On est alors dans le cas trs particulier d'un processus de renouvellement.
Il faut comprendre l'intrt d'une telle notion, mais aussi ce qu'elle a de rare.
Soit par exemple un processus d'arrive qui rsulterait de la superposition de
deux processus de renouvellement, indpendants.

Processus A

Processus B

Superposition A & B

Fig. 2.2 

? ?

La superposition de A et B

n'est pas

un renouvellement

Inutile de remarquer combien cette situation est commune! Le processus


de superposition

n'est pas

un renouvellement. En eet, pour prvoir l'instant

10

Files d'Attente et Trac

d'arrive du 3me client, il faut se rfrer au 2me, par exemple en tirant le


temps interarrives. Mais pour le 4me, son arrive ne peut tre prvue que par
rfrence au 1er, et non au 3me.

2.2.2

Processus de

Poisson

Supposons que le processus des arrives obisse aux rgles suivantes:

[t;t + t[ ne dpend pas de


t. C'est la proprit dite sans mmoire.
la probabilit d'apparition d'un client est proportionnelle t, la proba-

 la probabilit d'une arrive dans un intervalle


ce qui s'est pass avant l'instant


bilit de plus d'un vnement tant ngligeable (inniment petit d'ordre


suprieur). Le coecient de proportionnalit est not

 (intensit du pro-

cessus).
Voir pour une preuve
les ouvrages classiques

Ce sont l les hypothses classiques qui conduisent au processus de Poisson.


La probabilit d'observer

de les d'attente

k arrives dans un intervalle de longueur t vaut:


(t)k e t
Pk (t) =
(2.2)
k!

La loi de probabilit de l'intervalle entre deux arrives successives est

Exercice: calculer la
variance de cette
quantit

A(t) = 1 e t
La moyenne de cet intervalle vaut 1=:
Z1
E (t) =
t:dA(t)

(2.3)

Noter que le nombre moyen d'arrives observ dans tout intervalle de longueur

t est t. Noter aussi que le processus de Poisson est un processus de renouvellement.

2.2.3

O rencontre-t-on les processus de

Poisson ?

Quand on ne sait rien d'un processus d'arrives, il est assez tentant de lui
attribuer les deux proprits nonces ci-dessus, et qui conduisent aux formules
du processus de Poisson, tant elles semblent gnrales et raisonnables pour
de nombreux systmes. En ralit, il n'en est rien  et la vrication de ces
hypothses n'ira gnralement pas de soi. Le plus souvent, la justication du
recours l'hypothse poissonnienne repose sur le rsultat suivant.

Thorme [Cin 75, Fel 71]: Soient

processus de renouvellement ind-

i ;i = 1;    ;k).
i le taux d'arrive global du processus rsultant de leur super-

pendants, non ncessairement poissonniens de taux d'arrives (


On note
position.

=

Si la somme prcdente admet une limite



lorsque

augmente indni-

ment, alors le processus superposition tend vers un processus de Poisson de


taux

.

(Remarque: l'emploi de 

i 

et de la notion de taux d'arrive ne prjugent

absolument pas d'une hypothse poissonnienne pour les processus individuels).

2.3 Processus des Services

2.3

11

Processus des Services

Le processus de service pourra tre d'une complexit extrme, mais on se


borne le plus souvent supposer que chaque dure de service est indpendante
des autres, et qu'elles obissent toutes une mme loi de distribution: on parle
de variables indpendantes et identiquement distribues (i.i.d.). On dcrira cette
loi par sa distribution de probabilit :

B (x) = P ftemps de service


2.3.1

 xg

Le temps de service rsiduel

Une question qui revient souvent: j'observe un service qui a dj atteint


l'ge

y. Je m'interroge sur la distribution de la dure restant courir jusqu'


X la variable alatoire correspondante).

la n de ce service (notons

Dbut de service

Fin du service

=y

X
Observation

Fig. 2.3 

Calcul de la distribution du temps rsiduel

La rponse est trs simple: dire que

X >x

secondes restent accomplir

y + x, et savoir que Y = y
sachant que la dure totale est suprieure y:
c'est une probabilit conditionnelle. On a alors pour la distribution de X :

revient dire que la dure totale sera suprieure


revient calculer la probabilit

P (X > xjY

= y) =
=

P (service > x + yjY = y)


P (service > x + y) 1 B (x + y)
= 1 B (y )
P (service > y)

(2.4)

De faon quivalente, la densit sera

P (X 2 [x;x + dx[jY ) =
2.3.2

b(x + y)dx
1 B (y )

(2.5)

La loi exponentielle

La loi de service la plus populaire est la loi exponentielle, qu'il est traditionnel
d'crire en utilisant comme taux de service la lettre

B (x) = P (service  x) = 1 e
la densit correspondante est

b(x) = e

x

:

x

(2.6)

12

Files d'Attente et Trac

La loi exponentielle doit une bonne partie de son prestige la proprit


sans mmoire, dj rencontre, et qui pourrait ici s'noncer ainsi: savoir que le
service a dj dur 1 heure n'apporte aucun renseignement sur sa n prochaine.
On remarquera en eet que, pour la loi exponentielle, la densit calcule
l'quation (2.5) vaut:

e

b(xjy) =
indpendamment de

y.

(x+y)

y

= e

= b(x)

x

L'application de cette absence de mmoire montre

que la probabilit d'une n de service dans l'instant qui vient (dans l'intervalle

[t;t + dt[) est dt, quel que soit l'ge du service.

La loi exponentielle se caractrise par ses moments:

1=.
1=( )

 Moyenne de la variable :

 Variance de la variable :
On introduit le

Est-il besoin de le
rappeler  l'cart-type
est la racine carre de
la variance ?

coecient de variation, rapport de l'cart-type du temps de

service sa moyenne. Ici, on voit que le coecient de variation vaut 1.

2.3.3

Lois d'

Erlang

Supposons que le processus de service soit compos d'une cascade de

k ser),

veurs lmentaires exponentiels, identiques (c'est dire, de mme paramtre

et indpendants les uns des autres. Le temps du service est la somme des temps
passs dans chaque serveur.
Supposons

= 2. Notons X le temps total, X

temps services; la distribution

2:

P fX  xg = P fX

Evidemment,

et

et

de

est donne par la

+ X  xg =
2

x
u=0

les dures des deux

convolution

de

et

B (x u)dB (u)
1

sont identiques, et correspondent l'exponentielle.

P fX  xg

=
u
= 1

=0

1
x

(x u)

xe

e

x du

x

Plus gnralement, on montre (voir annexe ce chapitre) que la mise en


cascade de

serveurs exponentiels de mme paramtre

bution:

B (x) = P fX

+ X +    + Xk  xg = 1
2

On appelle cette distribution la

 conduit une distri-

k
X
(x)j
j =0

j!

distribution d' Erlang-k,

x

(2.7)

et la loi de pro-

babilit (2.7) est la loi d'Erlang- . Puisqu'il s'agit d'une somme de variables
alatoires indpendantes, moyenne et variance s'obtiennent facilement, comme
la somme de la moyenne et de la variance de chaque variable exponentielle:
 Moyenne de la variable :

k=.

2.4 Processus de Naissance et de Mort

 Variance de la variable :

k=(

)p
1= k.

 Le coecient de variation est

2.4

13

Processus de Naissance et de Mort

2.4.1

La notion d'tat

La notion d'tat a une base intuitive: dcrire l'tat d'un systme, c'est donner la liste des caractristiques qu'il possde, et aussi donner les lments qui
permettent de prvoir son volution. En mcanique, par exemple, on dcrit
l'tat d'un point matriel par ses coordonnes

x;y;z

vx ;vy ;vz .
via les

et par sa vitesse

Ces quantits une fois connues, on peut dcrire la position du point, et


quations de la mcanique, la trajectoire qu'il doit suivre.

Il en est de mme pour un systme stochastique, la dirence que la prvision du futur y prend un caractre probabiliste: on ne saura prvoir l'tat exact
dans quelques secondes, mais seulement sa distribution de probabilit.

2.4.2

Chanes de

Markov

X , espace d'tat discret (X ne prend ses


X peut reprsenter
le nombre des clients dans un tampon: X = 0;1;2;   ). On peut noter les tats
E ;E ;    ;Ek   . Notons t ;t ;    ;tn les instants successifs des changements
d'tat de X , et x ;    ;xn la suite des tats visits. Les tn pourraient tre, par
Considrons une variable alatoire

valeurs que dans un espace discret. Pour se xer les ides,

exemple, les instants d'arrive et de dpart dans le tampon. Dans le cas gnral,
l'tude de l'volution de

est trs dicile. Il existe une circonstance capitale,

qui est la base de tous les dveloppements qui suivent: Dans le cas gnral, la

Andrei Andreyevich

valeur de

Markov,

X l'instant tn dpend de tout le pass, c'est dire de X (t );X (t ),


etc. On dira que X obit la proprit de Markov si:
P [X (tn ) = xn j X (tn ) = xn ;X (tn ) = xn ;    X (t ) = x ]
= P [X (tn ) = xn j X (tn) = xn]
En bref, seul l'tat courant ( tn ) inuence l'volution prochaine du processus.
C'est encore la proprit sans mmoire.
Supposons de plus le processus homogne, c'est dire invariable par trans+1

+1

+1

+1

+1

lation dans le temps. Ceci autorise introduire la notation:

pj;k = P [X (tn

+1

) = Ek j X (tn) = Ej ]

(sans l'homognit, il aurait fallu introduire une notation du genre


proprit de Markov se traduit par:

P [X (tn

+1

) = Ek ] =

X
j

pj;k P [X (tn ) = Ej ]

pnj;k ).

La

(2.8)

C'est l la forme lmentaire d'un rsultat fondamental, connu sous le nom


d'Equation de Chapman-Kolmogorov. Le processus tudi est une
Markov.

chane de

mathmaticien russe
(1856-1922)

14

Files d'Attente et Trac

2.4.3

Les processus de naissance et de mort

L'tude des processus de Markov les plus gnraux est un des grands chapitres du Calcul des Probabilits. Pour les besoins trs limits de ce rappel,
nous nous limitons au cas trs particulier  et trs utile  o le processus ne
peut faire de sauts que vers ses voisins les plus proches. Les seuls mouvements

Ek et Ek . Le taux de passage de Ek Ek + 1 est


k : c'est le taux de naissance. Le taux du passage de
Ek vers Ek est le taux de mort k . Le processus de naissance et de mort a t
introduit dans l'tude de l'volution des populations: l'tat Ek fait rfrence
autoriss sont de

Ek

vers

+1

traditionnellement not
1

la taille. En accord avec cette origine, et pour simplier l'criture, on nommera


les tats plus simplement

1;2;3;   , sans perte de gnralit.

Le problme est simple: nous cherchons driver la distribution de probabilit de l'tat, c'est dire la fonction

Pk (t) = P [X (t) = k]
Nous allons procder en utilisant la dynamique des quation de Chapman-

t, et examinons les possibilits. A


t + t, l'tat sera k si:
 A t, l'tat tait k et rien ne s'est produit.
 A t, l'tat tait k
1 et une naissance s'est produit durant l'intervalle
(t;t + t).
 A t, l'tat tait k +1 et une mort s'est produit durant l'intervalle (t;t +t).
L'intervalle t est petit. D'autres vnements plus complexes (2 arrives,
etc.) auront lieu avec des probabilits en o(t). On crira donc:

Kolmogorov. Plaons-nous un instant

l'instant

Pk (t + t)

= Pk (t)(1 k t k t) +
+ Pk (t)k t +
+ Pk (t)k t +
+ o(t)
1

+1

+1

Cette quation transcrit dlement la description des possibilits donne


ci-dessus. A partir de cette forme, on crit une quation direntielle par les
traitements classiques:

Pk (t + t) Pk (t)
t

t)
= (k + k )Pk (t) + Pk (t)k + Pk (t)k + o(
t
1

+1

+1

Cas particulier, en 0 la transition de mort n'existera pas. Finalement, le


passage la limite conduit au systme direntiel fondamental:

dPk (t)
dt
dP (t)
dt
0

(k + k )Pk (t) + Pk (t)k + Pk (t)k

 P (t) + P (t)

+1

+1

(2.9)
(2.10)

2.5 Les les d'attente classiques

15

Nous nous limiterons au cas de systmes l'quilibre. Pour un systme dynamique l'quilibre, un

rgime permanent existe, tel que les probabilits d'tat

ne dpendent pas du temps. On rcrira simplement le systme ci-dessus, en y


annulant toutes les drives. La distribution stationnaire sera note

(k + k )Pk =
P =
0

Pk k
P
1

+ Pk

+1

k

Pk .

(2.11)

+1

(2.12)

P en fonction de P , puis P en
P et P , et ainsi de suite. On achve le calcul par la condition de
normalisation, qui dit que le systme doit bien se trouver quelque part:
Systme que l'on rsout par rcurrence:

fonction de

X
k

Pk = 1

(2.13)

Le jeu des quations (2.11,2.12) admet une interprtation trs fructueuse. On

(k +k )Pk comme un ux de probabilit qui


k. Un terme tel que k Pk mesure le ux de probabilit montant

peut interprter le terme de gauche


quitterait l'tat
de

k vers k + 1. Ce ux est le produit de la probabilit de se trouver dans l'tat

par le taux de dpart montant (sachant qu'on s'y trouve, si l'on veut). La mme
interprtation vaut pour les autres termes. L'quation dit alors que, pour que
les probabilits gardent des valeurs constantes, il doit y avoir galit entre les
ux entrant et sortant des dirents tats.

k-1
k-1

k
k

k
Fig. 2.4 

k+1

k+1

Diagramme d'volution d'un processus de naissance et de mort

On met prot cette interprtation pour crire trs rapidement les quations,
partir d'un diagramme analogue celui de la Figure 2.4.

2.5

Les les d'attente classiques

Nous rappelons trs brivement les principaux rsultats: se reporter un


cours lmentaire de les d'attentes.

16

Files d'Attente et Trac

2.5.1

La Notation de

Kendall

Pour identier un systme les d'attentes, le formalisme suivant a t


propos et est unanimement adopt:
A/B/n/K/N
La premire lettre identie la loi du processus des arrives, la seconde le processus des services, avec dans les deux cas les conventions:
 M : loi sans mmoire (arrives poissonniennes, service exponentiel);
 D : loi dterministe;
 Ek : loi  Erlang-k
 Hk : loi hyperexponentielle d'ordre k;
 GI : loi gnrale, les variables successives tant indpendantes;
 G : loi gnrale, sans hypothse d'indpendance.
Le chire qui suit donne le nombre de serveurs, les lettres qui suivent (facultatives) identient la taille de la le d'attente et la taille de la population source
(si ces valeurs sont omises, elle sont supposes innies).
Par exemple, M/M/1 fait rfrence au modle de base: arrives poissonniennes, service exponentiel, un seul serveur, le d'attente non borne. M/D/K/K
indique un service de dure constante, K serveurs et K places au total (c'est
dire pas d'attente: modle d'Erlang, voir plus loin).
Dans une le d'attente, un paramtre de premire importance est le taux

. C'est le produit du taux d'arrive des


 =   E (s). On peut montrer que 1  donne

d'utilisation, not traditionnellement


clients par le temps de service:

la probabilit de trouver le serveur inactif. Il faut (pour une le de capacit


innie) que

2.5.2

 < 1 (condition de stabilit).

Rsultats gnraux

Rsoudre un systme de les d'attentes consistera, en fonction des paramtres (taux d'arrive

, taux de service ), crire la distribution du nombre

des clients dans le systme et du temps d'attente  ou dfaut de prvoir les


moyennes de ces quantits. On peut citer quelques rsultats de porte gnrale
 indpendants des lois des processus mis en uvre:
 Le paramtre

 = =

est le taux d'activit. La probabilit stationnaire

que le serveur soit inactif est

=1

 (voir la discussion des notions de

tracs oert et coul ce sujet).

 Les nombres moyens et les temps d'attente sont relis par la clbre

for-

mule de

Little:

L'indice

x signie qu'on peut donner ces grandeurs toute interprtation

E (Nx ) = E (Wx )

possible: le temps moyen d'attente et le nombre des clients en attente; ou


bien le temps de sjour et le nombre des clients sjournant; etc.

2.5 Les les d'attente classiques

17

Cette dernire formule est trs importante. Une preuve intuitive peut en tre
donne, base sur un raisonnement graphique trs simple.
Observons l'occupation du systme (noter qu'on ne fait

aucune hypothse

sur celui-ci). Chaque fois qu'un client entre ou sort, on met jour le nombre
des prsents, et l'volution de

N (t),

nombre de clients prsents, ressemble au

diagramme suivant (Figure 2.5):

T
1

N(t)

xxxxxxx
xxxxxxx
xxxx
xxxxxxx
xxxx
xxxx

xxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx

t
2 31
Fig. 2.5 

54

La formule de

Little

Pour estimer le nombre moyen de clients dans le systme, on peut compter

la surface totale intercepte par


par chaque client:

Dk , Dk

N (t):

c'est la somme des surfaces apportes

tant la dure que le client

systme. Le nombre moyen sera alors

E (N ) =

lim
T !1

k va passer dans notre

Dk
T

(en eet, la moyenne est dnie traditionnellement comme une limite). Maintenant, la somme peut se r-crire, en introduisant le nombre
dans la dure

T:

Dk
T

Dk
n

n de clients concerns

 Tn

Sous des conditions assez gnrales, la limite du produit est gale au produit

n=T est simplement le taux d'arrive du processus  on


. Le premier terme n'est rien d'autre que le temps moyen que chaque

des limites. Le terme


le note

client passe dans le systme. Si le systme est le tampon d'attente, on retrouve


l'expression prcdente. On peut aussi donner au systme d'autres sens (et par

18

Files d'Attente et Trac

exemple, la formule relie aussi bien le nombre moyen des clients verts au temps
moyen qu'ils passent dans le systme, etc.) .

2.5.3

File M/M/1

C'est le modle le d'attentes le plus clbre  juste titre, certainement.


Il permet en eet d'illustrer les concepts fondamentaux lis l'attente devant
un serveur, tels que les prsentent les quelques exercices (classiques) proposs
au Chapitre suivant.

,
), la le d'attente de capacit innie. Les

Le systme est dcrit par le processus des arrives, poissonnien de taux


la loi exponentielle de service (taux

clients pourront tre supposs servis dans l'ordre de leur arrive si cela peut ai-

n>0
1 en attente) un instant t,
la n de service du client en cours se produit dans l'intervalle (t;t + t) avec
une probabilit t + o(t): proprit fondamentale de la loi de service exponentielle. De mme, une arrive se produira dans l'intervalle, avec probabilit
t + o(t). On applique ce systme le formalisme et les rsultats obtenus
der l'intuition  mais cette hypothse n'est en fait pas ncessaire. Lorsque
clients sont dans le systme (un en service,

plus haut sur le processus de naissance et de mort. L'tat est dcrit par

n, qui

reprsente cette fois le nombre total des clients dans le systme. Il volue selon
un processus de Naissance et de Mort trs simple (gure 2.6).

  
  


....

Fig. 2.6 




....

Evolution de l'tat de la le M/M/1

Du diagramme, on dduit les rsultats qui suivent. On va ici en donner une


dmonstration dtaille. Pour les autres systmes plus loin, l'exercice est laiss
au lecteur.
L'analyse du systme, selon la procdure des quations de Chapman-kolmogorov,
aboutit aux quations suivantes:

P
( + )Pk

=
=

P
Pk  + Pk 

La sommation des quations de rang 0


simple:

+1

n conduit la forme particulirement

Pn = Pn

+1

soit

Pn

+1

= Pn (avec  = =) et par rcurrence Pn = n


+1

+1

0.

La normali-

2.5 Les les d'attente classiques

sation achve le traitement:

19

Pn = P

k =

=1

Finalement:

= n(1 )
PW = 

E (n) =
1 

E (nW ) =
1 

n0

Pn

=




(2.14)

PW
dduit,

=
.
1 

E (n) donne le nombre


E (nW ) le nombre moyen en attente. On en

est la probabilit qu'un client ait attendre.

moyen de clients dans le systme, et

via

la formule de Little, les temps moyens d'attente

=


et de sjour

 un rle important. Tout spcialement,


 doit tre strictement infrieur 1, sinon les quotients
n'ont plus de sens. On montre que la condition  < 1 est une condition ncessaire
Les expressions ci-dessus font jouer

elles imposent une limite:

et susante d'existence des probabilits stationnaires, ce qui est conforme


l'intuition.

2.5.4

La le M/M/c

Mmes hypothses et notations que ci-dessus, avec un nombre


identiques en pool. Que deviennent les taux de service ?
Imaginons le systme dans l'tat
prsents, qui occupent

k < c.

Cela signie que

c de serveurs

Le lecteur dbutant

clients sont

k serveurs (les autres sont inactifs). Dans l'intervalle t

qui vient, chacun des services en cours peut se terminer, avec la probabilit

t + o(t)

(services exponentiels). La probabilit d'une et une seule n de

service est la somme des probabilits que chacun des services s'achve, diminue
de la probabilit de 2 ou plus ns de services 

o(t)

vnement de probabilit en

, donc ngligeable dans l'opration de passage la limite. Le taux de

k tant que k < c et c au-del (parce que c est la limite au


A et le trac par serveur
est  = A=c. La condition de stabilit reste  < 1  soit A < c .

service vaut donc

nombre des serveurs actifs) . Le trac oert est not


On trouve:

P (k) =
P (0) Ak
c
P (k) = P (0) Ac ()k
!

avec

P (0) =

"c k
XA
1

kc
k>c

Ac 1
+
k! c! 1 

(2.15)
(2.16)

(2.17)

devra suivre ce qui suit


avec attention

20

Files d'Attente et Trac

La probabilit d'attendre est

PW

= Ac! 1 1  P (0) = C (A;c)


c

(2.18)

On connat cette
formule sous le nom de
Formule d'Erlang

Le temps moyen d'attente se dduit de ce qui prcde, au prix de quelques


calculs:

E (W ) =

avec attente ou
 Erlang-c

2.5.5

PW

c(1 )

E (s)

(2.19)

Modles capacit limite

Le modle M/M/1/K correspond au cas d'une capacit de


tion, l'usage veut que

K clients. Atten-

reprsente le nombre total de clients dans le systme,

c'est dire en attente ou en service.


Le diagramme d'volution est obtenu par la troncature du diagramme M/M/1,
et les quations donnent facilement le rsultat:

P (n) =

n (1 )
1 K

(2.20)

+1

Le critre de QS est bien sr la probabilit de rejet:

K
 = 1 (1K )

(2.21)

+1

Evidemment, ici on peut lever la condition

 < 1. On remarque que  = 1

conduit une dicult sur la formule. C'est qu'en ralit elle est arrange, et
il faudrait lire par exemple

 = 1 +  +  +    + K
2

2.5.6

Erlang)

Modle M/M/R/R (modle d'

C'est le modle de systme le plus simple, et le premier avoir t tudi.


Considrons un groupe de serveurs, exploits en pool, c'est dire que chacun
des serveurs peut servir indiremment les clients qui se prsentent. Les clients
arrivent devant le groupe des serveurs selon un processus de Poisson, de taux

.

A leur arrive, les clients sont servis immdiatement tant qu'un serveur au

moins est libre; si les serveurs sont tous occups, le client qui arrive est rejet,
et est suppos disparatre dnitivement. On parle de modle  perte.
Il est ais d'adapter le modle de la le M/M/c, en tronquant le diagramme
d'tat au rang
On trouve:

R. On note A = =.
P (k) =

Ak
PRk! Ak
0
k!

0kR

(2.22)

2.6 La notion de Trac

  
 
2 


Pour d'obscures

....

Fig. 2.7 




k

....

R

AR

E (R;A) = P (R) = PRR Ak


!

anglo-saxons la
nomment formule

(2.23)

k!

comme probabilit de trouver le systme plein; compte tenu de la nature des


arrives, c'est aussi la probabilit de rejet. La notation

E (R;A)

est assez clas-

sique. Il est possible de prouver que le rsultat prcdent est valide mme pour
un service de type quelconque (systme M/G/R/R).
Le calcul eectif de la formule de la perte pose problme sous la forme cidessus: il serait vain d'valuer une factorielle par une mthode directe! Il vaut
mieux utiliser une rcurrence:

X := 1
pour j de 1 a R faire
X := 1 + X*j/A
fin pour
E(R,A) := 1/X
On pourra aussi souvent utiliser une approximation (remplacer la somme
au dnominateur par l'exponentielle, et utiliser la formule de Stirling pour les
factorielles), qui donne une prcision assez spectaculaire:

E (R;A) 

 A R
R

e A=

2R

(2.24)

Anticipant sur les dnitions des tracs couls, le calcul du trac coul
permet de vrier la concordance des dnitions:

Ae =

jP (j ) = A[1 E (A;R)]

(2.25)

L'hypothse du service exponentiel n'est pas ncessaire, les rsultats restant


valables pour une loi quelconque (de moyenne
permet des calculs simples.

2.6




Diagramme d'tat du modle d' Erlang

et.

raisons, les

d'Erlang-b

1=). L'hypothse exponentielle

La notion de Trac

Les mcanismes d'occupation des ressources constituent le phnomne fondamentalement responsable de la dgradation possible de QoS; en eet, le rseau

21

22

Files d'Attente et Trac

ore des ressources en commun ses utilisateurs, que ceux-ci doivent se partager. Le terme de trac rend compte de la quantit de travail prsente dans
un serveur, sous forme d'occupation de ce serveur. Le terme dsigne la fois la
notion de travail qu'un rseau va traiter (on parle ainsi du trac routier, par
exemple) et la grandeur numrique qui mesure ce travail.

2.6.1

Rseau fonctionnant sans attente

C'est le cas normal d'un rseau commutation de circuits. Observons un


groupe de circuits (faisceau reliant deux commutateurs du rseau tlphonique,
par exemple). Le nombre de circuits occups concerne directement la source
(susceptible de rclamer un circuit et d'essuyer un chec). Ce nombre uctue, et

trac coul. En termes


N (t) le nombre des circuits occups l'instant t, le
trac coul Ae sera l'esprance mathmatique de N (t) (supposant les bonnes
l'on peut en dnir une valeur moyenne, qu'on appellera
mathmatiques, si on note

conditions de stationnarit).

ZT
1
Ae  E (N ) = Tlim
N (t)dt
!1 T

(2.26)

Comment estimer exprimentalement cette grandeur ? Supposons qu'on observe un groupe de

R circuits (ceci est valable, bien sr, pour tout systme de

serveurs recevant des clients, selon la terminologie de la Thorie des Files

T , susamment long; des connexions


d ;d ;    dk . Le plus souvent, des connexions

d'attentes). L'observation dure un temps


ont lieu, dont on enregistre les dures:

ont dj commenc et sont en cours l'instant 0, d'autres ne s'achveront


qu'aprs

T . On incorpore alors au comptage la fraction incluse dans l'intervalle.

On estimera le trac coul par:

di
T
(en toute rigueur, il faudrait augmenter T indniment, ce qui liminera tout
eet de bord : la quantit ci dessus est un estimateur du trac coul). La
preuve de l'identit entre les deux expressions de Ae est, l encore, dans le
Ae 

mode de calcul exprimental de la moyenne: on estime la surface en comptant


les pavs de la gure 2.8.
Le trac coul peut s'interprter d'une autre faon. Soit

d la dure moyenne

de service (supposant, encore une fois, l'existence de toutes les limites ncessaires). Soit

n le nombre des clients

arrivant dans la priode de mesure

La formule dnissant le trac peut s'crire:

Ae =

di
T

di
n

 Tn

Le premier terme reprsente la dure moyenne de service (l encore, si


donc

n,

(0;T ).

T,

et

tendent vers l'inni). Le second terme reprsente le taux des arrives

acceptes (nombre par unit de temps). Il faut faire la distinction entre les clients
arrivs et ceux qui sont accepts, puisque des rejets peuvent s'observer.

2.6 La notion de Trac

23

3
2
1

N (t)

? ?

2
4

t
1


Fig. 2.8 

?
-

Calcul de l'intgrale donnant Ae

Le produit ci-dessus admet lui-mme une autre formulation. Le produit d'un


taux d'entre par une dure donne videmment le nombre entrant pendant cette
dure:

Ae

est la moyenne du nombre des clients qui entrent pendant la dure

du service.
En rsum, le

trac coul est, la fois (on retrouve l un avatar de la

formule de Little):

Comparer avec la
dmonstration de la

 Le nombre des clients entrant dans le systme pendant la dure moyenne

formule de Little

de service.
 Le produit du taux d'arrive par la dure moyenne du service.
 Le nombre moyen des serveurs occups.

Le trac coul est une grandeur sans dimension. On le compte en erlangs


On dnit aussi le

trac oert. C'est le nombre

pendant la dure de service (dont certains seront rejets). Par construction, le

Ae coul par
Ae  R. Pour

trac

0

un groupe de

serveurs vriera videmment l'ingalit

le trac oert, il n'a pas de limite. Le taux de rejet

B,

ou la probabilit de perte, s'crira comme le quotient du nombre de demandes


rejetes au nombre de demandes prsentes

n (ne

est le nombre accept) dans

tout intervalle de temps, par exemple la dure moyenne de communications. Et


donc,

B=

n ne
n

= A AAe

Agner Krarup

des clients arrivant Erlang,

(2.27)

mathmaticien danois,
pre de la thorie du
tltrac (1878-1929)

24

Files d'Attente et Trac

2.6.2

Rseau fonctionnant avec attente

On est, ici, dans la conguration du rseau commutation de paquets. Les


mmes notions, les mmes dnitions s'appliquent encore. Le cas trs frquent
d'un serveur unique ore la possibilit d'enrichir les notions prsentes. Considrons, dans un rseau de paquets, la ligne de transmission sortante, reliant
deux noeuds du rseau. Les paquets doivent attendre dans la le de sortie pour
tre mis l'un aprs l'autre. Cette fois-ci, l'tat de la ligne est encore dcrit par

N (t); 0  N

 R, mais avec R = 1 (c'est dire, le serveur est libre ou occup).

Si l'on suppose une le d'attente de capacit innie, aucun rejet ne se produit, et les notions de trac oert et de trac coul se confondent. Puisqu'il
n'y a qu'un seul serveur, le nombre moyen de serveurs occups se rduit
la probabilit d'observer le serveur occup (moyenne de l'indicatrice de l'vnement {serveur occup}). Les dnitions quivalentes mentionnes plus haut
conduisent la relation classique:

 = E (s) = 1 P

(2.28)

Dans cette expression,


ditionnelle),

E (s)

 dsigne le taux des arrives (c'est la notation tra est le trac oert (c'est aussi

le temps moyen de service,

une notation classique).

reprsente la probabilit stationnaire de trouver le

serveur libre (proportion du temps d'inactivit. Les clients qui arrivent peuvent
mesurer une probabilit d'inactivit dirente, on y reviendra).
Les systmes attente sont cependant, de faon invitable,

capacit limite,

et la distinction oert/coul reprend alors son sens.

Annexe A: utilisation des fonctions gnratrices


La rsolution directe par substitution des quation d'tat est d'une comprhension immdiate, mais se rvle fastidieuse, ds lors que le problme dpasse
le cas d'cole ! Il existe une mthode trs astucieuse, et trs puissante lorsqu'applique des problmes complexes, c'est l'utilisation des fonctions gnratrices.

(Pk ;k = 0;   ). On a P Pk = 1; cette relation fondamentale stipule qu'on a af-

Soit une distribution de probabilit sur les entiers (borne ou non). Notons-la

faire une distribution de probabilit raliste (c'est dire  que la distribution


existe, qu'on est en rgime stationnaire).
La

fonction gnratrice de la distribution est la fonction de la variable com-

plexe:

P (z ) =

existe (

il s'agit

z k Pk

jz j < 1

(2.29)

z est de module strictement infrieur 1, la fonction


P (z ) < P (1) = 1), et, puisqu'elle est la somme d'un polynme,
d'une fonction analytique de la variable complexe (cette remarque est

Puisque la variable

P (z )

fondamentale).

2.6 La notion de Trac

25

P (z ):

Etudions alors les drives successives de

P 0 (z )

P 00 (z )

X
k
X
k

Prenant alors ces quantits au point

P 0 (1)

P 00 (1)

X
k

X
k

kz k Pk
1

k(k

1)zk

Pk

z = 1, il vient:

kPk = E (k)
k (k

(2.30)

1)Pk = E (k )

E (k )

(2.31)

Comment appliquer ces rsultats ? Reprenons le cas lmentaire de la le


M/M/1:

Pn = n (1 ). Le calcul de la fonction gnratrice est un jeu d'enfant:


P (z ) =

X
n

z nn (1 ) =

1
1


z

Notons qu'on aurait pu, partir du jeu des quations, calculer la forme
de la fonction gnratrice. Dans ce cas simplissime, on multiplie chacune des
quations de rang

k par z k , puis un eectue la somme: le jeu des quations


P
( + )Pk

=
=

P
Pk  + Pk 
1

+1

conduit

P
( + )zk Pk

=
=

P
z k Pk
1

+ zk Pk

+1

soit, par sommation,


z
)
=
P
z
z

P (z )( +  z
soit, nalement

En

P (z ) =

z

z = 1, on doit avoir P (1) = 1, ce qui implique P

=1

.

De cette expression trs synthtique, on dduit les drives premire et seconde, et donc les deux premiers moments, et la variance du nombre de clients
dans la le.
Le lecteur dbutant est invit refaire ce calcul avec soin. Dans ce cas
trs simpliste la justication peut en paratre fallacieuse. Vois cependant les
rfrences (par exemple [Kle 76]) pour des usages plus justis.

26

Files d'Attente et Trac

Annexe B: Et si le ux n'est pas poissonien ?


Alors ... tout peut arriver ! Examinons ici le cas du modle M(n)/M/R/R
(modle d'Engset). C'est une circonstance favorable  en ce sens que les
probabilits de rejet, par exemple, seront infrieures ce qu'elles seraient dans
le modle d'arrives poissonniennes. D'autres congurations conduiraient des
cas plus dfavorables (ce qu'on appelle le

trac de dbordement, o la sporadicit

des ux entrants conduit des performances pires que le cas poissonnien.
La population des sources a une taille limite. Le processus d'arrive est
alors fonction de l'tat de celles-ci (une source active ne gnre pas de nouvelle
demande). Une source devenant active et trouvant tous les serveurs occups
n'attend pas, et retombe immdiatement dans l'tat de repos. Elle aura subi un
chec, et le problme principal sera de calculer la probabilit de cet vnement.
C'est le systme M(n)/M/R/R.
On rcrit les quations. Cette fois, les vnements lmentaires sont:

 L'arrive d'un nouveau client, qui fait passer de


taux correspondant est

n

= (N

susceptibles d'engendrer un client.


 La n d'un service, avec le taux

n en n + 1 si n < R. Le
N n sources au repos

(N-2)

reste

n, qui fait passer de n en n

(N-1)

Fig. 2.9 

n) : il

(N-R+1)

...

R-1

(R-1)

1.

R
R

Diagramme du processus du systme M(n)/M/R/R

Le jeu des quations donnant la probabilit stationnaire d'observer

n serveurs

occups s'crit:

8
>
< (N nN)Pn = (n + 1)Pn
X
Pn = 1
>
:

n = 0; : : : ;N

+1

1
(2.32)

n=0

L'approche par

La solution s'crit:

fonctions gnratrices
s'applique aussi, mais
rclame du doigt

Pn = P

j
j R

N
n


N
j

Rappel :

N
n

= n!(NN ! n)!

(2.33)

2.6 La notion de Trac

27

La Probabilit de Rejet

Attention!

PR n'est pas la probabilit de rejet !

Mditant sur la construction du diagramme et sur sa signication, on se rend


compte que cette quantit reprsente la proportion du temps o tous les serveurs
sont occups. C'est la probabilit d'occupation que mesurerait par chantillonnage un observateur extrieur, c'est dire indpendant du systme (de faon

Pk est la proportion du temps o le systme rside dans l'tat k). Mais


les clients qui arrivent ne le font pas indpendamment de l'tat du
systme, toujours cause de la forme des n . Ils ne se font donc pas rejeter

gnrale,

indpendamment de l'tat.
Comment alors calculer la probabilit de rejet? La manire la plus simple de
l'obtenir est de l'crire comme le quotient du taux d'arrive dans l'tat de rejet

fn = cg par le taux moyen d'arrive  (c'est dire exactement la proportion


de clients perdus).

B  P (Rejet) =

(N

R)PR

Au prix d'une gymnastique algbrique modre, la formule s'exprime en


fonction des quantits dja connues:

B=P

j R

On constate que

= PRN
(

1)

R

1

1

(2.34)

, c'est dire la probabilit d'occupation to-

tale pour un systme comptant 1 source en moins. Signalons, en commentaire,


que la formule (2.34) ci-dessus s'applique mme si la loi de service n'est pas
exponentielle. Cette formule est connue sous le nom de formule d'Engset.

Dimensionnement d'un Concentrateur d'Abonns

A titre d'exemple,

considrons un tage d'abonns, concentrant le trac de


nombre restreint

usagers sur un

de lignes vers le commutateur. Compte tenu des usages

tlphoniques des abonns, il faut calculer

R pour orir une Qualit de Service

donne sans pour autant utiliser des circuits dont le rendement serait trop faible.
La gure suivante montre ce que donne la formule, selon les valeurs de

de

, pour R = 10.

On voit que quand

grandit, (pour un produit

N
N

perte augmente. On vrierait que la limite (quand

et

constant), le taux de

! 1)

est celle que

donne la formule d'Erlang (le M/M/R/R). On voit aussi sur la courbe


l'eet bnque de la population limite.
Application numrique: un trac poissonnien de 4 erlangs oert 10 circuits
subit une perte de l'ordre de

5:10

; si le trac est issu d'un groupe de 20

sources, le rejet sera 10 fois plus faible (

5:10

).

28

Files d'Attente et Trac

0.1

Taux de Perte

0.01

0.001
Na=4
Na=5
Na=6
Na=7
Na=10

0.0001

1e-05

1e-06
10

100
Nombre de sources

Valeur de la probabilit de rejet en fonction du nombre des sources,


pour R = 10 serveurs
Fig. 2.10 

Annexe C : La somme de n exponentielles


Soient

X ;    ;Xn
1

des variables exponentielles i.i.d. (indpendantes et iden-

tiquement distribues). Quelle est la distribution de probabilit de la somme

+    + Xn ? Cette question est avantageusement aborde via les mthodes


transforme de Laplace de la densit f (x) est donne par:

de transformes. La

F~ (s) =

Z1

sx f

(x)dx

On se reportera son cours de maths pour les proprits de ces fonctions.


La transforme de Laplace de la distribution commune des

Xi est =(s + ).

La transforme de la somme des variables indpendantes est le produit des


transformes, soit en notant

Fn (t) la distribution:

L(Fn ) =  + s

n

2.6 La notion de Trac

29

On trouve, en consultant une table de transformes, la densit de probabilit


correspondante:

fn (t) = 

(t)n e
(n 1)!
1

t

Exprim sous forme de distribution:

Fn (t) = P fX

+    + Xn  tg =

n
X
(t)k
k=0

k!

t

La gure qui suit donne la probabilit de perte d'Erlang.

(2.35)

30

N=1
0.1

N=2

Probabilite de Rejet

0.01

0.001

N=3

N=4
0.0001

N=7

10

15

20

Files d'Attente et Trac

N=5

25

1e-05
30
35
1e-06

40
45
50

1e-07
0.1

10
Trafic Offert

100

Chapitre 3

Mcanismes de partage de
ressources
Sommaire
3.1

Un exemple de systme temps-rel . . . . . . . . .


3.1.1

Un serveur de messagerie

3.1.2

Caractristiques des tches

. . . . . . . . . . . . . . .
. . . . . . . . . . . . . .

32
32
33

3.2

Les mcanismes d'ordonnancement . . . . . . . . .

34

3.3

Notion de Systme Conservatif . . . . . . . . . . .

35

Formule de la somme pondre . . . . . . . . . . . .


Priorit entre clients identiques . . . . . . . . . . . .

3.4
3.5

3.6

35
37

La discipline HOL . . . . . . . . . . . . . . . . . . .

37

Le Serveur Cyclique ("Polling")

39

. . . . . . . . . .

3.5.1

Introduction

. . . . . . . . . . . . . . . . . . . . . .

39

3.5.2

Un exemple numrique . . . . . . . . . . . . . . . . .

41

3.5.3

D'autres politiques . . . . . . . . . . . . . . . . . . .

Annexe: calcul du temps de service restant . . . .

31

42

43

32

Mcanismes de partage de ressources

systme informatique moderne est une organisation complexe, la fois de

par l'architecture matrielle et de par le type de programmes qui y sont traits.


Mme "centralis", il comporte de nombreuses entits distinctes (contrleurs,
disques, coprocesseurs, etc), qui cooprent.
L'agencement harmonieux et ecace de tous ces lments impose des mcanismes d'ordonnancement des tches. La modlisation doit imprativement
prendre en compte ces particularits de fonctionnement, et doit aider leur
mise au point.

3.1

Un exemple de systme temps-rel

3.1.1

Un serveur de messagerie

Considrons une machine, utilise par les services de messagerie vocale (un

serveur vocal): rpondeurs, boite aux lettres, jeux, annonces, etc. Fonctions du

serveur: stocker et grer les messages, les restituer sur demande. Le dialogue
usager-service est vocal ou utilise les touches du combin.
La gure 3.1 donne un exemple d'architecture d'une telle machine.

Stockage
des messg
Scripts
Bus local
Processeurs

Brasseur

Lignes reseau
Fig. 3.1 

Architecture d'un serveur vocal

Chaque communication se conforme approximativement au schma suivant:


 sur dtection d'un appel du rseau, aectation d'un processeur;
 dialogue avec l'usager (envoi d'un message, coute de la rponse; action
suivante; etc);

3.1 Un exemple de systme temps-rel

33

 le service" dsigne un processeur particulier charg du pilotage du dialogue; c'est lui qui contient le service eectif, on parle de

script;

drouleur de

 consultation de la BD o sont stocks les messages vocaux de l'usager,


pour les dlivrer;
 etc.
Chaque communication est dcrite par un script", dans lequel chaque action correspond un travail d'une des entits du serveur. Le script contient de
nombreux branchements, correspondant aux dcisions de l'usager ou aux fausses
manuvres.
On pourrait expliciter encore le schma ci-dessus, en y faisant apparatre les
actions lmentaires des processeurs, les lectures et critures en mmoire, par
exemple. On voit combien le droulement d'une communication est complexe, et
ressemble en fait au traitement des programmes d'un systme informatique multiprogramm. Les questions que cette description amne concernent en premier
lieu les possibilits et les performances de la machine  combien de communications peut-elle accepter, quel est son temps de rponse. Elles concernent aussi
les choix de conception et de dimensionnement  nombre de processeurs, taille
de mmoires, organisation du traitement des requtes, etc.
Pour y rpondre, on btira un modle du fonctionnement de la machine. Ce
sera un

"rseau de les d'attentes",

chaque serveur y reprsente une ressource

active (processeur) devant lequel s'accumuleront les clients; chaque communication est reprsente par un client qui chemine entre les ressources au gr des
direntes tapes du script.
A ce stade, c'est la question de

l'ordonnancement des tches prsentes devant

les processeurs qui va nous occuper.

3.1.2

Caractristiques des tches

L'examen de l'exemple prcdent met en valeur les caractristiques du fonctionnement des systmes informatiques temps-rel.
 Plusieurs "usagers" sont actifs simultanment - mme si un seul reoit un
instant le service du processeur. Il y a ainsi meilleure utilisation du temps
processeur (celui-ci pouvant se consacrer d'autres tches). On parle de
systmes

multiprogramms.

 Plusieurs tches sont gnralement en attente devant chaque serveur (processeurs, disques, etc). Plutt que de laisser le hasard seul dcider de
l'ordre des services, on prfre dnir des mcanismes d'ordonnancement
 ce chapitre y est consacr.
 Notamment, on utilisera des

mcanismes d'interruptions, pour acc-

lrer la rponse de priphriques lents ou saisir des vnements fugaces,


du

polling, pour partager quitablement la puissance, etc.

Remarque: La mmoire rapide est partage entre les usagers actifs. On


mmoire pagine. Le plus souvent, les donnes utilises

introduit la notion de

34

Mcanismes de partage de ressources

occupent des positions proches les unes des autres, et la lecture d'un lment de
donne se fait en mmoire centrale. Plus rarement, il faut aller lire sur disque
un bloc de donnes. La frquence de ces

dfauts de pages

augmente quand la

mmoire alloue diminue. Ce point limite le nombre d'usagers simultans (degr


de multiprogrammation).

3.2

Les mcanismes d'ordonnancement

Considrons la le d'attente simple (M/G/1, si on veut). A la n d'un service, comment le serveur choisit-il son prochain client? Les possibilits qu'on
dcrit s'appliquent un "vrai" systme le et serveur, aussi bien qu' un
modle conceptuel de fonctionnement complexe. Description des disciplines habituellement rpertories:
 FIFO ("First-In, First-Out") c'est dire "premier entr, premier servi" le mcanisme habituellement considr, qu'on a toujours suppos jusqu'ici.
 LIFO ("Last-In, First-Out"): le dernier arriv sera servi le premier. Intrt:
diminue l'eet pervers des impatiences pendant le service, cf. ESS4; utilis
aussi en "gestion des stocks" (mme motif: eet du vieillissement);
 au hasard: cas o on ne peut garder trace de l'ordre d'arrive;
 Round Robin: on dnit un "quantum de temps de service"; le serveur
traite tour de rle chaque client pour une portion du temps gale au
quantum; il accomplit ainsi une sorte de cycle sur les clients en attente.
Ds qu'un client a reu, en plusieurs fois, le service qu'il rclame, il quitte
le serveur;
 Processor Sharing (PS): version asymptotique du "round robin": le quantum tend vers 0; si

n clients sont prsents entre t et t + t, chacun d'eux


t=n pendant ce temps (avec t ! 0).

reoit un service lmentaire gal

Ces mcanismes ordonnancent les choix sans discrimination; pour les suivants,
on attache chaque client une

classe, et le choix s'appuie sur cette classe. C'est

une vritable discrimination, qui permet de tirer parti des caractristiques des
clients.
 priorit simple HOL ("Head of the Line") les clients de classe 1 viennent
se ranger en le devant ceux de classe 2 (extension immdiate N classes);
moyen usuel de favoriser un ux;
 Serveur Cyclique ("Polling"): dans ce mcanisme, chaque classe se voit
allouer une le particulire, que le serveur explore de faon cyclique;
 Tout autre algorithme peut tre imagin. Par exemple, choix bas sur le
temps de service demand (les temps courts d'abord).
On parle de "classe" pour direncier les ux: selon leur priorit, selon la

premptives. Dans ce cas, le client prioritaire interrompt le service en cours pour tre
distribution des temps de service, etc. On distingue aussi les priorits

servi sans attente. Le client interrompu reprendra son service aprs celui du

3.3 Notion de Systme Conservatif

35

client interrompant. La prise en compte des vnements fugaces justie cette


particularit (coteuse en temps de calcul, le plus souvent).

3.3

Notion de Systme Conservatif

On conoit que dans certains cas le choix du client soit indirent au serveur,
c'est dire que ce choix ne change pas le travail total qu'il devra traiter. Consquence: chaque instant, le serveur est capable de comptabiliser la quantit de
travail qui lui est oerte (on parle de son "travail restant", "unnished work" en
anglais): temps de service restant fournir au client en cours, augment de la
somme des services des clients en attente cet instant. On peut (presque) toujours valuer cette quantit un instant x, mais elle n'a de sens que lorsque
le travail restant ne dpend pas de la dcision prochaine! Pour donner une autre
signication cette quantit: soit

le travail restant l'instant

t. Stoppons

ce moment le processus d'arrives, et observons le comportement alatoire du


systme: le serveur va travailler continment jusqu'
dcisions d'ordonnancement prises.

t +  , quelles que soient les

On appelle systme conservatif (work conserving) un tel systme


o le travail restant ne dpend pas de la discipline de choix que pratique le serveur.
Contre exemples: systme multi-queues avec temps de basculement; systme
avec impatience; systme o le temps de service est fonction de l'attente (vieillissement), etc. Pour la plupart de ces systmes, on ne peut mme pas calculer ce
travail un instant donn. Le lecteur est encourag expliciter, dans chacun de
ces cas, les raisons rendant le serveur non-conservatif.

Formule de la somme pondre


Il va de soi que, si le travail restant ne dpend pas de l'ordonnancement, le
temps d'attente, lui, en dpendra. La proprit de conservation marche "vue du
serveur". Pour les clients, on va voir de quoi il retourne.

Remarque prliminaire:

j l'intensit du ux de type


 le ux total. Il est possible de

mesurer le temps d'attente sans tenir compte des classes des clients. Notons W

Une le d'attente reoit des ux dirents, on note

et

Wj

l'attente moyenne qu'il subit. On note

la quantit correspondante. C'est une somme pondr, la pondration faisant


intervenir la proportion de chaque ux:


W

X j


Wj

L'importance de la notion de temps moyen pondr rside dans le fait que peut
ne pas savoir mesurer une autre quantit  supposons par exemple un processus
de mesure incapable de direncier entre les classes.

Thorme. Imaginons un serveur devant une le d'attente traite selon un


mcanisme de priorit quelconque, conservatif et non premptif. On a la loi de

36

Mcanismes de partage de ressources

conservation suivante:

i Wi =

= Cste

(3.1)

L'indice i court sur les classes de clients; i reprsente la charge de la classe


P
i: i = i E (s)i , Wi le temps moyen d'attente qu'elle subit;  = i la charge
totale; et W dsigne la moyenne du temps de service restant (la preuve de cette
0

formule est donne en annexe ce chapitre):

X E (si ) X E (si )

= 
i

2E (si )

(3.2)

La formule signie que l'expression ne dpend pas de la discipline; bien noter


que la somme des temps d'attente est pondre par les
pour

.
W

Exemples: Cas particuliers

 Rappel: loi exponentielle:


constante:

E (s

i Esi =2;

i et non par les i comme

) = 2E (s) , d'o W = P i Esi; dure


2

 Supposons une seule classe de clients (pas de priorit, un seul indice


Dans ces conditions,

i).

prend la forme

=  2EE(s(s))
2

On a alors, puisque il n'y a plus qu'un seul temps moyen d'attente, qu'on
note simplement

W

W

W:

0 , soit

E (s)
= 2(1
 E (s )
) (E (s))
2

(l'introduction du dernier terme est justie par le fait qu'il est sans dimension, il vaut 1 pour un temps constant et 2 pour une exponentielle).
C'est la trs clbre formule de

Pollaczek-Khinchine

(PK).

 Supposons 2 ux, de temps de service dirents, mais sans priorit. Leur


temps d'attente est identique. D'o

=W = 1 1
2

X E (si )

i

on a dans ce cas une gnralisation lmentaire de la formule PK.


 Supposons une priorit, mais des

temps moyens identiques. La formule se

rcrit, en faisant sortir le temps de service moyen, de telle faon que le


temps moyen pondr y apparat:

W
( vrier).

X i


Wi =

 X i E (si )
1   2E (si )
2

3.4 La discipline HOL

37

Preuve de la loi de conservation: on observe le systme, t on


trouve n(j ) clients de classe j (=1,...P); le client en cours de service
rclame encore

x0 . Le travail restant est donc:

XX
n(j )

U (t) = x0 +
On a not

xi;j

i=1

xi;j le temps demand par le client i de la classe j . En prenant

la moyenne,

E (U ) = W0 +

X X
E[

xi;j ]

la moyenne restant est le nombre moyen de clients de classe

fois le

temps moyen de service. Grce Little, on peut relier le nombre moyen


au temps d'attente, et donc:

E (U ) = W0 +

j Wj

Maintenant, le travail restant est indpendant du mcanisme d'ordonnancement (systme conservatif ). On prend la valeur pour FIFO: dans
ce cas, tous les

Wj

sont gaux et

E (U ) = W0 =(1

)

Priorit entre clients identiques


On suppose maintenant des clients aux caractristiques identiques: mme
distribution du temps d'attente (non plus seulement mme moyenne). Quel que
soit le mcanisme de choix, pourvu que le systme soit conservatif, le choix du
serveur n'a pas d'inuence sur l'occupation totale de la le; en d'autres termes,

la distribution du nombre total de clients en le ne dpend pas de la discipline.

En particulier, le nombre moyen de clients est indpendant de la


discipline.
Donc (Little) le temps moyen d'attente ne dpend pas de la discipline (mais la distribution de l'attente en dpend !).
Remarque: vrier que ce rsultat est bien en accord avec la relation de
conservation (1). Exemple: FIFO, LIFO, Hasard donnent le mme temps moyen
d'attente.

3.4

La discipline HOL

Dans toute la suite, "priorit 1" plus forte que "priorit 2". On
reprend le cas gnral (services dirents), serveur de type conservatif, N classes.
On note

k

la somme des charges des classes 1

la classe 1 est prioritaire sur 2, ...,

(inclus); rappelons que

1 est prioritaire sur N . k est la charge

que "voit" la classe k (qui double k+1, k+2,.. et ne les voit pas). Remarque: la
classe 1 voit quand mme la classe 2, en eet un client 2 peut gner un client 1

38

Mcanismes de partage de ressources

qui arrive pendant son service. On montre que:

Wk =

W
k )(1 k
0

(1

avec
o

k =

k
X
i=1

(3.3)

i

a la mme expression que plus haut. Exemple: 2 classes. Vrier que

la loi de conservation est encore valide. (Discussion: caractre scurisant de la


discipline pour la classe 1, mme si

+

> 1).

Preuve: pour une discipline non premptive,

Wj

W0 +

Esi (N ij + M ij )

i<j

Wj est le temps moyen de la classe j , l'indice i court sur les classes


(i = 1;:::N ); N ij reprsente la moyenne du nombre de clients de la
classe i dja prsents l'arrive du client de type j et qui seront
servis avant lui; M ij reprsente le nombre moyen de clients de la
classe i arrivant pendant l'attente du client de type j et qui seront
servis avant lui. Pour notre discipline,


N ij

i Wi ,

pour i=1,...,j et nul pour i=j+1,.. N (notre client

test double les clients des classes moins prioritaires);




M ij

i Wj ,

pour i=1,...,j-1 et nul pour i=j,...,N (seules les

classes de rang strictement plus prioritaires vont le doubler).


Finalement:

X
j

Wj

W0 +

X
1

i Wi +

i=1

i Wj

i=1

X
j

soit

Wj (1

j

1)

W0 +

i Wi

i=1

A partir de cette dernire formule, on calcule d'abord

Un exemple numrique

1
2

= 0:4

W1 , puis W2 , etc.

'$
&%

E (s1 ) = 0:8

Expo

E (s2 ) = 1:

Cst

= 0:5

= 0:32,  = 0:5 (charge totale 0.82). Le paramtre W = 0:506


W0 = 2:8
 sans priorit, on a W = W = W =


On a

3.5 Le Serveur Cyclique ("Polling")

 priorit au ux 1, on a
soit

(Rappel:

= 2:35

0 506
1

0 32

39

= 0:74, et W =
2

(1

0 506

0 32)(1

0 82)

= 4:13

reprsente la moyenne que l'on mesurerait sur l'ensemble des clients

sans distinction de classe).

3.5

Le Serveur Cyclique ("Polling")

3.5.1

Introduction

Modle de serveur trs utilis, srement l'un des plus importants par l'tendue de ses usages. Description: N tampons d'attente sont visits priodiquement
par un serveur. Celui-ci accomplit un itinraire x: il visite la le 1, puis la le
2, etc, jusqu' la le

N , puis retourne vers la 1, et ainsi de suite.

Le passage d'une le la suivante cote un temps non nul (le "temps de
basculement" - "changeover time"). Lors de la visite la le

i,

le serveur y

passe un temps nul si elle est vide. Sinon, il peut vider totalement la le avant

service exhaustif); ou bien il sert un seul


service unique); ou encore il sert uniquement les clients prsents

de passer la suivante (on parle de


client la fois (

son arrive; ou encore il sert concurrence de K clients; etc.


Pour montrer l'intrt du modle et la varit des situations, et aussi pour
illustrer les variantes du mcanisme, voici une liste non limitative d'applications
possibles.

 Liaison des priphriques au processeur central d'un calculateur. L'UC


va scanner priodiquement l'tat des priphriques. Le cas chant, elle
dclenche une opration d'E/S. Autre possibilit: interruptions. Chaque
mthode a ses avantages ( l'avantage de l'interrogation cyclique: elle vite
les complications lies la ncessit de sauvegarder le contexte des tches
interrompues, et qu'elle simplie la logique du priphrique).
 Liaison multipoint vers des terminaux. Exemple: une ligne tph loue, des
terminaux de donnes, et un frontal; celui-ci envoie l'ordre de parole "rollcall polling", ou bien le droit circule: "hub polling" ou "token passing".
Remarques: les topologies physiques sont trs direntes, mais quivalentes.
HDLC est bien adapt ce type d'usage (utilisation du bit P/F).
 L'anneau jeton IEEE802.5 "token passing": c'est l'exemple parfait de
serveur cyclique.
 Inspection de machines par un oprateur itinrant. Des machines sont en
fonctionnement continu sur des sites spars, un oprateur visite continment ces sites. S'il trouve des machines en panne, il les rpare avant de
passer au site suivant.

40

Mcanismes de partage de ressources

Controleur

. . . Stations . . .

Station

Controleur

Fig. 3.2 

Des topologies quivalentes de "polling"

Analyse mathmatique
On notera 1, 2, ...

les les servies,

i

l'intensit du ux (poissonnien)

i la le i + 1);
si le temps de service la le i - de moyenne E (si ); on P
adopte la convention
N + 1 = 1 (!). On notera les tracs: i = i E (si ), et  = i .
oert chacune,

i

le temps de basculement (passage de la le

Le temps de cycle
Le temps de cycle (intervalle entre deux passages successifs une mme le)
est le paramtre-cl. On le note

C . On dtermine sa valeur par le raisonnement


i C clients la le i. Pour

suivant: en un temps de cycle il arrive en moyenne

qu'un rgime permanent existe, il faut qu'il en soit servi autant (en moyenne).
C'est dire que le cycle

C doit avoir une dure telle qu'elle permette au serveur

de servir (en moyenne) autant de clients qu'il en arrive. Le temps de cycle est
la somme des temps de basculement et du temps pass dans chaque le - donn
par la remarque prcdente. Donc:

C=

C=

i +

i E (si )C

P
P
Pi = i
1 i 1 

3.5 Le Serveur Cyclique ("Polling")

41

Le temps de basculement
Que se passerait-il si on faisait

i =0 ?

On voit qu'alors

= 0. En ralit,

pour que le systme soit stable, il faut qu'il existe des instants o les les sont
vides. Mais alors si le temps de basculement est nul, en un temps innitsimal le

serveur eectuera une innit de cycles: cela correspond bien un cycle moyen
nul, mais fait perdre tout sens physique au modle. Il existe des exemples o

i

peut tre dicile estimer. Nanmoins on le prendra non nul, pour viter les
complications.
Dans les exemples donns ci-dessus,

i

pourra tre le temps d'interrogation

d'un terminal au repos (interrogation + rponse vide).

Le temps de rponse
Le calcul du temps de rponse vu d'une le est beaucoup plus complexe. Il
n'existe pas de formule exacte; la complexit provient de la corrlation qui s'installe invitablement entre toutes les les. On fait appel des approximations.
La plus simple consiste reprsenter tout le systme par une le M/G/1,
comme si toutes les les taient confondues. Mais il faut tenir compte du caractre cyclique, qui oblige attendre le serveur; celui-ci peut tre dans l'une
quelconque des les l'arrive du client test. Des analyses plus ou moins convaincantes mais trs bien valides par la simulation conduisent la formule suivante
pour le dlai moyen

W , dans le cas d'un systme symtrique (tous les i gaux),

et d'un service exhaustif:

W
Le terme

= C2 :(1


E (s )
)
+
N
2(1 )

 est le taux d'arrive total ( =

i ). La formule fait apparatre

un terme de comportement cyclique (le premier). Remarquer qu' trac faible


ce terme est environ

C=2 (en moyenne, le serveur doit accomplir en moyenne un

"demi-tour" pour rejoindre la le). Le second terme est simplement celui d'une
le M/G/1.

3.5.2

Un exemple numrique

Une compagnie de rservation arienne gre un ensemble de terminaux distants, relis un serveur central par une liaison de "polling". On prendra l'application numrique suivante:
 Il y a

= 10 terminaux.

 La vitesse de propagation du signal: 80 000 km/s (ce chire tient compte


de la prsence de rpteurs, commutateurs, etc).
 Distance entre les stations 300 km.
 Dbit de la ligne 2400 b/s (dbit relativement faible).
 Trames de longueur xe 1200 bits. On calcule immdiatement
seconde.

E (s) = 0:5

42

Mcanismes de partage de ressources

Supposons un polling classique: la station-matre envoie chaque terminal


tour de rle un signal de polling: avec HDLC, le signal fait 48 bits, soit 20
ms; la propagation prend un temps variable, selon la distance; enn le terminal
distant doit se synchroniser (environ 10 ms). On calculera le temps ncessaire
l'interrogation de tous les terminaux:

i = N (10 + 20) + t

+ t +    + tN
2

ti est le temps de propagation jusqu'au terminal i. Supposons ti = it


ti est N (N + 1)=2,


X
N +1
i = N 30 +
t

(comme

sur une vraie boucle), alors la somme des

Dans notre A.N.,

= 7:5 ms (attention, c'est l'aller-retour!), et donc

2 300
80000

la somme ci-dessus vaut environ 710 ms. D'o l'application numrique suivante:

= 0
= 0.4
= 0.8

Cycle = 0.71 s

E(dlai) = 0.36 s

Cycle = 1.2 s

E(dlai) = 0.73 s

Cycle = 3.5 s

E(dlai) = 2.63 s

Une autre faon, employer un "vrai" jeton, qui circule entre les terminaux:
on conomise le temps de l'interrogation par la station-matre. On conomise
aussi de la bande passante, le message de polling (le "jeton") tant incorpor la

trame de rponse. En ngligeant ce dernier point, on a cette fois


ms, soit

i = 375 ms, et:

= 0
= 0.4
= 0.8
3.5.3

i = 20+10+7:5

Cycle = 0.37 s

E(dlai) = 0.19 s

Cycle = 0.62s

E(dlai) = 0.47 s

Cycle = 1.87s

E(dlai) = 1.86 s

D'autres politiques

On a suppos un polling

exhaustif,

o le serveur vide chaque le avant de

passer la suivante. L'inconvnient majeur de ce mcanisme rside dans sa mauvaise rsistance aux surcharges: il sut qu'une le soit sature pour paralyser
toutes les autres. On peut imaginer d'autres mcanismes, par exemple limitation
du nombre servi chaque passage.
Une autre politique consiste fermer l'accs au serveur ds que celui-ci
arrive devant une le. Autrement dit, il ne servira que ceux dja en attente
son arrive; les clients arrivant pendant le service devront attendre le prochain

gated. On a alors:
) i + E (s )
2(1 )

passage. Les anglo-saxons parlent de service

 (1 +


N

L'application numrique du paragraphe prcdent devient:

= 0
= 0.4
= 0.8

Cycle = 0.71 s

E(dlai) = 0.36 s

Cycle = 1.2s

E(dlai) = 0.86 s

Cycle = 3.5s

E(dlai) = 6.6 s

3.6 Annexe: calcul du temps de service restant

43

6
@

X (t)
@

@
@

@
@ ee
@
@
e

Sk


@

Sk

@
@

6@
?

@
@

@
@

d'observation
Fig. 3.3 

Intervalle

Variation du Temps de service restant de la M/G/1

On voit le cot de ce mcanisme. En trac quilibr, comme ici, il n'y a pas


d'intrt l'utiliser. Noter aussi la condition de stabilit: la surcharge est dnie
globalement. Si au contraire on veut protger un ux particulier, ce mcanisme
est beaucoup plus sr.

3.6

Annexe: calcul du temps de service restant

Observons le serveur d'un systme M/G/1,


un instant quelconque. Quel est le temps restant jusqu' la n du service
en cours (temps nul si le serveur est au repos) ?
Notons la dirence avec le calcul du "temps rsiduel" o il s'agissait de calculer le temps restant sachant que

y secondes du service s'taient dja coules.

Ici, l'observation du serveur se fait indpendamment de celui-ci. Nous cherchons


donc la moyenne temporelle du temps de service restant  en ignorant quand il
a dbut, ni mme si le serveur est actif.
Nous observons le systme pendant une dure

T . Des clients arrivent, sont

servis, de telle sorte que le temps restant volue de faon analogue au graphique
de la Figure 3.3.
Notons

X (t) le temps restant. Le graphe est compos de sauts initiaux (au

dbut de service, le temps restant est le temps de service total), puis de pentes

45 . On peut calculer la moyenne temporelle:

1 Z T X (t)dt = 1 NXT 1 s
T
T
2i
(

N (T )

reprsente le nombre de clients servis dans l'intervalle, et

si

la suite

des temps de service. Tous les clients sont statistiquement identiques, le passage

44

Mcanismes de partage de ressources

la limite donnera:

NX
T
1
1
 E (X ) = Tlim
!1 T
2 si
N (T )
= 21 Tlim
E (s )
!1 T
= E2(s )
(

(3.4)

2
1

(3.5)

Suivant Kleinrock [Kle 76], on note

(3.6)

cette quantit.

Repres bibliographiques
Les systmes avec priorits sont tudis dans les ouvrages classiques [Gel 82,
Kle 76]. Pour le cas des approximations du "polling", voir [Tak 91].
L'tude des modles de calculateurs a donn lieu une littrature fournie.
Voir [Lav 83], et [Hebu 85] pour le cas particulier des systmes tlphoniques
temps-rel.

Chapitre 4

La Congestion: les
phnomnes
Sommaire
4.1

Capacits Limites . . . . . . . . . . . . . . . . . . .
4.1.1

4.2

4.3

4.4

L'Importance du Phnomne

. . . . . . . . . . . . .

Comportement des sources . . . . . . . . . . . . . .


4.2.1

Un modle de rptition . . . . . . . . . . . . . . . .

4.2.2

Un exemple de consquence . . . . . . . . . . . . . .

Variation des temps de service

. . . . . . . . . . .

46
47

47
48
48

50

4.3.1

Ncessit d'un Contrle de Congestion dans un rseau 50

4.3.2

Un commutateur . . . . . . . . . . . . . . . . . . . .

Moralit . . . . . . . . . . . . . . . . . . . . . . . . .

45

51

52

46

La Congestion: les phnomnes

e chapitre a comme premier objectif d'explorer les phnomnes qu'on

observera dans les systmes quand la charge oerte approche ou dpasse

la valeur limite 100%. Ceci doit permettre de comprendre comment en pallier


les faiblesses par les mcanisme de

contrle de surcharge.

La surcharge provoque des comportements non-linaires, dont la cause est


chercher:
 dans le comportement des usagers (humains ou machines),
 dans les eets de variation des temps de service,
 dans le partage de capacits limites.
Les consquences sont assez faciles imaginer: dgradation de la Qualit de Service, mais aussi aggravation et persistance de la surcharge (eets d'hystrsis),
et exportation de ses consquences loin du lieu d'origine. Dans certains cas, on
observera des eets de blocage (le deadlock).

4.1

Capacits Limites

La capacit limite permet en principe de faire fonctionner des systmes


au del du point limite o le trac oert dpasse la capacit (en bref, elle
autorise

 > 1). Remarque: tous les systmes sont capacit limite. On parle

de systme capacit limite lorsque celle-ci fait sentir son eet pendant le

service nominal. La capacit limite devient un problme lorsqu'elle est partage


S1


entre ux distincts. La Figure 4.1 en donne une illustration:

1

2

N1

N2

Fig. 4.1 

A
A
AA 





S2



S3


N3

Propagation au ux 2 d'une surcharge du ux 1

A l'entre, il y a rejet ds que les les 1 ou 2 sont pleines. Il y a blocage


des serveurs S1 et S2 si la le 3 est pleine (obligatoire). On voit alors que si

augmente, le ux 2 va aussi tre perturb.


La solution la plus simple consistera scinder N3 en 2 parties rserves. Mais
on a vu l'intrt de partager. Une autre solution sera de partager une partie du
tampon, et d'en privatiser une autre. Une rgle de partage trs performante a

4.2 Comportement des sources

pu tre propose:

47

on n'autorise pas plus de

N= L clients de chaque ux (ici,

N joue le rle de N3 et L est le nombre de ux partageant la ressource). Le


mme mcanisme se rencontrera chaque fois que deux ux aux caractristiques
direntes se mlangeront. Le problme de multiplexage statistique dans les
rseaux haut-dbit est une forme de ce phnomne.

4.1.1

L'Importance du Phnomne

C'est dans cet eet que rside la source des engorgements du trac routier
- qu'on peut comparer au

deadlock

des systmes distribus informatiques: ces

congurations s'observent aussi dans les systmes informatiques. A noter qu'on


observe de tels blocages mme en l'absence de surcharge avre, par le simple
jeu des uctuations statistiques. Dans le cas du trac routier, le comportement
des usagers perturbe naturellement le phnomne observ.
Dans les rseaux de type tlinformatique le phnomne est le mme, quoique
plus simple observer. Imaginons deux ux, le premier allant du noeud A au
noeud B, le second de P au noeud Q; ces deux ux transitent par le mme noeud
C. Si le 1er ux sature, par congestion en B par exemple, alors C va engorger
et le ux de P Q va tre perturb, voire bloqu.

AH

HH
j
H
*



P

Fig. 4.2 

4.2

C


*


HH
j


HH

Interblocage par mlange des ux

Comportement des sources

Le comportement des sources se caractrise par 2 phnomnes, galement


importants:
 abandon prmatur (impatience ou temporisation) lorsque le temps de
rponse s'allonge; consquence: le serveur peut tre en train de traiter le
client qui abandonne, d'o un travail perdu;
 rptition de la demande; consquence: le trac oert mesur se trouve
fauss, la mme demande tant enregistre plusieurs fois.
On caractrise le phnomne par les paramtres suivants:

Tentative: tout client qui se prsente devant le service constitue une tentative, qui est un 1er essai ou un renouvellement. On notera
demandes (tentatives fraches), et
1. M. Irland,

 le ux total observ.

le ux de 1res

Buer Management in a Packet Switch, IEEE Transactions on Communica-

tions, Mars 1978.

48

La Congestion: les phnomnes

= =

Coecient de rptition: c'est le rapport

0,

qui mesure l'ampli-

cation provoque par l'encombrement; il permet de relier la demande relle


l'observation.

Taux de persvrance: dans un modle trs simple, on tient compte du


comportement de persvrance de la demande de faon probabiliste: soit

la

probabilit qu'une tentative qui choue se reprsente une nouvelle fois (Ra-

nement: prendre

fonction du rang de la tentative, de la nature des checs,

etc).

Taux de perte: on note

p la probabilit de rejet (ou abandon); en ralit,

le taux d'chec est dirent selon le rang de la tentative et l'intervalle de temps


entre tentatives.

r = 1 p est le taux d'ecacit.

Il faut bien raliser qu'on ne peut pas, la plupart du temps, percevoir les
quantits originelles, telles que
Essayer d'imaginer des

0.

Il est mme le plus souvent dicile et trs

coteux de sparer dans une campagne de mesure

de

.

protocoles de mesure
pour les exemples de
ce chapitre

4.2.1

Un modle de rptition

0

-+
6

Systme"

ec

Rejets
?
HH


Attente 
HHH 


Fig. 4.3 

On notera

ec

4.2.2

Clients
traits
Normalement

- Abandon

Modle du phnomne des rptitions

le dbit coul. I vient:

ec

soit encore:

=

Hp

= (1 p)
=  + Hp
0

ec =

(1

p)
Hp

(4.1)

Un exemple de consquence

Supposons que le systme soit une le M/M/1/N. On injecte une charge

0 , inconnue. La procdure de mesure fournit

. Voici un chantillon de rsultats


N = 4, et suppos

(on suppose que le ux total rsultant reste Poisson); on a fait


un taux de persvrance

H = 0:9:

 = 0:7, on mesure  = 0:78 - p = 0:115 (la M/M/1/4 aurait


p = 0:086);
pour  = 0:9, on mesure  = 1:20 - p = 0:28 (la M/M/1/4 aurait p =
0:16);

 pour

4.2 Comportement des sources

 pour

0 =1.2,

on mesure

49

 = 3:07 - p = 0:67 (la M/M/1/4 aurait p = 0:28).

On imagine aisment les fausses interprtations qui en dcoulent: ou bien


une mesure de trac sous-estime le rejet, ou bien une mesure du rejet rel fait
surestimer

0.

Remarque
Peut-on mettre le systme en quations ? Voici une mthode approche, qui
consiste supposer que le ux rsultant des rebouclages conserve son caractre
poissonnien  ce qui est faux, en toute rigueur. On crira une quation reliant
(

 et p (c'est dire  , 
p :
0

p, et

et

on estimera

p par le rejet d'une

reliant

=

et

Hp

N (1 )
1 N
+1

 donn, on prend une valeur initiale  =  ,


= g(), puis une nouvelle valeur de charge par

La rsolution est itrative: pour


on en dduit la perte par

p=

M/M/1/N,

 = f (p), et ainsi de suite jusqu' convergence (prcision de 1/1000 en quelques


itrations). L'ensemble des rsultats est prsent sur le graphe suivant:
(a) Trac coule et perte

(b) Trac reellement observe

5
Trafic Ecoule

0.8

0.6

Trafic observe
Perte
0.4

0.2

0
0

0.2

0.4
0.6
0.8
1
Trafic Offert Frais
Fig. 4.4 

0

1.2

1.4

0.2

0.4
0.6
0.8
1
Trafic Offert Frais

Observation des temps d'attente



6

(p)

e

1.2

1.4

50

La Congestion: les phnomnes

1
Trafic Ecoule
0.8

0.6
Perte
0.4
Trafic observe
0.2

0
0

0.2

0.4

0.6
0.8
Trafic Offert Frais

1.2

1.4

Comportement en surcharge d'une le M/M/1/N. N = 4;H = 0:9.


A gauche, chelles de la perte et du trac coul; droite, trac oert observ.
Fig. 4.5 

4.3

Variation des temps de service

Ce qui est gnant c'est que ce temps va crotre. Les phnomnes physiques
qui provoquent cette variation sont chaque fois spciques du systme tudi.
On en donne qq exemples.

4.3.1

Ncessit d'un Contrle de Congestion dans un rseau

On observe un rseau de transmission de donnes, ou plutt une liaison de


bout en bout de ce rseau (Figure 4.6).
Quand un noeud est satur (le troisime par exemple), le serveur qui le
prcde se trouve, par l mme, bloqu. En fait, le mcanisme exact est plus
complexe: S2 va traiter et mettre le paquet (le niveau 2 va en faire une trame...);
arriv devant le tampon plein, le paquet est rejet (que faire d'autre), mme si
le niveau 2 est OK. S2, qui ne reoit pas l'acquittement attendu, doit rmettre
une, deux, trois... fois: tout se passe comme si le paquet attendait en S2.
Si on note

la probabilit de rejet (on suppose la liaison homogne,

chaque tage), et qu'on suppose que chaque tentative a le mme

scabreuse), alors il y a:
 une mission, soit 1 temps de service, avec probabilit

(hypothse

4.3 Variation des temps de service

51

S1

Fig. 4.6 

S2

S3

Une liaison de bout en bout, dans un rseau de donnes

 deux missions, soit 2 temps de service, avec probabilit


 trois missions, soit 3 temps de service, avec probabilit
soit en n de compte en moyenne

1=(1

un temps moyen de service quivalent

avec le rejet.
Ct entre, on note

B (1 B )
B (1 B ), etc
2

B ) missions, ce qui revient prendre


E (s)=(1 B ): le temps de service crot

le taux d'arrive (identique chaque tage par sy-

mtrie). La charge oerte est

 (avec le modle de serveur quivalent, le paquet

attend dans un noeud jusqu' en sortir victorieusement, il n'y a pas de perte).


On fait un modle M/M/1/N du noeud (c'est vraiment trs approch). D'o:

B=

aN (1 a)
1 aN
+1

avec

a=

E (s)
1 B

Les quations sont tout--fait analogues celles du modle prcdent dans


lequel on ferait H=1, quoique l'interprtation en soit dirente. Pour un modle
plus raliste, il faut rajouter l'abandon, et srement raner le modle de perte.
La rsolution numrique, et le rsultat, seraient comparables la courbe du 6.2.

4.3.2

Un commutateur

Les demandes des usagers sont dtectes par un explorateur qui place une
requte dans la le du processeur principal. Celui-ci traite en permanence un
certain nombre de tches en concurrence (admission de nouvelles tches, E/S,
avancement de tches en cours). L'ordonnancement des tches est le plus souvent
complexe (mlange d'interruptions, de scheduling cyclique, de tranches de temps
priodiques, etc). Le mcanisme d'admission doit examiner les requtes, pour
distinguer les appels prioritaires, puis rejeter les appels qu'il ne peut traiter
faute de ressource (de temps). Un appel rejet n'est jamais ject": il vaudrait
mieux le dire ignor. On note:





Loff le nombre d'appels nouveaux arrivant par seconde,


Lec le nombre d'appels traits avec succs par seconde,
Lrej le nombre d'appels traits puis rejets,
Ltot le nombre total d'appels prsents (/seconde),

52

La Congestion: les phnomnes





s le temps pour servir un appel en entier,


 le temps pour examiner puis rejeter un appel malheureux (on supposera
 < s),
 la charge vide (travail de fond du processeur)
0

A noter, les appels rejets ne disparaissent pas, on les dtecte nouveau


au cycle suivant; il y a rptition, et de temps en temps abandon, selon le
schma dj expos.

Loff

Ainsi, la commande va devoir traiter non pas Loff , mais

= Ltot demandes.

Tant que l'coulement du trac est uide, on a:

+ sLec  1
Lec = Loff

Mais en surcharge,

=
=
1 =

Ltot
Ltot

Lrej + Lec
Loff + H:Lrej
 + sLec + Lrej
0

La premire relation exprime la conservation des appels (ils sont soit traits,
soit rejets), la seconde est, encore une fois, la caractristique du rebouclage de
rptition; la dernire relation exprime que, en surcharge, le processeur travaille
100% de son temps. De ces relation, on limine

Lec =

(1

Lrej

et

Ltot , et:

H )(1  ) Loff
s(1 H ) 
0

ce qui montre que dans cette zone, le trac coul dcroit quand le trac oert
augmente... Pour la valeur-charnire

Loff

= (1

 )=s, on vrie que le segment


0

montant du rgime uide se raccorde au segment descendant. Remarquer aussi

que la pente du segment descendant dpend en premier lieu de la valeur de

H,

et que lorsque

! 1, le segment devient vertical. L'interprtation de ces

variations est laisse au lecteur.

Le phnomne, invitable, rsulte de ce qu'on doit dpenser de l'nergie sur


les clients qu'on ne saura traiter. Selon le systme tudi, la cause intime du
phnomne pourra varier, mais elle se traduira par une mise en quation analogue. Noter que les quations aboutissent un modle linaire, videmment
simpli.

4.4

Moralit

On a montr tous les mfaits possibles des phnomnes d'engorgement et


de surcharge. Des remdes sont possibles, qui ont noms procdures de contrle
de congestion, rgulation de charge, etc. La conception et l'tude de telles
procdures demande tout d'abord que le phnomne cause soit compris. On a

4.4 Moralit

donn les principes: pour chaque application il faudra chercher les mcanismes
particuliers dans lesquels ces principes s'incarnent. Retenons de ce chapitre la
conclusion suivante:

Lorsque l'intensit du trac augmente - ds que les sources


sont en tat de percevoir l'existence d'une attente - des phnomnes parasites apparassent, lis aux comportements individuels (temporisation, impatience, rptitions), qui peuvent
entraner le systme dans des zones de fonctionnement instables. Il faut videmment incorporer ces comportements
au modle pour rendre compte de faon raliste des phnomnes observs.

Reste tudier les mcanismes de contrle. Mais a, c'est une autre histoire...

Repres bibliographiques
L'tude des phnomnes de surcharge dans les commutateurs tlphoniques
est reprise de la rfrence [Hebu 85]. D'autres formes de tels phnomnes s'observent dans tous les systmes. Par exemple, le mauvais contrle du degr de
multiprogrammation provoque un croulement des performances des systmes
informatiques [Gel 82, Lav 83]. L'analyse de ces phnomnes de surcharge est
assez tolrante: il faut trouver des modles qualitatifs de fonctionnement, observer l'allure du phnomne, plus que des quantications prcises.

53

54

La Congestion: les phnomnes

Chapitre 5

Mcanismes de contrle de
congestion
Sommaire
5.1

Contrle dans un systme centralis . . . . . . . .

56

5.2

Les Rseaux Store-and-Forward

59

5.3
5.4

. . . . . . . . .

5.2.1

Contrle de ux, contrle de congestion

. . . . . . .

59

5.2.2

Les mcanismes de base . . . . . . . . . . . . . . . .

59

L'allocation de crdits . . . . . . . . . . . . . . . . .

59

5.2.3

Les crdits, mcanisme implicite de rgulation . . . .

60

5.2.4

Le mcanisme de fentre Frame Relay

. . . . . . . .

61

5.2.5

Priorits l'accs . . . . . . . . . . . . . . . . . . . .

61

5.2.6

Mcanismes de notication

62

5.2.7

Additive Increase, Multiplicative Decrease . . . . .

. . . . . . . . . . . . . .

63

Un exemple de contrle traditionnel . . . . . . . .

63

Le contrle de congestion du protocole TCP . . .

63

5.4.1

Fonctionnement de la procdure

. . . . . . . . . . .

64

. . . . . . . . . . . . . . . . . .

65

La phase Congestion avoidance . . . . . . . . . . . .

65

Comment rgler la temporisation ?

67

La phase Slow Start


5.4.2

55

. . . . . . . . . .

56

Mcanismes de contrle de congestion

uisque la surcharge provient d'une augmentation inconsidre du

trac oert au rseau, les mcanismes de contrle vont avoir comme tche

de mesurer et de limiter ce trac. Une autre contrainte qu'on leur impose est
d'accomplir cette limitation de la manire la plus rentable, c'est dire de permettre au rseau de fonctionner au plus prs de sa capacit maximale.
Enn, la contrainte

d'quit

est aussi invoque. Si le rseau se trouve en

situation de pnurie, celle-ci doit tre partage quitablement entre les sources.
Si une source voit son trac augmenter, il ne faut pas qu'elle puisse craser les
autres sources, mme si, vu du rseau, l'croulement typique de la congestion
ne se manifeste pas.
La dicult du contrle provient en majeure partie du

caractre distribu des

sources de trac: trac manant de sources non coordonnes, absence d'organe


de contrle central qui rgulerait en fonction de l'tat global du rseau.

5.1

Contrle dans un systme centralis

Nous allons dcrire trs sommairement l'approche mise en uvre pour la


rgulation de charge dans une machine de type centralise  c'est dire dans le
cas le plus favorable o l'organe de commande peut avoir une vue

instantane de l'tat des ressources.

exhaustive et

On peut se reprsenter le systme temps-rel comme un rseau de les d'attentes, avec probablement des mcanismes d'ordonnancement complexes (voir
[Kle 76], volume 2). Quoiqu'il en soit, il existera, compte tenu du prol de trac trait, une ressource plus charge. C'est cette ressource qui va saturer en
premier, quand la charge va augmenter, et c'est donc elle qu'il faut surveiller.
En ralit, les prols du trac ne sont pas immuables, et par consquent la
ressource la plus charge pourra varier, et la surveillance sera le plus souvent
multiple.
Imaginons pour simplier que la ressource fragile est unique, et qu'il s'agit
d'un processeur central (c'est un cas assez frquent). Le principe du contrle
est fort simple: mesure de la charge de la ressource, c'est dire de son taux
d'occupation. Par exemple, on mesurera le temps pass par le processeur au
traitement des tches de priorit les plus faibles. La mesure se fait cycliquement;

T , par exemple 10 secondes; selon la valeur du


I dans le cycle, le processeur sera dcrt plus ou moins
charg. La charge sera estime par 1
I=T . En fonction du niveau dtect, les
on dnit un intervalle de mesure
temps total d'inactivit

actions de correction ou de prvention seront lances.

Remarque: C'est la charge du processeur, qu'on va mesurer, et non le taux


des arrives. Pourquoi ? Simplement, parce que dans un systme le d'attente,

 = =) est le principal paramtre. Rappelons aussi qu'en situation


le temps de service n'est pas constant. La prudence commande
donc d'observer  et non .
la charge (

de surcharge,

5.1 Contrle dans un systme centralis

57

Le processus de mesure
Sous cette description simpliste se cachent de redoutables piges, qui vont
conduire complexier le schma. En premier lieu, la mesure est entache d'incertitude  parce que les processus d'arrive des requtes et des services sont
alatoires. Si j'observe 2, 3 ou 4 secondes plusieurs reprises, l'tat stationnaire, je ne retirerai pas la mme information. Il faut tenir compte de l'imprcision inhrente au procd de mesure.
Pour illustrer le dilemme du processus de mesure, supposons une charge de
80 %, un processeur fonctionnant comme un systme M/M/1, avec une dure
moyenne de service de 30 ms. Le cycle de mesure opre en comptant le temps
d'inactivit sur 1 seconde, puis sur 3 ou 10 secondes. La moyenne de ce temps
est de 0.2 seconde. Voici la statistique des observations ralises (Figure 5.1).
Comme on le remarque, une valeur de cycle de 1 s conduit surestimer la
charge, dans 35 cas sur 100 elle sera estime suprieure 90%; mais dans 20 cas
sur 100 elle sera perue comme infrieure 65%.
On corrigera ce dfaut en allongeant le cycle de mesure. Un cycle de 10
secondes donne une valeur suprieure 0.9 pour 5% des mesures seulement.
Mais, en mme temps, l'allongement de la dure du cycle ne rgle pas la
question. Ou plutt, il introduit un autre dfaut, celui de l'allongement du temps
de raction. Dans notre exemple, il faut 10 secondes avant de dtecter de faon
sre une surcharge, temps pendant lequel elle pourra se propager et s'amplier.
C'est dire que le choix des paramtres d'un tel dispositif requiert un compromis
obtenu aprs des rglages assez minutieux.

Les actions de dfense


Quelle action entreprendre, une fois la surcharge dtecte ? Le plus souvent,
la surveillance ragira progressivement, selon le franchissement de paliers dans
la charge. Par exemple, un premier palier sera dni pour une charge de 80 %,
un deuxime pour 85 %, etc. A chaque palier sera attache une action d'ecacit
(et de gravit) grandissante.
Les systmes temps-rel sont assez souvent dots de mcanismes d'autoserveillance (exploration et test cyclique des lments actifs). Ce test consomme
une partie de la ressource. La premire action consistera dsactiver ces tests
(dont le systme peut videmment se passer, pourvu qu'ils soient rtablis en
rgime moins charg).
Les actions suivantes amneront invitablement refuser l'accs du systme
de nouvelles requtes. Le plus souvent, on pourra tablir une hirarchie dans les
rejets. Ainsi, dans un commutateur du rseau tlphonique on restreint d'abord
l'accs des appels au dpart (an de favoriser les appels arrivants, qui ont eux
dj consomm une partie des ressources du rseau).
Une faiblesse de ce type d'action se trouvera dans les contraintes poses par
l'organisation du systme, par exemple la ncessit de dtecter et d'analyser
une demande avant de pouvoir statuer sur son sort: le traitement des requtes
conduit un gaspillage invitable de la ressource (cf. ce sujet le modle esquiss

Voir ce sujet un
exercice en n de
Section

58

Mcanismes de contrle de congestion

0.8

Distribution

0.6

0.4

Intervalle de mesure =
0.2
1s

3s

10s

0
0

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9


Charge estimee

Fig. 5.1 

Distribution des temps d'inactivit observs

au chapitre prcdent).

5.2 Les Rseaux Store-and-Forward

5.2

59

Les Rseaux Store-and-Forward

Les rseaux de paquets actuels (Internet, Transpac, par exemple) utilisent un


mode de travail dit Store-and-Forward. Cela signie que l'information (structure en paquets) est transmise de proche en proche, de nud en nud, depuis
l'origine jusqu' la destination. A l'heure actuelle, la majorit des rseaux que
l'on rencontre s'appuie sur le protocole IP. Les

routeurs traitent les paquets IP et

les aiguillent au travers des sous-rseaux (qui droulent les couches 1 et 2). Selon
la technologie mise en uvre (Ethernet, Frame Relay, ATM, etc.), ces couches
basses sont dotes de fonctionnalits plus ou moins labores, leur permettant
de participer au mcanisme de gestion de congestion. Dans la suite, nous supposerons essentiellement que nous nous trouvons dans le cas traditionnel de TCP
(protocole du niveau transport) tournant sur IP (niveau rseau).

5.2.1

Contrle de ux, contrle de congestion

Le contrle de ux vise asservir le dbit de la source celui du rcepteur.


C'est une fonction de bout-en-bout. C'est, aussi, une fonction de contrle de
congestion. C'est dire qu'une mauvaise rgulation du ux mis va provoquer
une congestion sur le chemin de la connexion: si la source met plus vite que le
rcepteur ne reoit, les paquets vont s'accumuler dans le rseau, d'abord dans
le nud de sortie, puis dans le prcdent, etc.

Remarque: La terminologie n'est pas du tout xe. C'est que, en ralit,


les deux contrles font appel des outils assez semblables. En toute rigueur,
le terme de

contrle de ux

dsigne les mcanismes par lesquels le rcepteur

rgule le ux de l'metteur, alors que le

contrle de congestion

fait rfrence

aux actions du rseau sur la source. La distinction contrle de ux / contrle


de congestion est souvent omise. Voir par exemple la plupart des articles d'un
numro spcial classique IEEE Transactions on Communications, avril 1981.

5.2.2

Les mcanismes de base

Pour construire un schma de contrle de congestion, les rseaux vont faire


appel un certain nombre de mcanismes lmentaires  toujours les mmes,
en fait.

L'allocation de crdits
Un mcanisme simple est celui du
se voit allouer un certain nombre

crdit (on parle aussi de jeton). La source


de crdits. Elle peut mettre un paquet

condition d'avoir un crdit (et le paquet consomme le crdit correspondant). Le


rcepteur acquitte les paquets reus (et traits). L'accus de rception rgnre
les crdits de l'metteur, l'autorisant ainsi poursuivre.
L'metteur numrote les paquets qu'il envoie. A l'instant

t, les paquets n

2;n 1;n ont t acquitts. Il peut envoyer le numro n +1, mais aussi anticiper
en envoyant n +2;:::;n + W . On dcrit souvent ce mcanisme du nom de fentre,

60

Mcanismes de contrle de congestion

mais il y a risque de confusion avec la vraie fentre dont nous parlons au


paragraphe suivant.
Le mcanisme de crdits a d'autres usages. Par exemple, la correction d'erreur par retransmission utilise un tel schma (procdure dite

Go-back N,

par

exemple). Comme on verra dans la suite, un usage ecace conduit varier le


nombre des crdits allous en fonction de la charge du rseau.
Construire un modle
plus exact, intgrant
les dures d'mission

Notons T le temps de retour d'un acquittement, qui rgnre le crdit. C'est


round trip time (RTT) qui est de l'ordre de 2 fois le temps de propagation
(augment des temps d'mission et d'attente). Si la liaison se voit allouer W
crdits, cela signie qu'elle mettra W paquets tous les T secondes, c'est
dire que le dbit autoris sera T=W paquets/seconde. Si on note L la longueur
moyenne d'un paquet, cela donne L:T=W bits/seconde.
le

5.2.3

Les crdits, mcanisme implicite de rgulation

Lorsqu'une congestion se produit, quelque part dans le rseau, les paquets


voient leur temps de transit s'allonger  et aussi les acquittements. Il en rsulte
que les crdits (jetons) reviennent moins vite l'metteur, qui voit ainsi baisser
naturellement le dbit qu'il est autoris mettre.
Comment calculer la taille de cette pseudo-fentre

(W comme win-

dow)? Un modle classique par rseau de les peut aider. C'est un rseau ferm.

 Paquets 


-

Source







Rcepteur

W Clients

Retour des crdits


Fig. 5.2 

Modle les d'attente du contrle par crdits

On peut le rendre plus raliste, au prix d'une complication, en introduisant


les ux incidents: dans chaque nud travers, le ux pist doit aronter d'autres
courants qui occupent les mmes ressources. De mme, chaque nud peut tre
reprsent par un modle plus complexe.
Contentons-nous ici d'un modle

trs

simpliste. Supposons une source sa-

ture (c'est dire ayant toujours un paquet mettre). Soit

le nombre de

5.2 Les Rseaux Store-and-Forward

61

crdits allou. Imaginons que la congestion du rseau soit reprsentable par

. L'augmentation du RTT, rsultant de l'attente


E (s)=(1 ), avec E (s) = L=C le temps d'mission du

une le M/M/1 de charge


supplmentaire, sera

C est le dbit de la liaison). Le temps de rgnration d'un crdit sera


T + E (s)=(1 ). Le dbit eectif sera donc:

paquet (

(1 )
Debit = LnLC
+ CT (1 )

Il diminue donc bien, quand

5.2.4

 augmente.

Le mcanisme de fentre Frame Relay

Le protocole Frame Relay (FR) a popularis la notion de

fentre glissante

(sliding window). Dans ce schma, la source ne doit pas envoyer plus d'un
nombre donn

n de paquets dans toute fentre temporelle de taille T .

Plus prcisment, le FR opre sur le volume de trac et non sur le nombre


de paquets (si les paquets ont une longueur constante, il n'y a pas de dirence.
Travailler sur un volume permet de s'aranchir des tailles variables).

Remarque de terminologie. Aprs tout, le terme de fentre n'appartient


personne. On peut dcrire la fentre FR comme une

fentre temporelle (dans

[t;t + T ], mettre au plus n paquets). Le mcanisme de crdits,


quant lui, utilise une fentre d'anticipation (droit d'mettre les paquets dans
la fentre des rangs [k;k + n]).

tout intervalle

5.2.5

Priorits l'accs

Un mcanisme, appel

input-buer limiting

a t propos, son application

type tant un rseau en anneau. Prsentons l'argumentaire, dans un cadre simpli. On supposera un rseau homogne: tous les nuds sontidentiques, statistiquement. Le canal de sortie du nud type se prsente comme un serveur

N , aliment par un ux de transit T et un ux de


L . Chacun de ces ux subit un rejet d la capacit limite,
not (respectivement) BT et BL . Le ux admis sera donc T = T (1
BT ) et
L = L (1 BL ). Une fraction p du trac est destine au nud, 1 p est en
prcd d'une le de capacit
provenance locale

transit. En moyenne, on renvoie autant de paquets qu'on n'en reoit:

Noter que

= (1

p) T

+ L

1=p est le nombre moyen de nuds traverss par un paquet avant

d'atteindre sa destination. Les paquets mis par le nud vont peut-tre se faire
bloquer au nud suivant. Par homognit

BT

est aussi la probabilit de ce

, mais
(1 BT ). On supposera enn que chaque serveur est assimilable un systme
blocage. Cela revient dire que le dbit eectif du serveur est non pas
M/M/1/N.

Lorsqu'aucun contrle n'est institu, le fonctionnement est semblable la


cascade tudie plus haut. Puisque les ux sont traits indistinctement,

BT

'

62

T

&

Rejets




Trac Local

L

Fig. 5.3 

BL = B .On a :

Mcanismes de contrle de congestion

B=



-

Modle d'un nud en isolation

aN (1 a)
1 aN
+1

a=

Comme plus haut, cette quation donne lieu au phnomne de congestion. Le


contrle consiste discriminer les paquets selon leur provenance. On instaure
un seuil

NL ,

si les paquets locaux atteignent ce seuil on les rejette. Le nud

obit aux conditions:

0 
0 
Voir aussi S. Lam, M.

nL  NL
nL + nT  N

(NL < N )

Au terme d'une analyse approche, on peut montrer qu'un choix judicieux

Congestion du partage supprime le phnomne indsirable d'engorgement. Voir [Sch 87].


Control of Storeand-Forward networks
by Input Buer Limit 5.2.6 Mcanismes de notication
- an analysis. IEEE
Le phnomne d'auto-rgulation que constitue le ralentissement du retour
Reiser,

Trans. Com., janvier


1979

des jetons permet un fonctionnement satisfaisant en cas de surcharge modre.


Lorsqu'une vraie surcharge s'installe, il faudra des mcanismes plus nergiques.
En situation de surcharge, la seule solution est de diminuer le dbit des sources.
Celles-ci peuvent videmment dtecter la venue d'un engorgement, par exemple
en surveillant l'allongement des RTT, ou la survenue de perte de paquets (cf.
TCP). Les mcanismes de notication explicite orent au rseau un moyen direct
de dialogue.
Beaucoup de protocoles ont dans ce but dni un champ spcique dans
l'entte du paquet:

Forward Explicit Congestion Notication (FECN) en FR,


Explicit Forward Congestion Indicator (EFCI).

tandis que l'ATM parle de

FECN n'est pas, en soi, un mcanisme de rgulation. C'est seulement un


moyen de dclencher, la source, un tel mcanisme. La notication explicite
est un exemple direct du rgime

coopratif qui peut s'instaurer dans un rseau:

le rseau prvient les sources, celles-ci ragissent en modrant leur ux, pour le
bien commun.

5.3 Un exemple de contrle traditionnel

5.2.7

63

Additive Increase, Multiplicative Decrease

Un concept commun beaucoup de mcanismes de rgulation est celui de


Additive Increase, Multiplicative Decrease (AIMD). On le rencontre en ATM
(mode ABR) et dans le fonctionnement de TCP, entre autres.
Lorsque, en raison d'une congestion, une source doit diminuer son trac,
elle le fera de faon multiplicative : chaque opration, elle multipliera son
dbit d'un facteur

 < 1, amenant une dcroissance gomtrique de celui-ci. A

l'inverse, lorsque les conditions seront uides, l'augmentation sera additive.

5.3

Un exemple de contrle traditionnel

Le mcanisme de crdits peut fonctionner merveille. Il sut que la somme


des dbits eectifs allous chacun des ux soit infrieure la capacit disponible. Malheureusement, cette mthode prsente l'inconvnient majeur d'tre
trs coteuse en bande passante. Supposons que le nud examin se partage
entre 100 circuits virtuels de dbits identiques. Il divise sa capacit en 100 parties, et la partage entre les circuits. La variabilit des tracs issus de chaque
source va rendre cette solution trs dfavorisante, la mmoire sera toujours vide,
etc (des crdits sont allous, et gels, sur des circuits inactifs momentanment).
On a donc d imaginer d'autres mthodes, plus avantageuses. La premire
ide consiste grer les crdits globalement pour tout le rseau (le rseau

N paquets, on cre N crdits,


contrle isarithmique utilise ce principe.

peut accommoder au total


les nuds). Le

disperss sur tous

On construit un rseau de les d'attentes reprsentant le mouvement des


jetons. C'est un rseau ferm  si le nombre des jetons est xe. Dans le nud
de contrle, on peut mettre en place des mcanismes complexes: gnration ou
destruction de jetons; acclration ou retard de l'envoi des jetons en fonction
de l'tat du rseau. Par exemple, on modlisera cette fonction par un taux de
service dans le nud de contrle de la forme

(n).

L'inconvnient de cette mthode rside dans la latence inhrente l'utilisation du nud de contrle. Celui-ci opre sur une information ancienne  et
donc caduque. C'est aussi une solution fragile (la panne du nud de contrle
paralyse le rseau entier) et non

scalable

(le terme de

scalability

est apparu r-

cemment. Il rend compte de la dicult technologique d'tendre un rseau, ou


du cot non linaire de cette croissance).
On se reportera la rfrence [Sch 87] pour une description plus complte
des algorithmes de ce type.

5.4

Le contrle de congestion du protocole TCP

Avec le dveloppement irrsistible du mode IP, TCP tend devenir le protocole universel, au niveau transport, pour les ux de donnes (et plus gnralement les ux dbit contrlable).

64

Mcanismes de contrle de congestion

Noeud de contrle

Noeuds du rseau

Fig. 5.4 

Contrle isarithmique d'un rseau maill

Le protocole TCP est bti sur l'ide d'un mcanisme autonome, indpendant
du rseau et des fonctions de notication explicite. La source va observer le
rseau et son tat,

via l'occurrence des pertes de paquets, et aussi en apprendre

l'tat et le dbit disponible.


L'autonomie de TCP a permis d'en dvelopper des versions direntes, qui
peuvent sans encombre coexister dans le mme rseau (on les nomme TCP
Tahoe, Vegas ou Reno).
L'metteur possde une rserve de crdits. Ceux-ci sont rgnrs par le
rcepteur, selon le mcanisme dcrit plus haut. Il faut consommer un crdit
pour envoyer un paquet. En ralit, le mcanisme est plus complexe : les crdits sont grs par octets. Un paquet consomme des crdits selon sa taille. A
chaque mission de paquet (on parle de segment pour TCP) l'metteur arme
une temporisation. Le rcepteur envoie un acquittement pour chaque bloc reu.
Si l'acquittement arrive trop tard, l'metteur dtecte  ou plutt dcrte  une
perte de paquet.

5.4.1

Fonctionnement de la procdure

A l'ouverture de la session, TCP ne sait rien du rseau et de ses conditions


de charge. La phase de dmarrage va consister tester celui-ci, pour estimer
la bande passante disponible. Cela se fait au cours de la phase nomme (assez
malencontreusement)

slow start.

5.4 Le contrle de congestion du protocole TCP

La phase Slow Start


Au dmarrage, la fentre d'anticipation a une taille gale 1. Au cours du
slow start, l'metteur augmente de 1 la taille de fentre chaque acquittement
reu. Puisque l'acquittement rgnre le crdit dpens, la taille passe ainsi 2
ds le premier acquittement. L'mission de 2 paquets acquitts donne une taille
de 4, et ainsi de suite.

CWND = 1

CWND = 2

CWND = 3
CWND = 4

CWND = 5
CWND = 6
CWND = 7
etc.
Fig. 5.5 

Croissance de la fentre d'anticipation, phase slow start

La phase Congestion avoidance


On notera que le terme de slow start est quelque peu mal choisi, compte
tenu de la forme exponentielle de croissance de la fentre d'anticipation! Il est
clair que, avec ce type de fonctionnement, il arrivera un moment o la source
va saturer la liaison sur laquelle elle transmet (supposant que la source a susamment de trac envoyer, pour avoir toujours un paquet prt transmette).
Alors, un paquet nira par tre perdu, parce que, quelque part sur le chemin,
un tampon sera satur.

n de deux faons possibles:


n arrive chance avant le retour

L'metteur est averti de la perte du paquet


 La temporisation arme l'mission de
d'un acquittement.

 Les paquets qui suivent l'envoi perdu sont bien reu, et donnent lieu chacun
un acquittement qui acquitte le dernier paquet bien reu, c'est dire

1.

65

66

Mcanismes de contrle de congestion

La dtection d'une perte de paquet signale l'metteur qu'il a atteint la


limite de la capacit disponible sur son chemin. L'metteur mmorise alors la
valeur courante de la taille de fentre

W . Il fait Wm = W  =2, et rinitialise


Wm , la procdure

la procdure slow-start. Ds que la fentre atteint la valeur

slow-start est arrte et l'metteur augmente la fentre d'une unit chaque


RTT (voir ci-aprs).
Schmatiquement, la taille de la fentre variera selon le rythme suivant (Figure 5.6, si on suppose videmment que l'metteur a

toujours

des paquets

envoyer (qu'il travaille en rgime de saturation):

Fentre
Perte

W*

Perte
slow
start

W*

Congestion avoidance

Wm
Wm

t
1

Fig. 5.6 

Croissance de la fentre d'anticipation, phase congestion avoidance

On peut trouver des inconvnients cette procdure, base sur la recherche


systmatique de dbordement des tampons. Il n'empche qu'elle est trs astucieuse: l'metteur s'adapte aux conditions instantanes du rseau, sans dialogue
spcique avec celui-ci. Au cours d'une session, si les capacits changent, TCP
s'adaptera automatiquement, ce qui en fait une procdure trs robuste.

Remarque 1. On a dcrit le mcanisme avec des paquets et des crdits


unitaires. Rappelons que TCP traite des segments, et que les crdits sont
exprims en octets.

Remarque 2. Ceci dcrit la version de base. On peut songer des mcanismes plus sophistiqus (par exemple, ne pas repartir 1 pour la phase de
congestion avoidance. De telles mthodes ont t implantes (elles direncient
entre les mthodes de dtection de la perte).

Remarque 3. La description relle de la procdure est plus complexe. En


eet, elle remplit aussi le rle de contrle de ux de bout-en-bout. La gestion
de la taille de fentre dpend donc aussi des conditions du rcepteur.

5.4 Le contrle de congestion du protocole TCP

5.4.2

Comment rgler la temporisation ?

On peut envoyer un paquet, et mesurer le temps de retour de l'acquittement.


Problme : ce temps est certainement variable. Il faut donc avoir une estimation de sa moyenne, et pouvoir tenir compte de sa variabilit. Par exemple, on

k paquets envoys, la moyenne:


RT T (1) +    + RT T (k)
ART T (k) =
k

estimera, au bout de

Pas simple estimer : il faut garder en mmoire toutes les valeurs prcdentes ! Heureusement, on sait remplacer cette estimation par une autre, quivalente mais plus maniable :

ART T (k + 1) =

k
RT T (k + 1
ART T (k) +
k+1
k+1

L'inconvnient de cette approche est qu'elle garde la mmoire de tout le pass


du processus, alors mme que les conditions de trac changent invitablement.
Il vaudrait mieux, pour tenir compte de cette non stationnarit, oprer sur un
horizon du pass limit. D'o l'estimateur (propos dans RFC 973), qui reprend
le principe classique:

SRT T (k + 1) = SRT T (k) + (1 )RT T (k + 1)


Il faut choisir les bonnes valeurs pour . Les valeurs prconises : de l'ordre de

0.8 ou 0.9. A partir de cette mesure, on peut rgler la valeur de la temporisation.


Par exemple, 2 fois ce temps estim.
Comment amliorer la prise en compte de la variabilit ? La temporisation
doit tenir compte de la variabilit relle des temps de retour. Prendre une valeur
de 2 est trop simpliste. Il faudrait pouvoir calculer la distribution, ou tout au
moins la variance du temps. Calculer une variance est encore plus coteux que
calculer une moyenne. Mme problme de prise en compte de la non stationnarit. Plutt que de travailler sur la variance, on prfre travailler sur l'cart

j RT T SRT T j, plus facile estimer. On dnit donc l'erreur par rapport


l'estimation courante :

Err(k + 1) = RT T (k + 1) SRT T (k)

et on dnit la dviation (Sdev, dviation standard) :

SDEV (k + 1) = (1 h)SDEV (k) + h j Err(k + 1) j

Valeur partir de laquelle on rgle la temporisation :

RT O(k + 1) = SRT T (k + 1) + fDEV (k + 1)


Les valeurs prconises sont ici = 0:875;h = 0:25;f = 4.

Il faut noter que tout ceci est empirique, et rsulte d'un compromis entre

la prise en compte des conditions variables de la charge dans le rseau et la


complexit du calcul. Il faut toujours garder en mmoire que ces calculs se font
en temps rel dans le rseau. Le processus metteur a un certain nombre de
tches accomplir, et ne peut multiplier l'inni les calculs et les mises en
mmoire de donnes.

67

68

Mcanismes de contrle de congestion

Repres bibliographiques
Sur le sujet d'actualit de ce chapitre, il faut consulter les revues pour avoir

IEEE Transactions on Communications, IEEE Journal of Selected Areas in Communications (JSAC) [par exemple, le numro spcial: valuation des performances des
une prsentation jour des solutions et des tendances. Notamment,

rseaux large bande, Avril 1991).


Les descriptions exactes des versions des protocoles TCP sont donnes dans
les RFC (Requests for Comments) que publie l'IETF. Ils sont accessibles en
ligne (http://www.rfc-editor.org/rfc.html), et souvent assez bien lisibles. (e.g.
Ce texte date de 1982 !
Voir aussi RFC 2001,
Janvier 1997

RFC 813, Window and Acknowledgment Strategy in TCP)


Bibliographie

BIBLIOGRAPHIE

69

Bibliographie
[Bay 00]

Bruno Baynat:

Thorie des les d'attente.

Hermes, collection r-

seaux et tlcommunications, 2000.


[Cin 75]

Ehran Cinlar:

Introduction to Stochastic Processes. Prentice Hall,

1975.
[Fel 71]

William Feller: An Introduction to Probability Theory and its


Applications. John Wiley and Sons, 1971.

[Gel 82]

Erol Gelenbe, Guy Pujolle:

Introduction aux rseaux de les d'at-

[Gros 85]

Donald Gross, Carl Harris:

Fundamentals of Queueing Theory.

tentes. Eyrolles, 1982.

2nd Edition. ISBN 0-471-89067-7.John Wiley and Sons, 1985.


[Hebu 85]

tateurs.

Masson, Collection Scientique des Tlcommunications,

1985.
[Kle 76]

Ecoulement du trac dans les autocommu-

Grard Hbuterne.

Leonard Kleinrock:

Queueing Systems . Volume 1: Theory, 1975,

ISBN 0-471-49110-1. Volume 2: Computer Applications, 1976, ISBN


0-471-49111-X. John Wiley and Sons.
[Lav 83]

Stephan .S. Lavenberg:

Computer Performance Modelling Handbook.

Academic Press, 1983.


[Rob 90]

G. Robertazzi: Computer Networks and Systems:


Queueing Theory and Performance Evaluation. Springer Verlag
Thomas
1994.

Hasard et Chaos. Editions Odile Jacob, 1991.


Telecommunication Networks: Protocols, Modeling and Analysis. Addison Wesley, 1987.
R. Syski: Introduction to Congestion Theory in Telephone Systems.

[Rue 91]

David Ruelle:

[Sch 87]

Misha Schwartz:

[Sys 86]

(seconde ed.)ISBN 0-444876723. Elsevier Ltd., 1986.

[Tak 91]

Queueing Analysis. Vol. 1, vacations and priority systems. North Holland, 1991.
H. Takagi:

Cette bibliographie essaie de couvrir toutes les rfrences aux sujets abords
dans ce cours. Elle dborde largement les savoirs attendus des auditeurs.

Вам также может понравиться