Vous êtes sur la page 1sur 31

Files dattente

Cours de Modlisation et d'Evaluation de Performance

Auteur: PHAM Cong-Duc

Auteur: PHAM Cong-Duc

L'outil file d'attente

On va essayer de lever les contraintes de l'analyse oprationnelle avec les files d'attente. On peut reprsenter un systme par un ensemble de files d'attente, chaque file modlisant une ressource par exemple. Une file d'attente est dfinit par :

La suite des instants d'arrives des clients La suite des temps de service des clients La disciple de service qui donne l'ordre dans lequel seront servi les clients. La capacit de la file Le nombre de serveurs Population totale de clients (rare)

Auteur: PHAM Cong-Duc

Notation de Kendall

Une file d'attente se note :

Symbole pour les arrives et les services


A/S/C (DS/K/L) A/S/C/K/L/ (DS) A/S/C/K/L/DS

Avec :

M : loi exponentielle (Markovienne) D : loi constante Ek : loi Erlang-k Hk : loi hyper-exponentielle ordre k GI : loi gnrale indpendante G : loi gnrale

A : processus d'arrive S : processus de sortie C : nombre de serveurs K : capacit maximale de la file L : population de clients DS : discipline de service

Symbole pour les discipline de service


FCFS : First Come First Serve (Preempt) LCFS : Last Come First Serve (Preempt) QUANTUM : Round Robin PS : Processor Sharing RANDOM PRIORITY

Auteur: PHAM Cong-Duc

Quelques quantits intressantes

On dfinit l'intensit du traffic :


!=
Temps moyen de service = "S Temps moyen entre 2 arrives

Le taux d'occupation du serveur :


U = Taux d' arrive effective.Temps de service = " !.S

Rappelons que la loi de Little reste valable quelque soit la loi d'arrive, loi de priorit, temps de service, la condition qu'il existe un rgime stationnaire limite.

L=.R

Auteur: PHAM Cong-Duc

Chane de Markov

Une chane de Markov est un systme qui peut prendre diffrents tats parmi un ensemble d'tats. Un processus de Markov suppose que la probabilit de passer d'un tat un autre ne dpend que de l'tat courant. Il n'y a pas mmoire du pass. Deux types de chanes sont considrer :

Chane temps discret o les transitions ne peuvent se produire qu' des instants prcis. Chane temps continu o les transitions peuvent se produire tout instant. Cependant, du fait de la proprit sans mmoire requise, le temps de sjour dans un tat est distribu exponentiellement.

Une chane de Markov est dite homogne si les probabilits de transition ne dpendent pas du temps, irrductible si tout tat est accessible partir de n'importe quel autre tat.
Auteur: PHAM Cong-Duc

Chane de Markov temps discret

Proprit sans mmoire


P(X n = in X1 = i1, X2 = i2 ,..., Xn !1 = in !1 ) = P(X n = in Xn !1 = in !1 )

Equation de Chapman-Kolmogorov
Pij (m,n) = ! Pik (m, q)Pkj (q,n)
k

avec Pij (m, n) = P(X n = j X m = i)

A l'tat d'quilibre, on peut trouver le vecteur


! = (P0 , P1,...,Pn ) par la rsolution de ! = !P

Auteur: PHAM Cong-Duc

Exemple de chane temps discret


0,5

Matrice des probabilits de transitions


1 0,3 4 0,1 0,9 0,2 0,5 0,6 0,4 3 2 0,5

! 0,5 0,2 0 0,3$ # 0 0 0,4 0,6& P=# 0 & # 0,5 0,5 0 & " 0 0 0,1 0,9% avec

Chane de Markov

' Pij = 1
i

Auteur: PHAM Cong-Duc

Chane de Markov temps continu

Proprit sans mmoire


P(X tn = in Xt1 = i1, Xt 2 = i2 ,..., X tn !1 = in !1) = P(Xtn = in Xtn !1 = in!1)

Equation de Chapman-Kolmogorov
Pij (s,t) = ! Pik (s,u)Pkj (u,t)
k

avec Pij (s,t) = P(Xt = j X s = i)

A l'tat d'quilibre, on peut trouver le vecteur


! = (P0 , P1,...,Pn ) par la rsolution de
0 = !Q

Auteur: PHAM Cong-Duc

Exemple de chane temps continu


1 !1 !3 2 !2 4 3 !1 !2

Chane de Markov

Matrice des taux de transitions

# !(" 1 + " 2 ) % 0 Q =% 0 % $ "3 avec

"1 !"2 0 0

