Perf Res
Perf Res
Perf Res
1
Contenu du module
2
Evaluation de performances
3
Comment évaluer les performances d’un système?
4
Techniques d’évaluation de performances: avantages et inconvénients (1)
5
Techniques d’évaluation de performances: avantages et inconvénients (2)
• Les mesures :
- technique très coûteuse et n’est pas toujours possible
+ résultats plus crédibles
+ peuvent servir comme trace pour des simulations ou pour
valider des modèles analytiques
6
Terminologie
7
Caractérisation stochastique des systèmes?
8
Contenu de la partie Evaluation de performances
9
Bibliographie
10
Rappel de probabilités : exercice
11
Simulation à Evénements Discrets
12
Tâches d’un simulateur à événements discrets
13
L’échéancier
14
Algorithme général d’une simulation
15
Exemple élémentaire : simuler une file M/M/1/B
16
Pseudo Code
Event = record
date : real;
type : (Arrivées, Service);
end
17
Pseudo Code
18
4.3 case e.type of
4.3.1 Service : begin
etat:=etat-1;
if etat> 0 then
AddEvent(t+DelExp(µ), Service);
end;
4.3.2 Arrivées : begin
if etat<B then
etat:=etat+1;
AddEvent(t+DelExp(λ), Arrivées);
if etat=1 then
AddEvent(t+DelExp(µ), Service);
end;
4.4 end;
19
Plan d’une étude par simulation
20
Ecrire un simulateur
Plusieurs possibilités :
• Langage usuel : C, C++, Java, . . .
+ disponibilité, familiarité avec le langage, efficacité et flexibilité
du code
- temps de développement très long
• Outil de simulation spécialisé : NS, OPNET,QNAP, JMT, . . .
+ gain du temps dû à la gestion des tâches de la simulation à
événements discrets, interfaces graphiques, lisibilité du code,
plusieurs protocoles réseaux déjà codés dans certains outils
- non disponibilité, certains outils sont payants, temps
d’apprentissage de l’outil
21
Quelques outils de simulation
22
Chaı̂nes de Markov
23
CMTD homogène
24
Comportement transitoire et limite
25
Classification des Etats
On définit pour chaque état quatre quantités liées aux dates de retour
à cet état.
• fjn est la probabilité de l’événement ”(le premier retour en j a lieu
en n transitions)”.
P∞
• fj est la probabilité de retour en j : fj = n=1 fjn
P∞
• Mj est le temps moyen de retour en j : Mj = n=1 n × fjn
• γ est le pgcd des valeurs de n telles que fjn est non nulle. γ est la
période de retour.
26
Transience ou Récurence
27
Structure de la chaı̂ne
28
Chaı̂nes irréductibles
29
Existence d’une limite
où e est un vecteur colonne dont tous les éléments sont 1. De plus,
on a π(j) = 1/Mj
30
Chaı̂nes de Markov en Temps Continu (CMTC)
diffèrent des CMTD par les transitions entre états qui peuvent occurer
à des instants arbitraires dans le temps
• Définition : Un processus X(t) est une CMTC ssi
P r(X(tn ) = en |X(tn−1 ) = en−1 , X(tn−2 ) = en−2 , . . . , X(t0 ) = e0 ) =
P r(X(tn ) = en |X(tn−1 ) = en−1 ), ∀n, ∀t0 < t1 < . . . < tn
31
CMTC homogènes
32
Générateur d’une CTMC
33
Caractéristiques d’une CMTC
34
Existence d’une limite
où e est un vecteur colonne dont tous les éléments sont égaux à 1
• La solution π de ce système est appelée distribution stationnaire
35
Equilibre stationnaire
36
Lien entre CMTC et CMTD : Uniformisation
37
Calcul de la distribution stationnaire
38
Un exemple de résolution analytique : Processus de Naissance et de Mort
39
Equilibre stationnaire
pour n > 0 :
πn [µn + λn ] = πn−1 λn−1 + πn+1 µn+1
pour n = 0
π0 λ0 = π1 µ1
oubien
40
Résolution
π0 λ0 = π1 µ1
π1 [µ1 + λ1 ] = π0 λ0 + π2 µ2
• Après simplification : π1 λ1 = π2 µ2
• Par récurrence sur n :
πn λn = πn+1 µn+1
41
• Soit: Qn−1
λi
πn = π0 Qi=0
n
i=1 µi
• Si on peut normaliser:
∞ Qn−1
X λi
Qi=0
n <∞
n=1 i=1 µi
• alors,
" Qn−1 #−1
∞
X
i=0 λi
π0 = 1 + Qn
n=1 i=1 µi
42
Une application des chaı̂nes de Markov : Google
• Comment classer les pages Web pour trouver les plus pertinentes?
• L’outil qui permet de faire cela est l’algorithme PageRank
proposé par Sergy Brin and Larry Page dans leur article
”PageRank: Bringing order to the Web” en 1998
• En exploitant cet algorithme, Sergy Brin and Larry Page ont fondé
par la suite l’entreprise qui est derrière le célèbre moteur de
recherche Google
43
Fondamentaux de PageRank
44
Modélisation par une chaı̂ne de Markov
45
• En utilisant ce qui précède, on a :
N
X P e(pi ) X
P e(pj ) = = P e(pi )Hi,j
Oi i=1
pi ∈Γ(pj )
46
Remarques :
47
Files d’attentes :Notation de Kendall
48
Loi de Little
clients entrants clients sortants
SYSTEME
N = λR
ou
N = XR
49
Remarque : La loi de Little peut s’appliquer à n’importe quelle
partie d’un système
• Calcul du nombre moyen de clients en attente (file d’attente sans
le serveur) :
Nw = λW
où W est le temps moyen d’attente
• Calcul du nombre moyen de clients en service (serveur (s) sans la
file) :
Ns = λS
où S est le temps moyen de service
50
La file M/M/1
51
CMTC associée à une file M/M/1
52
• Equation d’équilibre stationnaire :
• Ce qui donne :
πn = π0 ρn , ∀n ≥ 0
P∞ n
• Condition de normalisation : πe = 1 ⇐⇒ π0 n=0 ρ = 1. Ceci est
P∞ n
possible, ssi n=0 ρ < +∞ ⇐⇒ ρ < 1
• ρ < 1(⇐⇒ λ < µ) est appelée condition de stabilité du système.
Intuitivement, pour que le système soit stable, il ne faut pas qu’il
arrive plus de clients que ce qu’il est capable de traiter
• Sous la condition ρ < 1, les probabilités stationnaires sont données
par : πn = (1 − ρ)ρn , n ≥ 0
• Remarque : on peut montrer que la chaine est ergodique, ssi ρ < 1
53
Caractéristiques d’une M/M/1
54
Caractéristiques temporelles
55
100
1/(1-x)
90
80
70
60
50
40
30
20
10
0
0 0.2 0.4 0.6 0.8 1
x
56
Non Linéarité
57
• Le taux d’arrivée est maintenant de 20 clients/h
• Donc la charge vaut 0.8
• Et le temps de réponse vaut en seconde 720s
• Le taux d’arrivées augmente de 2 clients/h
• La charge passe à 0.88
• Le délai passe à 1200s
• Augmenter les arrivées de 10% augmente le délai de 67%
58
Compromis Usager/Opérateur
59
Dimensionnement
60
La file M/M/1
Caractéristiques Spatiales
Charge ρ = λ/µ
Probabilité d’avoir k clients dans la file πk = (1 − ρ)ρk
Utilisation U =ρ
ρ
Nombre moyen de clients dans la file E(N ) = (1−ρ)
ρ
Variance du nombre de clients dans la file V (N ) = (1−ρ)2
Probabilité d’avoir au moins n clients ρn
ρ2
Nombre moyen de clients en attente E(NW ) = (1−ρ)
ρ2 (1+ρ−ρ2 )
Variance du nombre de clients en attente V (NW ) = (1−ρ)2
61
Caractéristiques Temporelles
Répartition du temps de réponse F (x) = 1 − e−x(µ−λ)
1
Temps de réponse Moyen E(R) = (µ−λ)
1
Variance du temps de réponse V (R) = (µ−λ)2
−x(µ−λ)
Répartition du temps d’attente F (x) = 1 − ρe
ρ
Temps d’attente moyen E(W ) = µ−λ
ρ(2−ρ)
Variance du temps d’attente V (W ) = (µ−λ)2
62
Processus de Sortie d’une M/M/1
63
Exemple M/M/1 : Requêtes dans un SGBD
64
Quelques modèles de files simples
65
Modèle d’Erlang pour l’attente d’un appel
• m canaux
• Arrivées Poisson, Services Exponentiels
• Capacité de stockage inifini
• On veut calculer la probabilité γ que les m canaux (serveurs)
soient occupés
• C’est aussi la probabilité qu’un client entrant soit contraint
d’attendre avant de commencer son service
Ce modèle correspond à une file M/M/m
66
La file M/M/m
67
Formule d’Erlang C
68
La file M/M/m
Caractéristiques Spatiales
Charge ρ = λ/(mµ)
−1
(mρ)m Pm−1 (mρ)i
Probabilité système vide π0 = 1 + m!(1−ρ)
+ i=1 i!
(mρ)k
Probabilité d’avoir k clients si k < m π0 k!
m k
sinon π0 mm!ρ
(mρ)m
Probabilité d’attente γ = m!(1−ρ) π0
ργ
Nombre moyen de clients E(N ) = mρ + 1−ρ
1+ρ−ργ
Variance du nombre de clients V (N ) = mρ + ργ(m + (1−ρ)2
)
Nombre moyen de
ργ
clients en attente E(NW ) = (1−ρ)
Variance du nombre
ργ(1+ρ−ργ)
de clients en attente V (NW ) = (1−ρ)2
69
La file M/M/m
Caractéristiques Temporelles
1 γ
Temps de réponse Moyen E(R) = µ
(1 + m(1−ρ)
)
1 γ(2−γ)
Variance du temps de réponse V (R) = µ 2 (1 + m2 (1−ρ)2
)
−xµm(1−ρ)
Répartition du temps d’attente F (x) = 1 − γe
γ
Temps d’attente moyen E(W ) = mµ(1−ρ)
γ(2−γ)
Variance du temps d’attente V (W ) = m µ2 (1−ρ)2
2
70
Modèle d’Erlang pour les blocages d’appel
• m canaux
• Arrivées Poisson, Service exponentiels
• Si il n’y a aucun canal libre, l’appel est perdu (blocage d’appel)
• On veut calculer la probabilité de blocage d’appels
• Ce modèle correspond à une file M/M/m/m
• Remarque : le système est toujours stable puisque le nombre
d’états est fini
71
• La file M/M/m/m est un processus de naissance et mort avec les
taux :
λi = λ ∀ i < m
λm = 0
µi = iµ ∀i
m
!−1
i
X λ λk
πk = , 0≤k≤m
i=0
i!µi k!µk
72
Attention
73
Formule d’Erlang B
m
!−1
X λi λm
P rbP erte = πm =
i=0
i!µi m!µm
74
La file M/M/m/B
• Il y a B places et m serveurs (B ≥ m)
• Le processus du nombre de clients est encore un processus de
naissance et de mort dont les taux sont :
λi = λ ∀i<B
λ =0
B
µi = iµ si i ≤ m
µ = mµ si m < i ≤ B
i
75
• Les probabilités stationnaires sont obtenues simplement :
π 0 λn ∀n<m
n! µn
πn =
π 0 λn
m! m n−m µ n ∀n≥m
• Toutes les arrivées qui se produisent pendant que le buffer est dans
l’état B sont perdues
• Le taux d’arrivée réel est λ(1 − πB ) et le taux de perte est λπB
• La formule de Little donne les temps moyens de séjour et d’attente
E(N ) E(NW )
E(R) = et E(W ) =
λ(1 − πB ) λ(1 − πB )
76
La file M/M/m/B
Charge ρ = λ/(mµ)
(mρ)k
Probabilité d’avoir k clients si k ≤ m π0 k!
mm ρk
sinon π0 m!
B
P
Nombre moyen de clients E(N ) = i=1 iπi
B
P
Nombre moyen de clients en attente E(NW ) = i=m+1 (i − m)πi
Taux d’arrivée réel λr = λ(1 − πB )
Utilisation moyenne d’un serveur λr /(mµ) = ρ(1 − πB )
Taux de perte λπB
E(N )
Temps de réponse moyen E(R) = λ(1−πB )
E(NW )
Temps d’attente moyen E(W ) = λ(1−π B)
77
La file M/M/∞
78
Caractéristiques
ρk
πk = π0 , π0 = e−ρ
k!
P∞
• Nombre moyen de clients E(N ) = k=1 kπk = ρ
• Le temps moyen de réponse est égal au temps moyen de service 1/µ
• On peut retrouver ce résultat par la formule de Little :
E(R) = E(N
λ
)
= ρ
λ = 1
µ
79
Exemple : Centre de Calcul
80
Analyse du centre par une M/M/5
• λ = 1/6 etudiant/minute
• µ = 1/20
• ρ = 0.666
• Utilisation moyenne d’un terminal = 0.6666
• la probabilité d’attente = probabilité que tous les terminaux soient
(m∗ρ)m
occupés = γ = π0 m!(1−ρ) = 0.33
ργ
• Nombre moyen d’étudiants dans le centre = mρ + 1−ρ = 4.0
81
ργ
• Nombre moyen d’étudiants en attente = 1−ρ = 0.65
γ
• Temps moyen de séjour dans le centre = 1/µ(1 + m(1−ρ) ) = 24mn
• Qui se décomposent en 20 minutes de travail et 4 minutes
d’attente...
• Mais 90-Percentile du temps d’attente = 14 minutes...(10
pourcents des étudiants doivent attendre plus de 14 minutes)
Comment répondre?
• Augmenter le nombre de terminaux ?
• Distribuer les terminaux (sans en augmenter le nombre) ?
82
Augmenter le nombre de terminaux
83
Répartition
84
• La charge ρ reste la même
1/µ
• Le temps moyen de séjour est 1−ρ = 60mn
• La variance du temps de séjour est maintenant de 3600 (elle était
de 479 dans le système centralisé)
• Très mauvaise solution : le temps moyen de séjour augmente
considérablement (moyenne comme variance)
• En première analyse, un système centralisé est plus efficace pour
l’utilisation des ressources et le temps d’attente
• La différence provient des états où certaiens files sont vides alors
que des clients attendent dans d’autres
• Mais d’autres points peuvent modifier cette analyse
85
Les réseaux de files d’attente
86
• le routage dynamique : fonction de l’état courant du système (par
ex. vers la file la moins chargée)
• le routage déterministe: chaque type de client suit une route
prédéterminée
• le routage probabiliste (le plus souvent considéré). Il est
caractérisé par les probabilités
– p0i : la probabilité qu’un client arrivant de l’extérieur se dirige
vers la file i
– pij : la probabilité de se diriger vers la file j à la fin d’un
service dans la file i
– pi0 : la probabilité de se diriger vers l’extérieur à la fin d’un
service dans la file i
87
Réseaux monoclasses/ Réseaux multiclasses
On distingue :
• les réseaux monoclasses : parcourus par un seul type de clients
• les réseaux multiclasses : où circulent plusieurs classes de clients
avec des niveaux de priorité différents. Ces classes seront
caractérisées par :
– des processus d’arrivées différents
– des routages différents
– des temps de service différents dans chaque file
88
Réseaux ouverts/ Réseaux fermés
1 3
p01 µ 1
µ3
λ p23
p02
p40
2 p24 4
µ2 µ4
p42
89
Dans un réseau fermé :
- pas d’arrivées de l’extérieur (p0i = 0)
- pas de départs vers l’extérieur (pi0 = 0)
- le nombre de clients dans le réseau est constant
p31 p33
1 3
µ 1
µ3
p23
p41
2 p24 4
µ2 µ4
p42
90
Pour les réseaux multiclasses on peut avoir des réseaux mixtes
- ouverts pour certaines classes
- fermés pour d’autres
µ(1)
1
µ(1)
3
1 3
(1)
p01
λ1 (1)
p23
(1)
p02 µ(1)
2
(1)
p24
µ(1)
4
2 4
µ(2)
2
µ(2)
4
Classe1 : ouverte
Classe2 : fermee
91
Notations
92
Remarque : à l’état d’équilibre le taux de sortie d’une file est égal au
taux d’arrivée, ainsi
- Pour un réseau ouvert :
N
X
λi = λ0i + λj pji
j=1
N
X
Vi = p0i + Vj pji
j=1
N
X
Vi = Vj pji
j=1
93
Mesures de performance
94
Calcul de la distribution stationnaire jointe π
95
Notion de balance locale
µ2
µ1
µ3
96
µ1 p12
µ3 p31 2,0,0
µ3 p31 µ1 p12
µ1 p13 µ2 p21
0,0,2 1,0,1 1,1,0 0,2,0
µ1 p12 µ3 p31
µ1 p13 µ2 p21
µ2 p21 0,1,1 µ1 p13
(6) π(0, 1, 1)(µ3 p31 + µ2 p21 ) = π(1, 1, 0)µ1 p13 + π(1, 0, 1)µ1 p12
97
µ1 p12
µ3 p31 2,0,0
µ3 p31 µ1 p12
µ1 p13 µ2 p21
0,0,2 1,0,1 1,1,0 0,2,0
µ1 p12 µ3 p31
µ1 p13 µ2 p21
µ2 p21 0,1,1 µ1 p13
(4.2) π(1, 1, 0)(µ1 p13 + µ1 p12 ) = π(0, 2, 0)µ2 p21 + π(0, 1, 1)µ3 p31
(4.1)+ (4.2)=(4), on a aussi :
(5.1) π(1, 0, 1)(µ1 p12 + µ1 p13 ) = π(0, 0, 2)µ3 p31 + π(0, 1, 1)µ2 p21
(5.2) π(1, 0, 1)µ3 p31 = π(2, 0, 0)µ1 p13
(6.1) π(0, 1, 1)µ2 p21 = π(1, 0, 1)µ1 p12
(6.2) π(0, 1, 1)µ3 p31 = π(1, 1, 0)µ1 p13
La résolution est plus facile avec ces équations locales
98
Balance locale et forme produit
99
Les réseaux de Jackson
100
Preuve
- Le processus X(t) = (k1 (t), . . . , kN (t)) est une CMTC
- Les équations de balance globale s’écrivent :
PN
π(k1 , . . . , kN )(λ + i=1 µi 1ki >0 )
PN
= i=1 π(k1 , . . . , ki − 1, . . . , kN )λ p0i 1ki >0
PN
+ i=1 π(k1 , . . . , ki + 1, . . . , kN )µi pi0
PN PN
+ i=1 j=1 π(k1 , . . . , kj + 1, . . . , ki − 1, . . . , kN )µj pji 1ki >0
- La solution d’une CMTC étant unique, il suffit de vérifier que la
solution à forme produit est bien une solution de ces équations
- En divisant les deux parts de l’équation par π(k1 , . . . , kN ) et en
remplacant les probabilités par leurs valeurs, il suffit de vérifier :
N N N N X N
X X λp0i 1ki >0 X X ρj µj pji 1ki >0
λ+ µi 1ki >0 = + ρi µi pi0 +
i=1 i=1
ρi i=1 i=1 j=1
ρi
(rappel : λi = ρi µi )
101
- λi = λVi est le débit d’entrée à la station i. Le système étant
stable, c’est aussi le débit de sortie de cette station. λi pi0 est donc
le débit des clients qui quittent le système par la station i
PN
- ainsi, i=1 λi pi0 = λ est bien vérifiée (débit de sortie du
système= débit d’entrée dans le système)
PN λp0i 1ki >0 PN PN ρj µj pji 1ki >0
- i=1 ρi + i=1 j=1 ρi =
PN 1ki >0 PN PN 1ki >0 PN
i=1 ρi [λp0i + j=1 λVj pji ] = i=1 ρi λVi = i=1 µi 1ki >0
102
Remarques
103
D’autres réseaux à forme produit
104