Introduction à la théorie des files d'attente Claude Chaudet Claude.Chaudet@enst.fr
La théorie des files d'attente... Principe: modélisation mathématique de l accès à une ressource partagée Exemples réseaux / télécoms : tampon d un routeur, lignes téléphoniques Autres utilisations : réseaux routiers, caisses de supermarché,... Objectif: estimer les valeurs de certaines métriques... Temps d attente Taille ou niveau de remplissage de la file d attente Probabilité de rejet (système saturé,...) en fonction des paramètres du système Nombre de demandes / charge Vitesse de traitement Taille / organisation de la file... 2
Processus Modèle général général considéré Des clients arrivent dans un système Processus a priori aléatoire Les clients attendent (salle d'attente, tampon,...) Les clients sont traités (servis) par le système Durée a priori aléatoire Les clients sortent du système Arrivées Attente Service Sorties On s intéresse au comportement du système et à son influence sur le flux de clients (comment le flux d entrée est transformé en flux de sortie) 3
Exemple : élément d interconnexion réseau Un paquet peut arriver lorsque le processeur est occupé à en traiter un autre Combien de temps en moyenne va attendre chaque paquet? Quel espace mémoire prévoir pour un routeur 100 Gb/s avec un processeur capable de retransmettre un paquet en 1 ms en moyenne? - Quelle taille maximale de table peut-on autoriser pour ne pas trop retarder les paquets, en sachant que la recherche s effectue en O(log n)? Réseau A Table Routage IP Réseau B 4
Exemple : caisses de supermarché Dans un supermarché, on a plusieurs caisses. Est-il préférable de faire une ou plusieurs files d attente? -Quel critère (temps moyen d attente ; temps maximum d attente? ;...) Combien d employés sont nécessaires pour assurer un temps d attente inférieur à une valeur donnée? 5
Exemple : réseau téléphonique Combien de lignes sont nécessaires pour interconnecter N utilisateurs? Trop de lignes : coût élevé pour l opérateur Trop peu de lignes : qualité de service mauvaise (rejet trop fréquent) 1 1 2 2 N N 6
Formalisation du problème Données du problème : Processus d'arrivées (distribution du temps inter-arrivées) On -paramètres (moyenne, variance,...) connus Processus de service (distribution du temps de service) -paramètres (moyenne, variance,...) connus cherche à caractériser le comportement de la file Nombre moyen de clients dans la file!!!! Q Temps moyen d'attente!!!!! W Temps moyen de séjour (total passé dans le système)! τ Probabilité de trouver une file pleine / vide lors d une arrivée arbitraire Processus de sortie en fonction du processus d'entrées et du comportement de la file 1/λ W τ 1 µ 1/λout 7
Les différents modèles : notations de Kendall On classe les files d'attente en catégories M Notation G d une classe : T/X/C/K/m/Z T : Distribution inter-arrivées X : Distribution de service C : Nombre de serveurs K : Longueur de file (incluant les serveurs ; optionnel, par défaut = + ) m : population (optionnel, par défaut = + ) Z : discipline de file (optionnel, par défaut = FIFO) Exemples M/M/1 ; M/M/C ; M/M/C/C M/G/1 ; G/M/1 D H Ek FIFO LIFO RANDOM T / X : exemples de valeurs Exponentiel (Markovien) Général (quelconque) Déterministe (constant) Hypergéométrique Erlang-k Z : exemples de valeurs file simple pile sélection aléatoire 8
9 Définitions et propriétés de base
Définition : intensité de trafic La notion de trafic représente l occupation d une ressource (serveur, lien de communication,...) Le trafic écoulé sur une ressource est le taux d occupation (ou probabilité d occupation) de ce serveur : a [0 ; 1] T a = i t i T t1 t2 tn En l honneur de l ingénieur danois Erlang (1917), l unité de trafic est un Erlang. Un Erlang représente un occupation à 100% du temps. Convention : sur un ensemble de N serveurs, le trafic varie entre 0 et N Erlang 10
Définitions : charge et stabilité d un système Charge d un système définie comme la proportion de temps du serveur utilisée : a = T 1 µ T = µ = S il n y a ni création ni destruction de clients dans le système, le système est dit stable si et seulement si : Les clients n arrivent pas plus rapidement que le système n est capable de les traiter ρ < 1 - la charge est inférieure (strictement) à 1 λ < μ dans le cas d une file simple ; λ < N.μ dans le cas d une file à N serveurs Dans le cas d une file stable, λ = λout λ λ clients arrivent par seconde 1/μ est la durée moyenne de service T le temps d observation 1 µ 11 15
Hypothèses La Formule de Little : Le système est stable Ni destruction ni création de clients dans le système formule de Little : Q = τ. λ Q = nombre moyen de clients dans le système τ = temps moyen de séjour λ = débit (entrant ou sortant) S applique indépendamment de la distribution λ Q τ 1 µ 12
13 Variables aléatoires exponentielles & processus de Poisson
Rappel : Variables aléatoires exponentielles Unique paramètre : λ Moyenne = 1/λ Fonction de répartition: FX(x) $ $ = P [X x] $ $ = 1 - e -λx P [X > x] $ = e -λx Fonction de densité : fx(x)$ = dfx(x)/dx $ $ $ = λ.e -λx F X (x) f X (x) 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 1 2 3 4 5 1.4 1.2 1 0.8 0.6 0.4 0.2 x! = 0.3! = 0.8! = 1! = 5! = 7! = 0.3! = 0.8! = 1! = 5! = 7 14 0 0 1 2 3 4 5 x
Processus de Poisson Processus de comptage Probabilité d occurrence de k événements dans un intervalle de temps T : P [N T = k] = ( T )k k! P [ NT+dt = k+j NT = k] $ = λ.dt + o(dt)$$ si j = 1 $ $ $ $ $ = o(dt)$ $ si j > 1 $ $ $ $ $ = 1-λ.dt+o(dt)$ si j < 1 L'occurrence de plus d'un événement dans un temps infinitésimal est négligeable. Temps entre deux arrivées : 1 - e -λt e T 15
Processus de poisson - propriétés Les temps Inter-arrivées (Xi = Ai+1 - Ai) suivent une loi exponentielle t A1B1 A2 B2 A3 B3 A4 A5 La superposition de deux processus de Poisson de paramètres λ1 et λ2 est un processus de Poisson de paramètre λ1 + λ2 16
Les v.a. exponentielles & processus de Poisson dans la théorie des files d attente Propriété fondamentale : sans mémoire P [X > x+x 0 X > x0] = P [X > x] - Inutile de connaître l historique pour évaluer les performances à un instant arbitraire Propriété PASTA (Poisson Arrivals See Time Averages) - Dans le cas d arrivées exponentielles, la probabilité qu un client trouve N clients dans la file est égale à la probabilité (globale) que la file contienne N -Indépendant du client, du moment d arrivée etc. Ne dépend que d un paramètre Il suffit de mesurer la moyenne des temps inter-arrivées pour avoir caractérisé la loi Adapté aux systèmes recevant une forte charge Une somme de n processus quelconques converge vers un processus de Poisson quand n 17
La file M/M/1 Arrivées : Processus de Poisson (Paramètre λ) λ µ Temps de service : exponentiel (Paramètre µ) Un seul serveur File FIFO de longueur infinie 18
Analyse : chaîne de Markov Représentation du nombre de clients dans le système sous forme d une chaîne de Markov Possible car processus de Poisson / v.a. exponentielle λ 0 1 λ 2 μ μ μ μ C est un processus de naissance et de mort Propriété : c est un processus réversible À l'équilibre, pour n'importe quel état i > 0 : $ λ.p(i-1) + μ.p(i+1) = λ.p(i) + μ.p(i) $ λ.p(0) = μ.p(1) Donc : - P(i) = ρ i.p(0) = ρ i.(1 - ρ) - P(0) calculé grâce à P(i) = 1 puis en utilisant la somme des termes d une série géométrique λ λ 19
Principaux résultats Charge de la file ρ = λ/μ Système stable si et seulement si ρ < 1 λ < μ Nombre moyen de clients dans le système : Espérance du nombre de clients : 100 Q = µ = 1 Temps de séjour moyen : On utilise PASTA : = 1 1 µ + 1 µ Number of clients 90 80 70 60 50 40 30 20 10 Temps d attente non linéaire! 0 0 0.2 0.4 0.6 0.8 1! 20
File M/M/N/N µ Arrivées : Processus de Poisson (Paramètre λ) λ µ µ µ Temps de service : exponentiel (Paramètre µ) N serveurs identiques Pas de file d attente (système saturé => client rejeté) Système toujours stable 21
File M/M/N/N (Erlang-B) Seulement N clients sont admis dans le système Chaîne de Markov à N états N k=0 k k! P [n = 0] = 1 P [n = 0] = λ 0 1 N N 1 μ k λ 2.μ λ N.μ Plus d expression simple pour P(0) k=0 k! P [n = i] = N i i! k 22 k=0 k!
File M/M/N/N (Erlang-B) Probabilité de perte : B = P[n = N] 1.4 N = 1.2 N! 1 N k B 0.8 N = 2 N = 3 N = 5 N = 7 N = 10 k=0 k! 0.6 0.4 0.2! Première loi d Erlang : E1,N(ρ) Utilisation d'abaques, de tables ou d un programme pour déterminer le nombre de ressources à mettre en place pour satisfaire une probabilité de rejet bornée 23 0 0 10 20 30 40 50 60 70 80 90 100
File M/M/N λ µ µ µ µ Arrivées : Processus de Poisson (Paramètre λ) Temps de service : exponentiel (Paramètre µ) N serveurs identiques File FIFO de longueur infinie 24
File M/M/N (Erlang-C) λ λ λ λ λ 0 1 N N+1 μ 2.μ Equations d équilibre : Pour k N: P [n = k] =(k + 1) µ P [n = k + 1] N.μ N.μ N.μ Solution: Pour k N: Pour k N: Pour k N: P [n = k] =N µ P [n = k + 1] k P [n = k] = P [n = 0] k! k N P [n = k] = P [n = N] (k N)! 25
File M/M/N (Erlang-C) Probabilité d attendre : + D = P [n N]! = k=0 k P [n = N] N k!!! = N N P [n = N] N D = P [n N] = C est la Seconde loi d Erlang : E2,N(ρ) 26 N N! N! + 1 N N 1 k=0 k k!
File M/M/N (Erlang-C) Probabilité d'attente en fonction du nombre de serveurs et de la charge : 1.4 1.2 1 N = 2 N = 3 N = 5 N = 7 N = 10 D 0.8 27 0.6 0.4 0.2 0 0 2 4 6 8 10 A!
File M/M/N (Erlang-C) Nombre moyen de clients en attente : + Q = k P [n = N + k] k=0 Q 20 15 10 N = 2 N = 3 N = 5 N = 7 N = 10 = = + k=0 k N 1 N k P [n = N] N k 2 P [n = N] 20 15 5 0 0 2 4 6 8 10 N = 2 N = 3 N = 5 N = 7 N = 10! Q = 28 N D Q 10 5 0 0 0.2 0.4 0.6 0.8 1! / N
Temps File M/M/N (Erlang-C) moyen d'attente (dans la file) : Appliquer la formule de Little à la file (sans considérer les serveurs): Q = W. λ W = Q = (N ) D En ajoutant un temps de service, on obtient le temps de séjour : = W + 1 µ 29
30 Réseaux de files exponentielles
Réseaux de files d attente Représentation d un choix, d une répétition λ p (1 - p) μ 1 μ 2 λ λ 1 μ p (1 - p) Nécessaire pour la description des systèmes complexes Réseaux routiers, réseaux de télécoms λ λ 1 p 0,1 μ 1 μ 2 λ 3 μ 3 p 0,2 p 2,4 λ 2 λ 4 μ 4 λ out p 2,5 λ 5 μ 5 31
Un point problématique... p Arrivées dans le système λ λ 1 μ Processus de Poisson, paramètre λ Arrivées dans la file Superposition de - Un processus de Poisson (paramètre λ) - Un autre processus extrait d un processus de Poisson pour lequel chaque événement survient avec une probabilité p Le processus d arrivée dans la file est non-poissonien (1 - p) 32
Réseaux Types de réseaux fermés Aucun lien avec l extérieur Population constante de K clients - On cherche à caractériser le comportement du système Analysés avec la méthode de Gordon and Newell & Lavenberg - Analyse récursive Réseaux ouverts Les clients proviennent de l extérieur et sortent du système - Il existe un chemin de chaque file d entrée vers une file de sortie Analysés grâce au Théorème de Jackson 33
Sous Le théorème de Jacskon les hypothèses suivantes Réseau ouvert, files à serveur unique Temps de services exponentiels et indépendants Processus global d arrivée poissonien Système stable (i.e. toutes les files sont stables) Alors, les variables représentant le nombre de clients dans chaque file sont indépendantes : Chaque 34 P(Q 1=k1 Q2=k2... QM=kM) = M i=1 P(Q i = k i ) file se comporte comme si ses arrivées étaient poissoniennes P(Q i=ki) = (1 - ρi).ρi ki
35 Conclusion
La théorie des files d attente Formalisme permettant de décrire les performances d'un système à partir de paramètres observables Méthodes bien définies dans de nombreux cas Possibilité d interconnecter plusieurs files d'attente pour former des réseaux de files d'attente => modélisation de systèmes complexes Il faut être précautionneux sur les hypothèses, un processus non- Poissonien ne peut pas être analysé avec une file M/M/... A retenir / savoir faire Généralités : comment modéliser un système, notion de charge File M/M/1 : formule exprimant le nombre de clients dans la file, comportement non linéaire Propriétés fondamentales : formule de Little, propriété PASTA Réseaux de files d attente : théorème de Jackson et applications 36
Pour aller plus loin Il existe de nombreux types de files d attente pertinents - M/G/1 - M/D/1 - etc. Demandent une caractérisation plus fine des processus (par ex. connaître la variance), parfois résultats partiels (bornes plutôt que valeurs exactes) Continuer dans les UE de l école RES 221 Dans la littérature récente Thomas Bonald & Mathieu Feuillet - Performance des réseaux et des systèmes informatiques 37
38 Exercice
Exercice Pendant le gala Télécom, les élèves doivent acheter leurs tickets boisson. Les personnes arrivent au comptoir selon une loi de Poisson de paramètre λ = 4 personnes par minute. Chaque personne demande un nombre de tickets suivant une loi exponentielle de moyenne 6 tickets. La vente d un ticket prend un temps fixe de 2 secondes. Questions Quelle est la loi du temps de service? Quel est le nombre moyen de clients dans le système? Quelle est la moyenne du temps de séjour? La probabilité d avoir une file vide? 39
Exercice Supposons que les responsables du gala ont décidé de mettre en place deux files d attente. Un étudiant souhaitant acheter ses tickets va choisir une file d attente avec une probabilité p = 0.5 ; mêmes questions que précédemment. Maintenant on a une seule file d attente mais avec deux serveurs (M/M/2). Mêmes questions que précédemment En échange de quelques billets pour un concert, les responsables ont fait venir un serveur professionnel qui est capable de vendre un ticket en 1 seconde. Si on se replace dans le cas initial (1 seule file), mêmes questions. Comparez les différentes approches. Conclusions? 40