"2 0 & 0 "2 ( !"1 "1 ( ( 0 ! " 3'

) Qij = 0
i

Auteur: PHAM Cong-Duc

Processus de naissance et de mort

C'est un cas particulier de chane de Markov o seules les transitions d'un tat un tat voisin sont permises. On s'intresse au cas continu avec des taux de transitions. C'est le point de dpart de la thorie des files d'attente. On introduit les donnes suivantes :
k = taux de naissances quand la population est k k = taux de morts quand la population est k

!0

!1

!n-1

n-1

10

Auteur: PHAM Cong-Duc

Processus de naissance et de mort

Rsultats
# !" 0 % 1 % 0 Q =% 0 % % 0 $ .

"0 0 0 0 !( " 1 + 1 ) "1 0 0 2 !(" 2 + 2 ) "2 0 0 3 !(" 3 + 3 ) " 3 0 0 0 0 . . . .

.& .( .( .( .( ( .'

n!1 2 " Pn = ) k P0 4 k =0 k+1 3 !1 * # k !1 , / 4 P0 = 1 + + % ) " i & ( . k=1$ i=0 i+1 ' 1 0 5

11

Auteur: PHAM Cong-Duc

Processus de naissance pure

Cas o

"! k = ! # $ k = 0

On obtient la distribution de Poisson


(! t)k " !t Pk (t) = e , k # 0,t # 0 k! Avec Pk (t) = P[k naissances pendant [0,t]]

Les processus de Poisson se rencontrent souvent dans les phnomnes physiques et naturels. Gnralement, c'est le cas lorque les arrives sont produites par un grand nombre de sources indpendantes (entre d'un calculateur, central tlphonique...)

12

Auteur: PHAM Cong-Duc

Processus de Poisson et loi exponentielle

A partir de la distribution de Poisson, on peut en dduire la fonction de rpartition (PDF) et la fonction de densit (pdf).
PDF = A(t) = 1! e ! " t pdf = a(t) = " e! " t

C'est la loi exponentielle. Si le nombre d'arrives est un processus de Poisson, le temps inter-arrive suit la loi exponentielle. La loi exponentielle est dite sans mmoire, et c'est la seule. Par exemple le temps de sjour ne dpend pas du tout du temps de sjour pass.

13

Auteur: PHAM Cong-Duc

Rappel des principales lois

Processus de Poisson

(! t)k " !t Pk (t) = e , k # 0,t # 0 k! Avec Pk (t) = P[k naissances pendant [0,t]]
E[X] = Var[X] = 1 !

Loi exponentielle

E[X] =

PDF = A(t) = 1! e ! " t pdf = a(t) = " e! " t

1 ! 1 !2

Var[X] = CCV = 1

14

Auteur: PHAM Cong-Duc

File lmentaire M/M/1


Service exponentielle (Markovien)

La file M/M/1

1 serveur

Arrives Poissonnienne (Markovienne)

C'est un processus de naissance et de mort avec


"! k = ! # $ k =

On peut assimiler et des dbits d'entre et de sortie.

15

Auteur: PHAM Cong-Duc

File lmentaire M/M/1

Rsultats
!

Service exponentiel

"! k = ! # $ k =

%=

Arrives Poissonnienne
'

Pk = % P0 P0 = 1 & % U = 1& P0 = % P[n > N] = % N

N = L = ( kPk = 1 R= (1 & % ) 1 S=
k=0

% 1&%

16

Auteur: PHAM Cong-Duc

Exemple

17

Auteur: PHAM Cong-Duc

Exemple - 2

Throughput

knee point after which


knee

cliff

packet loss congestion collapse

throughput increases very slowly delay increases fast

throughput starts to decrease very fast to zero (congestion collapse) delay approaches infinity delay = 1/(1 U) Auteur: PHAM Cong-Duc

Delay

cliff point after which

Load

Load

18

Arrives dcourages

Rsultats
"! = ! $ k k +1 # $ = % k

! &=

! k +1

Service exponentiel

Arrives Poissonnienne

&k Pk = P0 k! 1 P0 = & e U = 1' P0

N=& R=
N '1

&k P[n > m] = 1 ' P0 ( 0 k!

& (1 ' P0 )

19

Auteur: PHAM Cong-Duc

La file M/M/

Rsultats
"! k = ! # $ k = k

Arrives Poissonniennes

! %=

%k Pk = P0 k! 1 P0 = % e U = 1& P0 %k P[n > m] = 1 & P0 ' 0 k!

N &1

N=%
Services exponentiels

R=

Mme rsultat que pour les arrives dcourages ! Sauf que l'expression de R est plus simple.

20

Auteur: PHAM Cong-Duc

La file M/M/m

Rsultats
$! k = ! ' % $ k ' k = % m & & 1" k "m k#m

Arrives Poissonnienne

! (= m
Services exponentiels

$1 (m( ) k P0 'k ! Pk = % 1 m k ' m ( P0 & m! U = 1) P0

k"m P0 = k#m
m)1

1 1 (m( )m k * k! (m( ) + m!(1) ( ) 0

1 (m( )m P[n > m] = P0 m!(1) ( )

21

Auteur: PHAM Cong-Duc

La file M/M/1/K

Rsultats
! # '! k = # $ $ %0 ' = % k
k<K k"K 1& k & K

Service exponentiel K

! (= m

Arrives Poissonnienne

Pk = ( P0 1) ( P0 = (1 ) ( K +1 ) U = 1) P0 PK = Probabilit de rejet
22

( ( K+1 N= ) (K + 1) 1) ( 1 ) ( K +1
R= N ! (1) PK )

Auteur: PHAM Cong-Duc

Exemple

23

Auteur: PHAM Cong-Duc

Exemple - suite

24

Auteur: PHAM Cong-Duc

La file M/M/m/m

Rsultats
# ! '! k = # $ $ %0 ' = k % k k<m k"m 1& k & m

Arrives Poissonnienne

! (=
Services exponentiels

(k Pk = P0 k! 1 P0 = m k ( ) k! k =0 U = 1* P0 Pm = Probabilit de rejet
25

+ (m . N = ( - 1* P0 , m! / R= 1 (pas d' attente)

Auteur: PHAM Cong-Duc

La file M/G/1

Des temps de service exponentiels sont facilement manipulables mais sont difficilement applicables dans des cas concrets. La file M/G/1 permet l'utilisation de temps de service distribus selon une loi gnrale. Ce n'est plus un processus de naissance et de mort.

Par exemple si la dure du service est la constante S, et si le service du client prcdent est commenc depuis une dure H, au moment de l'arrive d'un client, on sait que ce dernier devra attendre pendant S-H. Ce qui se passera dans le futur dpend donc du pass par l'intermdiaire de H.

La file M/G/1 permet de lever les contraintes des temps de service exponentiels en gnralisant la notion de service.

26

Auteur: PHAM Cong-Duc

La file M/G/1

Rsultats

Service de moyenne S S

Soit h(t) le pdf du temps de service,


!

bn = " t n h(t)dt
0

Arrives Poissonnienne

& S = b1 ( 2 On dmontre alors que 'Var[S] = b2 # b1 ($ = % S ) En utilisant c 2 = CCV = Var[S] b = %2 2 # 1 2 S $2

# ! # 1 + c 2 && % ( N = !%1 + $ 1" ! $ 2 ' ' R ! # 1 + c2 & % = 1+ S 1"!$ 2 ' W ! # 1 + c2 & % = S 1" ! $ 2 '

27

Auteur: PHAM Cong-Duc

La file M/G/1/PS

La politique PS (Processor Sharing) est une allocation par quantum quand q->0 avec gnralement q<<S. On dmontre que :
! = "S
Pk = ! P0 P0 = 1 # ! U = 1# P0 = ! P[n > N] = ! N
k

N=

! 1# !
S (1 # ! )

R=

On retrouve les mmes rsultats que pour la file M/M/1. La politique PS tend donc effacer l'influence de la variance.
Auteur: PHAM Cong-Duc

28

La file M/G/1 Multi-classe

Dans le modle multi-classes, plusieurs classes de clients avec des services diffrents peuvent coexister. Indexons les classes par i, on a :
$ &Ui = ! i = " i Si & %U = ! = # ! i & C " S = # i Si & ' i =1 " On dfinit par !
{i} i j=1

( ( 1+ ci2 + + # * !i Si * 2 , ) , i =1 ) 2 cs = .1 !S
C

= # ! j la probabilit que le serveur

soit occup par des clients de classe 1,2,...,i


29

Auteur: PHAM Cong-Duc

File M/G/1 Multi-classes (suite)


! 1" !
si la priorit est PS (donc indpendant des ci2 ) si la priorit est FCFS (indpendant des classes)

Wi = Si

#1 + c 2 & 1 C j Wi = ! j Sj % ) $ 2 ( 1 " ! j =1 ' # 1 + c2 & ) ! jS j % 2 j ( $ ' j =1


C

Wi =

(1" ! {i "1} )(1 " !{i} )


C

s' il y a des classes de priorit dcroissante de 1 C sans premption s' il y a des classes de priorit dcroissante de 1 C avec premption et reprise.

!{i"1} Wi = Si + 1 " ! {i "1} (1" ! {i "1} )(1" ! {i} )

# 1 + c2 & )! j S j % 2 j ( $ ' j =1

30

Auteur: PHAM Cong-Duc

File M/G/1 Multi-classes (suite)

On a alors :
W="

!i Wi i =1 !

# Ri = Si + Wi % C $ ! R = S + W = " i Ri % ! &
i =1

# Ni = ! i Ri % C $ % N = ! R = " Ni & i =1

31

Auteur: PHAM Cong-Duc

Vous aimerez peut-être aussi