Académique Documents
Professionnel Documents
Culture Documents
Bornes stochastiques
(Stochastic bounds)
Nadir BOUCHAMA
Saïd YAHIAOUI
JUILLET 2004
http://www.univ-bejaia.dz/
http://www.lamos.org
Sommaire
Résumé ...................................................................................................................................... 1
Introduction .............................................................................................................................. 2
I. Chaînes de Markov à grand espace d’états .................................................................. 2
1. Méthode des bornes stochastiques ............................................................................................. 3
II. Ordres stochastiques (Stochastic orderings).................................................................. 4
1. Principe....................................................................................................................................... 4
2. Ordre stochastique fort (strong stochastic order) ....................................................................... 4
3. Comparaison de deux chaînes de Markov.................................................................................. 5
III. Algorithme de VINCENT .............................................................................................. 6
1. Principe....................................................................................................................................... 6
2. Notation...................................................................................................................................... 7
3. Remarques importantes sur l’algorithme de Vincent ................................................................. 7
IV. Améliorations de l’algorithme de VINCENT............................................................... 8
1. Résoudre le problème de suppression de transitions dans la matrice v(P) ................................. 8
2. Amélioration de l’exactitude des bornes ................................................................................... 8
V. Méthodologie pour réduire la compléxité ................................................................... 10
1. Matrices Hessenberg-supérieures............................................................................................. 11
2. Notion de décomposabilité (lumpability) ................................................................................. 11
3. Matrices de la classe C ............................................................................................................. 12
VI. Ordre ICX .................................................................................................................... 14
1. Définitions et notations ............................................................................................................ 14
2. Remarque sur l’algorithme de construction d’une borne supérieure icx-monotone................. 15
3. icx-monotonicité pour les matrices stochastiques de la classe C ............................................. 16
VII. Applications des bornes stochastiques........................................................................ 16
VIII. Exemple ......................................................................................................................... 16
CONCLUSION....................................................................................................................... 22
BIBLIOGRAPHIE ................................................................................................................. 23
Bornes stochastiques
Résumé
L’intérêt des bornes stochastiques est d’éviter le problème numérique dû à la taille
des modèles originels et de calculer rapidement un encadrement des quantités à évaluer. Ceci
permet de montrer que les contraintes de Qualité de Service (QoS) sont satisfaites, mais pas
d’obtenir une valeur exacte. Plus précisément, cette approche consiste à construire des
modèles qui fournissent des bornes supérieures (upper bounds) ou inférieures (lower bounds)
des distributions stationnaires ou transitoires, ou plus simplement de leurs premiers moments.
Il est à noter que le cadre de travail considéré ici est les Chaînes de Markov à Temps Discret
(CMTD).
Dans ce rapport nous essayerons d’introduire au lecteur la notion de bornes
stochastiques. Nous donnerons d’abord les fondements théoriques ainsi que l’algorithme
de Vincent qui est le point de départ pour tous les autres algorithmes cités infra. Par la
suite, on reprendra un exemple pratique de l’utilisation des bornes stochastiques pour
l’évaluation des taux de pertes de cellules dans un tampon (buffer) d’ un commutateur
ATM.
Introduction
La complexité des systèmes informatiques ne fait qu’augmenter. Par conséquent, il faut
développer des outils puissants pour leur planification et gestion. Afin de raccourcir les délais
de prototypage et de test, des méthodes de modélisation et de prédiction de performances sont
mises en œuvre. De façon générique, ces deux étapes sont appelés évaluation de
performances [FER 98].
L’évaluation de performances des systèmes informatiques a pour objectif d’obtenir des
valeurs numériques d’un certain nombre d’indices dont on considère qu’ils rendent compte de
leurs performances. Trois catégories de méthodes sont employées dans ce but : les techniques
de mesures, la simulation et les méthodes analytiques, ces deux dernières étant fondées sur
des modèles des systèmes étudiés qui font eux-même référence à des théories mathématiques
[MOR 03]. Lorsque la taille du modèle markovien empêche sa résolution exacte à l’équilibre,
il reste au modélisateur à se tourner vers une des trois approches classiques : la simulation,
l’approximation ou les méthodes de bornes [MOR 03].
Pour les systèmes trop importants pour permettre une étude exacte, markovienne ou non,
on a recours aux méthodes approchées ou aux méthodes dites de bornes. Les méthodes de
bornes stochastiques conduisent à résoudre des systèmes plus simples qui sont déduits du
modèle (réseau de files d’attente ou autres). Un des intérêts de ces techniques est de garantir
une estimation de l’erreur commise en utilisant les bornes en lieu et place des indices exacts,
pour autant bien entendu qu’on dispose de majorations et minorations au niveau du modèle.
P = ∑ ⊗j M ij
i
Définition 1
Soient X et Y des variables aléatoires prenant des valeurs dans un espace totalement
ordonné. Alors X est dit plus petit que Y dans l’ordre stochastique fort noté X <st Y si et
seulement si E[ f(X)] ≤ E[ f(Y)] pour toutes les fonctions non décroissantes f où les
espérances existent.
Si X et Y prennent des valeurs dans l’espace fini d’états {1, 2,...,n} avec p et q comme vecteurs
de distribution de probabilités, alors X est dit plus petit que Y dans l’ordre stochastique fort
n n
noté X <st Y si et seulement si ∑ Pj ≤ ∑q j pour k=1,2,…n.
j =k j =k
Les indices de performances tels que la population moyenne, le taux de perte sont des
fonctions non décroissantes. Par conséquent, les bornes sur les distributions impliquent des
bornes sur les indices de performances.
Exemple
Soient α= (0.1, 0.3, 0.4, 0.2) et β = (0.1, 0.1, 0.5, 0.3) deux vecteurs de distributions de
probabilité. Alors on a α <st β car :
0.2 ≤ 0.3
0.4 | 0.2 ≤ 0.5 | 0.3
0.3 | 0.4 | 0.2 ≤ 0.1 | 0.5 | 0.3
n n (1)
∑Q
k= j
i,k ≤ ∑Q
k= j
i +1 ,k ∀ i, j
L’idée de base dans l’algorithme de Vincent est de remplacer les inéquations dans le système
(1) par des équations comme dans le système d’équations (2) :
n n
∑
k = j
P i, k = ∑
k = j
Q i,k ∀ i, j
(2)
n n
∑Q
k= j
i,k = ∑Q
k= j
i +1 ,k ∀ i, j
Algorithme de Vincent
fait
2. Notation
Nous noterons v(P) la matrice obtenue en appliquant l’algorithme de Vincent à la matrice
de transition P.
Exemple de déroulement de l’algorithme de Vincent
0.5 0.2 0.1 0.2 0.0 0.5 0.2 0.1 0.2 0.0
0.1 0.7 0.1 0.0 0.1 0.1 0.6 0.1 0.1 0.1
P1 = 0.2 0.1 0.5 0.2 0.0 v(P1) = 0.1 0.2 0.5 0.1 0.1
0.1 0.0 0.1 0.7 0.1 0.1 0.0 0.1 0.7 0.1
0.0 0.2 0.2 0.1 0.5 0.0 0.1 0.1 0.3 0.5
Calcul de l’état stationnaire
En calculant les distributions stationnaires on trouve :
• πp1 = (0.180, 0.252, 0.184, 0.278, 0.106)
• πQ = (0.143, 0.190, 0.167, 0.357, 0.143)
(On peut vérifier facilement que : πp1 <st πQ )
• Espérances : 1.87 pour P1 et 2.16 pour v(P1)
Théorème 1 L’algorithme de Vincent offre la plus petite borne supérieure st-monotone pour
une matrice P. Autrement dit, si on considère une autre borne supérieure st-monotone U pour
P, alors Q<st U.
Cependant, des améliorations peuvent être faites pour améliorer la précision des bornes
sur les fonctions de récompense. On verra infra comment utiliser des polynômes pour
améliorer l’exactitude des bornes.
3.2. Suppression de transitions dans la matrice v(P)
Il peut arriver que la matrice v(P) calculée par l’algorithme de Vincent soit réductible
bien que P ne l’est pas.
3.3. Complexité
Il arrive que v(P) soit plus difficile à résoudre que P. Par exemple:
0.5 0.2 0.1 0.1 0.1 0 . 5 0 . 2 0 .1 0 . 1 0 . 1
1.0 0.0 0.0 0.0 0.0 0 . 5 0 . 2 0 .1 0 . 1 0 . 1
P= 1.0 0.0 0.0 0.0 0.0 v(P) = 0 . 5 0 . 2 0 .1 0 . 1 0 . 1
1.0 0.0 0.0 0.0 0.0 0 . 5 0 . 2 0 .1 0 . 1 0 . 1
1.0 0.0 0.0 0.0 0.0 0 . 5 0 . 2 0 .1 0 . 1 0 . 1
On voit bien que la matrice originale P est plus facile à résoudre que v(P)celle obtenue en
appliquant l’algorithme de Vincent à la matrice P
fait
Ceci peut se faire en appliquant quelques transformations sur P avant d’appliquer l’algorithme
de Vincent
0 .1 0 .2 0 .4 0 .3
0 .2 0 .3 0 .2 0 .3
P3 =
0 .1 0 .5 0 .4 0
0 .2 0 .1 0 .3 0 .4
D’autre part, on a :
0 .1 0 .2 0 .4 0 .3
v (P3) = 0 .1 0 .2 0 .4 0 .3
0 .1 0 .2 0 .4 0 .3
0 .1 0 .2 0 .3 0 .4
1. Matrices Hessenberg-supérieures
1.1. Définition
Une matrice H est dite Hessenberg-supérieure sauf seulement si Hi,j= 0 pour i > j+1.
En fait, les matrices Hessenberg-supérieures font mouvoir la masse probabilité de la gauche
vers la droite.
∑q
j∈ Ak
e, j = ∑q
j∈ Ak
f, j pour tout macro-état Ak
fait;
pour y = 1,2,…, r faire
c( x)
c= ∑q
j =b( x)
e ( y ), j ;
c( x)
pour I = b(y),…, e(y) faire qi,b(x) = c - ∑q
j = b ( x ) +1
i, j ; fait ;
fait ;
fait ;
La caractérisation de la st-monotonicité est très simple aussi dans cette classe. Elle est
donnée par la propriété suivante :
Propriété
Soit P une matrice stochastique appartenant à la classe C. P est st-monotone
sauf seulement si :
n
∑c
k= j
k ≥ 0 ∀j ∈ {1,...,n}
fait;
n
q1,1 = 1 - ∑ q1
j=2
,j ;
Remarque
Les propriétés et leurs démonstrations des matrices de la classe C sont étudiées en détails
dans le papier [BEN 02b].
1 0 0 ... 0
2 1 0 ... 0
Avec Kicx = 3 2 1 ... 0
... ... ... ... 0
n n − 1 n − 2 ... 1
Autre notation algébrique
n n
X < icx Y ⇔ ∑ ( k − i +1 ). p k ≤ ∑ ( k − i +1 ). q k ∀ i ∈ {1,.., n}
k =i k =i
Exemple
Soit les deux vecteurs α = (0.2, 0.4, 0.4) et β = (0.3, 0.1, 0.6). Alors on α <icx β car :
0.4 ≤ 0.6
0.4 + 2*0.4 ≤ 0.1 + 2*0.6
0.2 + 2*0.4+ 3 *0.4≤ 0.3 + 2*0.1 + 3*0.6
De façon similaire, l’ordre concave est défini par un ensemble de fonctions concaves
non décroissantes ou par la matrice Kicv définie comme suit :
K icv = − K icx
T
La comparaison selon l’ordre « icx » ainsi que la monotonicité des matrices stochastiques
sont définies de façon analogue que celles pour l’ordre « st ».
La condition ci-dessus conduit à une chaîne de Markov dont le dernier état est absorbant.
Benmammoun à défini des conditions nécessaires et suffisantes pour la icx-monotonicité
∑
n
- k = j −1
(k − j + 1)q i , k ) ;
fait
fait
∑
n
pour i = 1, 2,…, n faire qi,1 = 1 - j =2
q i , j ; fait
On remarque que l’élément q3,3 = 1.05. Par conséquent, Q ne peut être une matrice
stochastique. Pour résoudre ce problème, des heuristiques ont été définies.
Proposition 2
Si P est de la classe C alors on a :
P est st-monotone ⇒ P est icx-monotone
Attention : Ceci n’est pas toujours vrai pour les matrices n’appartenant pas à la classe C
Algorithme
L’algorithme de construction d’une borne supérieure icx-monotone appartenant à la
classe C est donné dans [FOU 03a].
Dans ce qui suit nous reprendrons un exemple cité dans [ABU 01][ABU 97][BEN 02b]
[FOU 03b].
VIII. Exemple
"Bornes stochastiques pour les taux de pertes dans un tampon mémoire ATM"
Comme exemple, nous présentons l’analyse d’une politique d’un Tampon mémoire
(Buffer) ATM, qui combine le mécanisme de "PushOut" pour la gestion de l’espace et la
discipline de service "Head Of Line" [FOU 03a]. On suppose qu’il existe deux types de
paquets avec des niveaux distincts de taux de pertes. On indique par haute priorité, les paquets
qui ont les plus hautes exigences, c'est-à-dire, le plus petit taux de perte. Les paquets à basse
priorité, sont ceux qui sont perdus lorsqu’ils arrivent et trouvent le tampon plein. Si le tampon
n’est pas plein, les deux types de paquets sont acceptés.
Le mécanisme "PushOut" spécifie que quand le tampon est plein, l’arrivée d’un paquet de
haute priorité pousse dehors un paquet de basse priorité s'il y en a dans le tampon. Sinon le
paquet de haute priorité est perdu.
Comme la taille du tampon est B, le nombre d’états est (B + 1)(B + 2)/2 si les arrivées
suivent un processus d’arrivées par groupe simple. Pour simplifier, la taille des groupes est
supposée entre 0 et 2. On utilise la représentation suivante pour l’espace d’états (T, H) où T
est le nombre total de paquets et H est le nombre de paquets de haute priorité. Les états sont
ordonnés suivant un ordre lexicographique non décroissant. Il doit être clair à ce point que
l’ordre des états est très important. En premier, les récompenses doivent être des fonctions
non décroissantes des indices de performance. En outre, comme la propriété de la st-
monotonicité est basée sur la représentation et l’ordre des états, l'exactitude des résultats peut
dépendre de ce classement.
La cellule à haute priorité
pousse dehors la cellule à
basse priorité
L L H HHHHL L
Arrivée par groupe Temps de service
des cellule à haute déterministe
et basse priorité
La cellule à basse
priorité est perdue
Ici, nous sommes intéressés par le nombre attendu de paquet perdus par slot. On
dénote par R Mi cette espérance mathématique pour les paquets de type i et soit R = R H + R L .
Le problème difficile ici est le calcul de R H . En effet, R peut être calculé avec une plus petite
chaîne puisque le mécanisme "Pushout" ne change pas le nombre global de pertes. Il est
suffisant d’analyser le nombre global de paquets (c'est-à-dire : sans distinction). Une telle
chaîne a seulement B + 1 états si on utilise un processus d’arrivées par groupe simple. Pour
des valeurs réalistes de la taille du tampon (c’est-à-dire : 1000), une telle chaîne est très
simple à résoudre avec les algorithmes numériques habituels. Cependant pour la même valeur
de B, la chaîne des mécanismes HOL+Pushout a environ 5x105 états. Donc on utilise
l'Algorithme 3 pour obtenir une matrice bornante décomposable et on analyse la chaîne de
macro-états.
En premier, on décrit d’abord l’ordre des états et les récompenses. Soit p kH la probabilité
d’arrivée de k paquets de haute priorité durant un slot.
RH = ∑ Π (T , H ) p
(T , H )
H
2 max(0, ( H + 2 − B − 1T = H ))
Où 1T = H est une fonction indicatrice qui affirme si un paquet de haute priorité peut quitter le
tampon à la fin du slot après achèvement du service (T = H : il n’y a aucun paquet de basse
priorité). Donc max(0, ( H + 2 − B − 1T = H )) est le nombre de paquets qui dépassent la taille du
tampon. Pour ce cas particulier, dû à l’ordonnancement des arrivés et au service, RH peut être
calculé par une expression plus simple :
R H = p 2H × Π( B, B)
Il est clair que, nous devons estimer seulement une probabilité et la récompense est une
fonction non décroissante qui est nulle partout à l’exception du dernier état qui a pour valeur
un. Pour un processus d’arrivées plus général, la fonction de récompense est seulement
légèrement différente.
L’idée clé pour réduire l’espace d’états est d’éviter les états avec un grand nombre de
paquets à basse priorité. Donc, on borne la matrice avec une matrice ordinairement
décomposable Q avec ο ( B × F ) macro-états où le paramètre F permet un compromis entre la
complexité de calcul et l’exactitude des résultats. Plus précisément, on définit les macro-états
(T, Y ) où Y est contraint d’évoluer dans l’intervalle T…T-F. Si Y = T-F , alors l’état (T, Y ) est
un réel macro-état qui contient tous les états (T, X ) tel que X ≤ T − F . Dans ce cas Y est une
borne supérieure pour le nombre de paquets à haute priorité dans les états qui sont agrégés. Si
Y > T − F alors l’état contient seulement un état (T, X ) où Y = X. Donc, Y représente
exactement le nombre de paquets à haute priorité dans le tampon (voir la figure 2). Il est clair
que, si la valeur de F est grande, on ne réduit pas l’espace des états mais on s’attend à trouver
des bornes plus étroites.
Macro-états
les états
inchangés
Dans [FOU 95], les auteurs ont analysé des tampons de petite taille pour montrer
l’exactitude des bornes et des tampons de grande taille pour montrer l’efficacité de la
méthode. Ici on présente une comparaison typique de ces bornes pour un tampon de petite
taille (80 cellules). En effet, cette petite valeur permet le calcul de résultats exactes à des fins
de comparaison. La charge est 0.9 avec 2/3 de paquets de haute priorité. Avec une valeur
largement suffisante de F (typiquement 10), l’algorithme donne des résultats exacts. Le
résultat exact pour RH dans cet exemple est 8.9 x 10-13. La borne avec F = 10 est 9.5 x 10-13 .
Evidement, si F est très petit, le résultat est mauvais et peut atteindre 10-6 pour F = 2. La
chaîne originale contient 3321 états alors que la borne avec F = 10 est calculée avec une
chaîne de 798 états. Le nombre d’états est divisé par 4, et on perd seulement quelques
chiffres. Il est intéressant de remarquer qu’une réduction par un ordre sur l’espace des états
implique une réduction par deux ou trois fois les temps de calcul de la distribution
stationnaire. La réduction est encore plus importante si la chaîne originale est plus grande.
Typiquement, pour un tampon de 1000 et un facteur d’agrégation F égal à 20, la matrice
bornante obtenue à partir de l’algorithme 5 a approximativement 20000 états. L’espace d’états
original est 25 fois plus grand [FOU 03a].
Les résultats présentés précédemment sont très exacts. Il existe plusieurs raisons pour
cette propriété. En premier, la distribution est asymétrique. Presque toute la masse de
probabilité est concentrée dans les états avec un petit nombre de paquets. De plus, la première
partie de la matrice initiale est déjà st-monotone. Cette propriété est dû à l’ordre des états
considéré.
Par exemple, on considère la matrice d’une chaîne pour un petit tampon de taille 4. la
chaîne a 15 états ordonnés par ordre lexicographique : {(0), (1, 0), (1, 1), (2, 0), (2, 1), (2, 2),
(3, 0), (3, 1), (3, 2), (3, 3), (4, 0), (4, 1), (4, 2), (4, 3), (4, 4)}. On dénote par p, q et r
respectivement les probabilités d’arrivées pour les groupes de taille 0, 1 ou 2. Et a est la
probabilité qu’un paquet arrivé soit d’une priorité basse. Similairement, b est la probabilité
pour les paquets à haute priorité. Les distributions des types de paquets dans un groupe de
taille 2 sont respectivement, c pour 2 paquets à basse priorité, e pour 2 à haute priorité, et d
pour un groupe mixte.
La matrice P montre que les 10 premières ligne de la matrice satisfont déjà la propriété de
st-monotonicité. Pour un model d’un tampon de grande taille, cette propriété est encore vraie
pour les états où le tampon n’est pas plein. On suppose que F = 2, alors, on considère 2
macro-états réel : {(3, 2), (3, 3)} et {(4, 2), (4, 3), (4, 4)}. Il est à noter, que la matrice initiale
est déjà décomposable puisque l’ordonnancement du service et des arrivées implique que
quelques états ont des transitions similaires. Par exemple, les états (0), (1, 0) et (1, 1) peuvent
être groupés en un seul macro-état. L’algorithme 4 fournit une matrice décomposable avec
des macro-états déjà définis, qui peuvent être agrégés pour obtenir :
CONCLUSION
Ainsi, la méthode des bornes stochastiques permet de faire face au problème
d’explosion d’états du modèle markovien et de vérifier que les exigences en Qualité de
Service (QoS) sont vérifiées (notamment dans les réseaux à haut débit). Dans plusieurs cas,
les bornes donnent une information suffisante sur le fonctionnement du système. D’autre part,
il est à noter que l’ordre stochastique à choisir (ordre fort de Stoyan, ordre icx, sample-path ou
autre) dépend de la fonction de récompense à étudier.
Comme nous l’avons vu, plusieurs algorithme ont été définis pour trouver des matrices
bornantes (bounding matrices) et peuvent être incorporés dans un logiciel d’évaluation de
performances des systèmes basés sur les chaînes de Markov.
BIBLIOGRAPHIE
[FOU 03b] Jean Michel FOURNEAU, Mathieu LE COZ, Nihal PEKERGIN et Franck
QUESSETTE, « An open tool to compute stochastic bounds on steady-state
distributions and rewards». Laboratoire PRiSM, Université de Versailles Saint
Quentin.
JUIN 2004