Mouad Ben Mamoun Master Offshoring Informatique Appliquée
|
|
|
- Oscar Fournier
- il y a 10 ans
- Total affichages :
Transcription
1 Cours Evaluation de performances des Systèmes Informatiques Mouad Ben Mamoun Master Offshoring Informatique Appliquée Département d Informatique, Université Mohammed V-Agdal ben [email protected] 1
2 Evaluation de performances Objectif: Calculer les indices de performances d un système informatique. Par exemple: débit, temps de réponse, taux de perte, taux d utilisation... Quand : en phase de conception et d exploitation pour : Comparer différentes alternatives (architectures, algorithmes de routage,...) Dimensionner le système, càd, déterminer le nombre et la taille des composants pour répondre aux objectifs fixés Améliorer les performances d un système existant Les systèmes étant coûteux, il faut prédire leurs performances avant de les construire ou de les modifier 2
3 Comment évaluer les performances d un système? Les techniques utilisées pour l évaluation de performances sont : Les méthodes analytiques : on modélise le système grâce à un formalisme mathématique (réseaux de files d attentes, chaînes de Markov,... ) et on calcule les indices de performances par des formules analytiques ou des méthodes numériques La simulation : on reproduit l évolution du système par un programme informatique et on estime les indices de performances à partir des résultats observés Les mesures : sur le système réel ou sur des prototypes 3
4 Techniques d évaluation de performances: avantages et inconvénients (1) Les méthodes analytiques : - peu de modèles qu on sait résoudre simplement de façon exacte, complexité numérique élevée pour les modèles Markoviens + résultats sans incertitude, résultats paramétriques + les formules analytiques sont peu coûteuse en temps de calcul La simulation : - une simulation n est qu un déroulement possible, les résultats (estimations) sont fournis avec une incertitude statistique - les temps d exécution peuvent être très importants + on peut simuler des modèles complexes, plus réalistes que ceux que l on peut résoudre analytiquement 4
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 Remarque: il est intéressant d utiliser parfois plusieurs techniques pour vérifier et valider les résultats 5
6 Terminologie Variables d état : ensemble de variables décrivant l état du système à un instant donné (ex. nombre de clients par file d attente, nombre de connexions à un site Web,... ) Espace d état : ensemble des valeurs que peuvent prendre les variables d état Événement : un changement dans l état du système (ex. arrivée ou départs de clients) Système à événements discrets : système à espace d états discret (le temps peut être continu mais les événements occurrent de façon discontinu dans le temps à des instants aléatoires en général et provoquent des changements discrets des variables d état) 6
7 Caractérisation stochastique des systèmes? En général, on ne connaît pas avec certitude les caractéristiques des systèmes étudiés, par exemple: instants d arrivées des connexions sur un site Web durées des connexions,... = besoin de décrire l aléatoire caractériser l aléatoire est possible avec des distributions de probabilités, mais il faut tester l adéquation à la réalité Dans ce cours, on se restreint aux modèles stochastiques pour des systèmes à événements discrets : modèles de systèmes informatiques et de réseaux 7
8 Contenu du module Bref rappel de probabilités et statistiques Simulation à événements discrets Chaînes de Markov Files d attentes 8
9 Bibliographie Raj Jain, The Art of Computer Systems Performance Analysis, John Wiley & Sons, 1991 Bruno Baynat, Théorie des Files d Attente, Hermes-Lavoisier, 2000 Georges Fiche, Gérard Hébuterne, Trafic et performances des réseaux des télécoms, Hermes-Lavoisier, 2003 William J. Stewart, Introdution to the Numerical Solution of Markov Chains, Princeton University Press, 1994 Bloch, Greiner, Meer, Trivedi, Queueing Networks and Markov Chains, Modeling and Performance Evaluation with Computer Science Applications, John Wiley & Sons,
10 Contenu de la partie simulation Introduction : structure d un simulateur à événements discrets, gestion de l échéancier, quelques outils de simulation,... Initiation à l outil de simulation QNAP Génération aléatoire: générateurs de nombres aléatoires, tests de générateurs, méthodes de génération selon une loi donnée, distributions utilisées en modélisation Analyse statistique des résultats de simulation : estimation de précision par intervalles de confiance, étude de la représentativité de la simulation, organisation des expériences 10
11 Rappel de probabilités : exercice La fonction de densité de la loi exponentielle de paramètre λ(λ > 0) est : f EXP(λ) (x) = λe λx, x > 0 1. Calculer la moyenne, la variance et la fonction de répartition de la loi exponentielle. 2. Montrer la propriété sans mémoire de la loi exponentielle : P rob(x x + t X > x) = P rob(x t) 11
12 Simulation à Evénements Discrets Systèmes considérés (Systèmes à Evénements Discrets) : les événements e 1, e 2,... surviennent à des instants t 1, t 2,... l état du système change de façon discrète aux instants t i l état du système ne change pas entre deux événements consécutifs = il n est pas utile de considérer les périodes inter-événements Principe: une simulation dirigée par les événements où on saute d un événement au suivant et on note les changements d états correspondants (mise à jour des variables d états) Réalisation: nécessite un ensemble de tâches qui sont communes à tous les simulateurs à événements discrets indépendemment du système étudié 12
13 Tâches d un simulateur à événements discrets Gestion d un échéancier d événements : maintien d une liste ordonnée d événements futurs en perpétuelle évolution Maintien d une horloge de simulation : maintien d une variable globale représentant le temps simulé Génération de durées aléatoires : pour simuler le temps écoulé entre deux événements (ex: entre deux arrivées successives) Mises à jour des variables d états à l exécution de chaque événement Calculs statistiques : pour quantifier les indices de performances (objectif de la simulation) Trace de simulation : pour débugger le programme de simulation 13
14 L échéancier L échéancier contient l ensemble d événements futurs. Chaque événement est représenté par : sa date d occurrence, son type, un pointeur vers le code à exécuter à cette date Deux opérations fréquentes sur l échéancier : Insérer un nouveau événement Chercher et ôter l événement de plus petite date Le nombre d événements futurs peut être très important à un instant donné = nécessité d optimiser la gestion de l échéancier Plusieurs structures de données possibles pour l échéancier : tableau, liste chaînée simple ou double, Arbre,... Le choix de la structure de données affecte le temps processeur nécessaire pour l insertion et l extraction et déterminera l efficacité du simulateur 14
15 Algorithme général d une simulation 1 Initialisations (du temps de simulation, des variables d état et de l échéancier avec un premier événement) 2 TantQue (Echéancier non vide et TempsSimul < TMAX) 2.1 trouver l événement Ev de plus petite date 2.2 TempsSimul= Ev.date 2.3 TraiterEvénement(Ev) (peut entraîner l ajout ou la suppression d événements de l échéancier) 3 Fin de Simulation (Affichage des résultats statistiques) 15
16 Exemple élémentaire : simuler une file M/M/1/B File d attente de taille B Inter-Arrivées exponentielles (moyenne λ) Services exponentielles (moyenne µ) On veut estimer par simulation la distribution du nombre de clients Critère de fin de simulation : t = tmax (t: temps courant de simulation, tmax : temps de fin de simulation) 16
17 Pseudo Code Event = record date : type : end real; (Arrivées, Service); Temps : un vecteur de réels de taille B + 1 AddEvent(date,type) : ajouter un événement GetEvent(event) : extraire l événement le plus proche DelExp() : fonction de génération d une durée aléatoire selon la loi Exponentielle 17
18 Pseudo Code 1 Temps:=0; etat:=0; t:=0; 2 dt:=delexp(λ); 3 AddEvent(t+dt, Arrivées) 4 while t < tmax do begin 4.1 GetEvent(e); ot:=t; t:=e.date; 4.2 Temps[etat]:=Temps[etat]+t-ot; 18
19 4.3 case e.type of Service : begin etat:=etat-1; if etat> 0 then AddEvent(t+DelExp(µ), Service); end; 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
20 Remarques : Une analyse de la dynamique montre qu il y a un ou deux événements dans l échéancier au cours de la simulation Inutile de faire une structure complexe dans ce cas Par contre, si on augmente le nombre de files, la taille de la structure augmente 20
21 Plan d une étude par simulation 1. Définir un modèle pour le système 2. Ecrire le simulateur (implémenter le modèle) 3. Tester le simulateur 4. Choix des paramètres, Plan d expériences 5. Analyse des résultats (éventuellement, recommencer en 4, en 2 ou en 1...) 21
22 Plusieurs possibilités : Ecrire un simulateur 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, OMNeT,... + 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 22
23 Quelques outils de simulation NS (Network Simulator): logiciel libre, librairie riche de protocoles réseaux, apprentissage long, description de modèles à l aide de scripts, C++ pour coder un nouveau protocole OPNET: logiciel commercial, librairie riche de protocoles réseaux (plus que NS), apprentissage long, description de modèles à l aide d une interface graphique, Proto-C pour coder (reconnaît C/C++) QNAP (Queueing Network Analysis Package): logiciel commercial, apprentissage facile, un langage de description de réseaux de files d attentes, solveurs pour certains modèles mathématiques 23
24 Introduction à QNAP QNAP est un outil comprenant : un langage de description de réseaux de files d attente (mots clés pour décrire la durée de service, l ordonnancement, la classe des clients, le routage,le nombre de clients,... ) un langage algorithmique (tests, boucles,... ) qui permet de décrire des services complexes un simulateur à événements discrets des solveurs analytiques (MVA, Diffusion, Forme Produit,... ) 24
25 Éléments de syntaxe - Un commentaire est compris entre un & et la fin de ligne - Les chaînes de caractères sont de la forme "abcd" - Les instructions se terminent par un point virgule ; - L affectation se fait par un deux points égal := - Les majuscules et minuscules sont significatives - Les mots réservés sont en majuscules (Ex: ALL, AND, ANY, BEGIN, DO, ELSE, END, FALSE, FOR, IF, IN, IS, NIL, NOT, OBJECT, OR, REF, STEP, THEN, TRUE, UNTIL, WHILE, WITH,... ) - Pour les noms de variable, seuls les huit premiers caractères sont significatifs, les tabulations et autres caractères de contrôle ne sont pas autorisés 25
26 Structure d un programme /DECLARE/ & Section de declaration des variables /STATION/ & Section de declaration de la premiere file d attente... /STATION/ & Section de declaration de la derniere file d attente /CONTROL/ & Section de modification des valeurs par & defaut des parametres de controle /EXEC/ /END/ & Section contenant les instructions du programme & Fin du programme 26
27 Exemple de Programme /DECLARE/ /STATION/ /STATION/ /CONTROL/ /EXEC/ /END/ QUEUE S, A; NAME = S; TYPE = SOURCE; SERVICE = EXP(1.0); TRANSIT = A; NAME = A; TYPE = SERVER; SERVICE = EXP(1.0); TRANSIT = OUT; TMAX = 1000; SIMUL; 27
28 La section /DECLARE/ On y déclare des variables en donnant leur type et une éventuelle initialisation. Les types du langage sont : Les types scalaires : INTEGER, REAL, BOOLEAN et STRING Le type tableau : les indices du tableau se déclarent par a:b ou par simplement a qui est alors interprété comme 1..a. Les éléments du tableau peuvent aussi être des files ou des clients Le type objet: pour les variables structurées. Il existe des types d objets prédéfnis en QNAP, les principaux sont: QUEUE : pour les files d attente CUSTOMER : pour les clients des files d attente CLASS : pour les classes de clients FLAG : pour les synchronisations Le type référence REF : pour les pointeurs 28
29 Exemple de section /DECLARE/ /DECLARE/ INTEGER I=2; BOOLEAN trouve; STRING nom; REAL Matrice (10,0:19); QUEUE A,B,C; QUEUE T(5); REF CUSTOMER F; FLAG feu; CLASS HP, BP; 29
30 Attributs Les types QUEUE et CUSTOMER ont des attributs prédéfinis L accès à un des attributs se fait par un point. Par exemple S.NB est le nombre de clients dans la file S On peut ajouter de nouveaux attributs : /DECLARE/ CUSTOMER REAL InstArr; CUSTOMER INTEGER Numero; 30
31 Principaux attributs de QUEUE NB : nombre courant de clients dans la file NBIN : nombre total de clients entrés dans la file NBOUT: nombre total de clients sortis de la file FIRST: référence sur le premier client de la file LAST: référence sur le dernier client de la file 31
32 Principaux attributs de CUSTOMER PREVIOUS : référence sur le client précédent dans la file NEXT : référence sur le client suivant dans la file CQUEUE : référence vers la file contenant le client CPRIOR : niveau de priorité CCLASS : référence vers la classe LINK : référence sur le client suivant attendant sur le même flag SON: référence vers le dernier fils créé FATHER : référence vers le père (client créé par un NEW) 32
33 Le FLAG Un FLAG permet de bloquer un ensemble de clients et de les libérer tous en même temps pour effectuer une synchronisation Il a deux états: bloquant et passant SET (f) : Met le FLAG f dans l état passant RESET (f) : Met le FLAG f dans l état bloquant WAIT (f) : Un client qui rencontre cette instruction lors de son service doit attendre que le FLAG soit dans l état passant 33
34 La section /STATION/ donne la description d un objet de type QUEUE avec les paramètres : NAME, TYPE, SCHED, INIT, SERVICE, TRANSIT Le paramètre NAME est le nom de l objet de type QUEUE déclaré. Il est obligatoire et doit être le premier de la section STATION. Le paramètre INIT permet d initialiser le nombre de clients dans la file. Il est facultatif (par défaut la file est vide) Le paramètre TRANSIT indique la ou les files de destination pour le client en fin de service. Deux formulations possibles : TRANSIT = liste de stations et probabilités (la dernière peut être omise) TRANSIT = liste de stations et entiers (QNAP calcule des proportions) 34
35 Le paramètre TYPE Il y a quatre types de base différents : SOURCE : file qui génère des clients SERVER : file au sens usuel SEMAPHORE et RESOURCE : c est une file à jetons. Il n y a pas de service Un client n est pas routé vers une file de ce type, mais peut faire P(S) pour demander un jeton à S ou V(S) pour libérer un jeton qui retourne dans S L action P(S) est bloquante si il n y a pas de jeton. On attend le premier jeton disponible. Ces actions s effectuent en général dans la phase de service d une autre file pour le type RESOURCE un client ne peut pas faire un V d une ressource sur laquelle il n a pas fait P au prealable Ce paramètre est facultatif, par défaut une station est de type SERVER 35
36 Le paramètre MULTIPLE (n) Pour les files de type : SERVER, SEMAPHORE, RESOURCE, on peut avoir plusieurs serveurs : MULTIPLE (n) SERVER, SEMAPHORE, on peut avoir une infinité de serveur : INFINITY Exemples : TYPE = SERVER; & Un seul serveur TYPE = SERVER, MULTIPLE(10); & 10 serveurs TYPE = SERVER, INFINITY; & Une infinite de serveurs Ce paramètre est facultatif, par défaut une station a un seul serveur 36
37 Le paramètre SCHED Donne la discipline de service utilisée, par exemple : FIFO : First In First Out LIFO : Last In Last Out PRIOR : Les clients sont classés en fonction de leur priorité relative PS : Processor Sharing ; tous les clients sont servis simultanément avec une vitesse divisée par le nombre de clients. Cette discipline est incompatible avec la simulation Ce paramètre est facultatif, par défaut la discipline de service est FIFO 37
38 Le paramètre SERVICE Si il est omis, les clients restent dans la file Si il y a un service mais pas de durée, le service est de durée nulle une séquence d instructions encadrées par BEGIN et END ou une seule instruction de consommation de temps Instructions : de consommation de temps (EXP, CST, HXP,...) de synchronisation (P, V, WAIT, SET,...) de mouvement de clients (TRANSIT) 38
39 Exemple de SERVICE SERVICE = BEGIN EXP(10.0); & La duree du service NbreC1 := NbreC1 + 1; & Incrementation d une variable globale V (TICKET) ; & Liberation d un semaphore F := NEW(CUSTOMER); & Creation d un nouveau client TRANSIT (F,B); & Routage du nouveau client vers la file B IF CUSTOMER.CCLASS = C1 & Test de la classe du client en service THEN TRANSIT(A); & Routage du client en service vers ELSE TRANSIT(B); & la file A si sa classe est C1, END; & vers la file B sinon 39
40 La section /CONTROL/ permet d initialiser certains paramètres de la méthode de résolution Exemple: /CONTROL/ TMAX = Maxi; OPTION = TRACE; & Duree de la simulation & Affiche une trace du deroulement & de la simulation ACCURACY = ALL QUEUE;& Calcul des intervalles de confiance MARGINAL = A,10; & Permet d obtenir les probabilites & marginales de 1 a 10 clients dans A TSTART = 1000; & Date a laquelle commencent & les mesures statistiques 40
41 Sections /EXEC/ et /END/ La section /EXEC/ contient l appel de la méthode de résolution (ici SIMUL), et spécifie les instructions à exécuter avant et après cet appel (initialisations, affichages,...). Exemple: /EXEC/ BEGIN Maxi := 10000; SIMUL; PRINT("Le nombre de paquets perdus est: ", NbrePertes) END; La section /END/ termine le programme Qnap, elle est obligatoire et ne contient que cette instruction 41
42 Résultats standards *** SIMULATION ***... TIME = **************************************************************** * NAME * SERVICE * BUSY PCT * CUST NB * RESPONSE * SERV NB * **************************************************************** * * * * * * * * S *.9985 * * *.9985 * 10015* * * * * * * * * A * *.9965 * * * 9818* * * * * * * * ****************************************************************... END OF SIMULATION... 42
43 Dans ce tableau de résultats, les colonnes ont les significations suivantes : NAME : Nom de la file SERVICE : Temps moyen de service de la file BUSY PCT : Taux d occupation de la file CUST NB : Nombre moyen de clients dans la file RESPONSE : Temps moyen de réponse de la file SERV NB : Nombre de clients ayant quitté la file 43
44 Générateurs de nombres aléatoires : motivation Une étape fondamentale dans le développement d un simulateur est d avoir des procédures pour générer des valeurs aléatoires selon une loi de probabilité donnée (ex: exponentielle ou normale) Ceci se fait en deux étapes : 1. générer un nombre aléatoire uniformément distribué entre 0 et 1 (random-number generation) 2. transformer ce nombre pour fournir une valeur selon la loi de probabilité désirée (random-variate generation) 44
45 Méthode de génération de nombres aléatoires Dispositif physique ou Algorithme? Contrainte : on veut une génération rapide, des séquences exactement reproductibles (par exemple pour debugger,...) = la méthode couramment utilisée est un algorithme Paradoxe : construction déterministe de l aléatoire (on parle en général de nombres Pseudo-aléatoires) Solution : vérifier les propriétés aléatoires du générateur par des tests statistiques 45
46 Principe de Base Utiliser une fonction f à n arguments pour générer la prochaine valeur. Les arguments sont les n valeurs précédentes de la série x n+k = f(x n+k 1, x n+k 2,..., x k ) Il faut n valeurs pour initialiser le processus (racines, graines, semences, seed) Comportement cyclique potentiel. Si on retombe sur une série de n valeurs déjà calculées, alors la suite de la série est la même La longueur du cycle dépend de la fonction mais aussi des racines 46
47 Propriétés désirées pour les séquences générées avoir la plus grande longueur de cycle (période) possible réussir un test d adéquation à la distribution uniforme réussir des tests variés : distributivité dans l espace indépendance entre valeurs successives... 47
48 Choix de la fonction f La génération de nombres uniformes est une des fonctions les plus utilisées dans un programme de simulation = Attention à l efficacité... Employer des opérateurs simples et rapides (arithmétique entière, décalage binaire) Compromis entre la complexité et des propriétés statistiques à vérifier Remarque: Ce n est pas parce que ça a l air compliqué que c est aléatoire... 48
49 Exemple : mauvais générateur x n+1 = abs(sin(log(x n ))) Complexité : les fonctions Log et Sin sont beaucoup plus longs à calculer que des opérateurs arithmétiques de base (+, modulo,... ) Distributivité : (100 tirages, x 0 = 2) 1 Distributivite x(n+1) x(n) 49
50 Générateur LCG Un des générateurs les plus utilisées est le générateur LCG (Linear Congruential Generator) La fonction f est linéaire et utilise une arithmétique modulo m : a et b sont positifs ou nuls x n = ax n 1 + b mod m x n est un entier entre 0 et m 1 On se ramène aux réels par division par m : donc y n [0, 1[ y n = x n /m 50
51 Propriétés des générateurs LCG Le choix de a, b, m, et x 0 affectent les propriétés du générateur (période, corrélation,... ) La période maximale est m Le calcul du modulo est plus efficace pour m = 2 k (simple décalage à droite de k bits) Pour étudier les propriétés des LCG, on distingue les cas : b 0 : dans ce cas on parle de LCG mixte b = 0 : dans ce cas on parle de LCG multiplicatif 51
52 LCG mixte (b 0) la période maximale m est obtenue si et seulement si les trois conditions suivantes sont satisfaites : b et m sont premiers entre eux chaque entier premier diviseur de m est aussi diviseur de a 1 si m est multiple de 4, a 1 doit être multiple de 4 Exemple : les générateurs de type m = 2 k, a = 4c + 1, et b impair ont un cycle de longueur m 52
53 LCG multiplicatif Deux familles intéressantes : 1. m = 2 k 2. m premier m = 2 k L opération modulo est un simple décalage binaire La période maximale est seulement m/4 La période maximale est atteinte pour a de la forme 8i ± 3 ( i est un entier positif ou nul) et pour une racine x 0 impaire 53
54 m premier Quand m est premier et x 0 0, tous les x n sont différents de 0 La période maximale est m 1 La période maximale est atteinte, si et seulement si, a est une racine primitive de m Définition : a est une racine primitive de m, si et seulement si, a n mod m 1 pour n = 1, 2,..., m 2 Exemple: 3 est une racine primitive de 31, x n = 3x n 1 mod 31 a une période maximale. 5 n est pas une racine primitive de 31 (5 3 mod 31 = 1) 54
55 Problèmes d implémentation des générateurs LCG 1. Il faut toujours travailler sur de l arithmétique entière exacte et non pas passer en réel et faire une troncature 2. Vérifier que le type entier existe effectivement dans le langage et qu il y a une arithmétique exacte associée 3. il faut que l opération de multiplication a x n 1 ne provoque pas d erreurs de débordement (dépassement de l entier maximum). Sinon, les propriétés du générateur ne sont pas garanties 55
56 Méthode de Schrage Pour éviter le problème du dépassement de l entier maximal. a x mod m = g(x) + m h(x) q = (m div a) (1) r = (m mod a) (2) g(x) = a (x mod q) r (x div q) (3) h(x) = (x div q) (a x div m) (4) Pour tout x de 0 à m 1, les termes apparaissant dans le calcul de g(x) sont plus petits que m. De plus, si r < q, h(x) vaut 1 si g(x) est négatif et 0 si g(x) est positif. La méthode de Schrage ne peut pas être utilisée si la condition r < q n est pas satisfaite. 56
57 Méthode de Schrage : exemple Considérons le générateur x n = 7 5 x n 1 mod (2 31 1) a x peut atteindre à peu près 2 45 Débordement possible sur une arithmétique 32 bits. Méthode de Schrage: a = 7 5 = 16807, m = = On calcule q et r : q = 12773, r = 2836 r < q et on peut éviter le calcul de a x 57
58 Quelques conseils Utiliser un algorithme récent étudié par un spécialiste Ne jamais utiliser 0 comme racine, si le générateur est un LCG multiplicatif, on reste coincé à 0 Ne jamais prendre de racines aléatoires. Deux risques : non reproductibilité de la séquence et choix d une mauvaise racine Exemple : pour le générateur x n = 9806x n 1 mod (2 17 1), si par hasard on choisit x 0 = 37911, on reste coincé à cette valeur 58
59 Ne jamais supposer que si un nombre est aléatoire, un bit de sa représentation l est également Exemple, x n = (8789x n ) mod 2 16 initialisé à 1 le bit 1 (le poids faible) est toujours 1 le bit 2 est toujours 0 le bit 3 suit la séquence 01 le bit 4 suit la séquence 0110 le bit 5 suit un cycle plus généralement le bit l suit un cycle de longueur 2 l 2. Les bits de poids faible sont peu aléatoires. Le comportement cyclique des bits est toujours vrai pour les générateurs LCG avec m = 2 k. 59
60 Exemple d erreurs provoquées par l utilisation des bits de poids faible de ce générateur A B Etage 1 C D Etage 2 On considère un réseau multi-étages où à chaque switch on choisit la destination avec probabilité 1/2 = chaque switch du 2ème étage traite en moyenne 1/4 du trafic Si on utilise le bit 1 (resp 2) des entiers générés pour faire le routage vers le 1er (resp. 2ème) étage : 0 pour sortie haute, 1 pour sortie basse, alors le switch C traite la totalité du trafic 60
61 Exercices Exercice 1 1. Quelle est la période du générateur : x n = ( )x n mod Quelle est la période maximale pour le générateur: x n = ax n 1 mod 2 4. Quel doit être la valeur de a pour atteindre ce maximum. Y-a-t-il des restrictions sur la valeur de la racine? Exercice 2 Implémenter chacun des deux générateurs suivants avec et sans la méthode de Schrage :x n = 5x n 1 mod 31, x n = 11x n 1 mod 31 (x 0 = 1). est ce que les séquences générées sont les mêmes? sinon, expliquez pourquoi. Exercice 3 Générer 48 nombres successifs à partir de la racine x 0 = 1 pour le générateur : x n = (13x n ) mod 2 16 Trouvez la période du ième bit pour i de 1 à 5. 61
62 Générer selon une distribution quelconque A partir des générateurs de réels uniformes entre 0 et 1, 5 méthodes complémentaires : transformation inverse rejet composition convolution caractérisation statistique 62
63 Transformation Inverse Soit X une variable aléatoire et F sa fonction de répartition U = F (X) est uniformément distribué entre 0 et 1 Il suffit donc de générer X selon F 1 (U), càd, on génére u uniforme entre 0 et 1 et on retourne F 1 (u) Contrainte: on peut calculer facilement F 1 grâce à une formule analytique ou une distribution empirique 63
64 Exemple pour une formule analytique La distribution exponentielle a pour fonction de répartition F (x) = 1 exp( λx) Calcul de l inverse : F 1 (u) = 1 λ ln(1 u) Remarque: si u est uniforme sur [0, 1] alors (1 u) est également uniforme sur [0, 1] Générer selon la distribution exponentielle consiste à générer u uniforme entre 0 et 1 et retourner x = ln(u) λ 64
65 Exemple pour une distribution empirique On mesure les tailles de paquets sur un réseau et on obtient la distribution expérimentale suivante : 256 octets : octets : octets : 0.35 On calcule la fonction de répartition puis son inverse : 65
66 F (x) = Fonction de Répartition 0 0 x < x < x < x 66
67 F 1 (u) = Inverse de la Fonction de Répartition < u < u < u 1 Attention à l éfficacité : ordonner les tests par probabilité décroissante 67
68 Exemple : transformation inverse pour la loi de Poisson λ λk P rob(x = k) = e k! Pas d expression simple pour la fonction de répartition et son inverse F (n) = n k=0 P rob(x = k), P rob(x = k) = λ k P rob(x = k 1) Calcul de l inverse par un algorithme : P = exp (-lambda); X=0; U=Random; F=P; while (U > F) { X=X+1; P=P*lambda/X; F=F+P; } return X; 68
69 Tabulation de la tête de la distribution qui est souvent calculée. exemple : tableau de taille 10 pour lambda=1 i F i 0, , , , , i F i 0, , , , , Algorithme efficace : une recherche sur les 10 valeurs tabulées suivi de l algorithme général pour i > 9. Conclusion : on utilisera seulement les 10 valeurs tabulées, sauf dans 11 cas sur 100 millions 69
70 max, maxf, maxp et F ont été initialisés... U=Random; if (U <= maxf) { X=0; while (U>F(X)) X=X+1; } else { X=max; F=maxF; P=maxP; while (U>F) { X=X+1; P=P*lambda/X; F=F+P; } } return X; 70
71 Rejet Hypothèse : il existe une densité g(x) et une constante c telle que f(x) c g(x) pour toute valeur de x. La méthode consiste alors à : 1. générer x de densité g(), 2. générer y uniforme sur [0, cg(x)], 3. si y f(x) rendre la valeur x, sinon revenir en 1. Il a été prouvé que ce procédé permet de générer une variable aléatoire distribuée selon la densité f 71
72 Exemple : méthode du rejet *x*(1-x)**
73 Remarques sur la méthode de rejet g(x) doit être une densité (g(x) est positive et g(x)dx = 1) g(x) doit être facile à générer cg(x) doit être très proche de f(x). Sinon, il faudra de nombreuses tentatives avant que le test soit positif. Et la complexité de la génération sera trop élevée. 73
74 Exemple : Méthode du Rejet Exemple : Générer selon une loi Beta(2,4) dont la densité est f(x) = 20x(1 x) 3 avec x [0, 1]. Lorsque x est compris entre 0 et 1, la fonction f(x) est plus petite que Choix possible : c = 2.11 et g(x) = 1 (g : uniforme sur [0, 1]). 1. générer x uniforme sur [0, 1], 2. générer y uniforme sur [0, 2.11], 3. si y 20x(1 x) 3 retourner la valeur de x, sinon revenir en 1. 74
75 Composition Hypothèse : la fonction de répartition (ou la fonction de densité) est la somme pondérée d autres fonctions de répartition (ou fonctions de densité): F (x) = n p i F i (x) (f(x) = i=1 n p i f i (x)) i=1 avec p i 0 pour tout i, et n i=1 p i = 1. La méthode consiste à 1. générer un entier k selon la distribution (p 1, p 2,..., p n ), 2. générer x selon la kème fonction de répartition F k 75
76 Exemple : Méthode de Composition La densité de la loi de Laplace définie sur R est : f(x) = 1 2a e x /a Cette densité peut s écrire: f(x) = 1 2 f 1(x) f 2(x) (a = 1) 1. f 1 (x) = e x définie sur [0, + [ 2. f 2 (x) = e x définie sur ], 0] exp(-abs(x))/ f(x) x 1. générer u 1 et u 2 uniformes entre 0 et 1 2. si u 1 < 0.5, on retourne ln(u2), sinon on retourne ln(u2) 76
77 Convolution Hypothèse : la variable aléatoire X à générer peut s écrire sous la forme de somme de n variables aléatoires plus faciles à générer : X = X 1 + X X n La méthode consiste alors à simplement générer les n valeurs x i et retourner la somme Exemples: Une Binomiale B(n, p) est la somme de n Bernoulli de paramètre p Une Erlang k est la somme de k Exponentielles de même paramètre Une χ 2 à n degrés de liberté est la somme des carrées de n Normales centrées réduites 77
78 Caractérisation statistique Les caractéristiques spécifiques de certaines distributions permettent de les générer par des algorithmes particuliers Exemple : Méthode de Box et Muller pour générer une distribution Normale N(µ, σ) : 1. générer U 1 et U 2 uniformes et indépendantes 2. X 1 = µ + σ cos(2π U 1 ) 2ln(U 2 ) et X 2 = µ + σ sin(2π U 1 ) 2ln(U 2 ) suivent une loi Normale N(µ, σ) et sont indépendantes 78
79 Quelques distributions souvent utilisées Normale Exponentielle Weibull Pareto Bernoulli Binomiale Géométrique Poisson 79
80 Normale f(x) = 1 σ (x µ) 2 2π e 2σ 2 avec x +. µ est la moyenne et σ l écart type (σ 0) La fonction de répartition n est pas explicite, il faut recourir à des tables ou à des approximations numériques La loi Normale est probablement la loi la plus utilisée à cause du théorème central Limite : Théorème La somme de variables aléatoires indépendantes et de variance finie est assymptotiquement distribuée selon une loi Normale Remarque Il n est pas nécessaire que les variables aient la même distribution 80
81 Utilisation: modéliser un phénomène aléatoire résultant de la somme de plusieurs effets indépendants, par exemple : nombre de pannes sur un parc de matériel erreur de mesure ou de modélisation provenant de plusieurs facteurs, l erreur autour de la vraie valeur sera distrbuée selon la loi normale La loi Normale est une loi limite pour les opérations Somme et pour de nombreuses distributions quand un de leurs paramètres augmente (Binomiale, Poisson,... ) simulation : méthode de Box et Muller ou somme d un grand nombre de valeurs uniformes indépendantes 81
82 Exponentielle f(x) = λe λx, avec 0 x. Seule loi continue vérfiant la propriété Sans-Mémoire : P (X t 0 + t X > t 0 ) = P (X t) La propriété sans mémoire simplifie beaucoup l analyse de modèles, ce qui explique la grande popularité de cette loi Utilisée en général pour modéliser le temps entre deux événements succesives, par exemple début et fin d un service, inter-arrivées de paquets, de requêtes, de pannes... simulation : méthode de transformation inverse 82
83 Weibull f(x) = bxb 1 a b e ( x a) b avec 0 x. pour b = 1, on retrouve la loi exponentielle Loi limite sur les opérations Min le minimum de plusieurs variables aléatoires i.i.d converge assymptotiquement vers une loi de Weibull Utilisée souvent en fiabilité pour modéliser des durées de vie Durée de Vie (Système) = Min (Durée de Vie Composante) simulation : méthode de transformation inverse 83
84 Pareto f(x) = aba x a+1 avec x b, a, b > 0 Il a été trouvé que certaines caratéristiques du trafic Internet peuvent être bien représentées par cette loi, par exemple : taille des fichiers échangés durées des sessions FTP Permet de générer facilement un trafic self-similar (qui permet de modéliser le trafic TCP/IP). En effet, il suffit d aggréger plusieurs sources ON-OFF avec des distributions de Pareto pour la longeur des périodes ON-OFF simulation : méthode de transformation inverse 84
85 Bernoulli Distribution discrète la plus simple. Une variable X de type Bernoulli B(p) prend deux valeurs seulement 0 et 1: P rob(x = 0) = p, P rob(x = 1) = 1 p utilisée pour modéliser deux alternatives, par exemple : système en marche ou en panne, transmission avec succés ou non,... simulation : générer u uniforme entre 0 et 1, si u p retourner 0, sinon retourner 1 85
86 Binomiale P rob(x = k) = C k np k (1 p) n k, k = 0, 1,..., n utilisée pour modéliser le nombre de succés dans une suite de n tirages de Bernoulli indépendents, par exemple : nombre de processeurs en marche dans une machine multi-processeurs nombre de paquets qui ont atteint leur destination simulation : méthode de convolution (somme de Bernoulli) 86
87 Géométrique P rob(x = k) = p(1 p) k 1, k = 0, 1,..., équivalent discret de la loi exponentielle, propriété sans mémoire : P (X = k + k 0 X > k 0 ) = P (X = k) utilisée pour modéliser un nombre d essais avant le premier succés ou le premier échec, par exemple : nombre de paquets transmis avec succès entre deux paquets transmis avec erreur simulation : méthode de transformation inverse 87
88 Loi de Poisson λ λk P rob(x = k) = e, k = 0, 1,..., k! utilisée pour modéliser un nombre d arrivées durant un intervalle de temps, par exemple : nombre de requêtes à une base de donnée durant un intervalle de longeur t simulation : méthode de transformation inverse (voir cours précédent) 88
89 Processus de Poisson Un processus de Poisson (flux Poissonien) est un processus tel que les différences entre deux instants successifs sont i.i.d de loi exponentielle (Exp(λ)) Lien avec Loi de Poisson : nombre d arrivées durant un intervalle de temps de longeur t suit une loi de Poisson de paramètre λt La superposition de plusieurs flux Poissoniens de paramètres λ i est un flux Poissonien de paramètre λ = λ i Si un flux Poissonien de paramètre λ est dispatché en k flux avec les probabilités (p 1, p 2,..., p k ) alors chaque flux i est aussi un flux Poissonien de paramètre p i λ 89
90 Analyse opérationnelle Quelques lois simples sur des quantités mesurables, qui ne nécessitent pas des hypothèses probabilistes ou statistiques : Loi de l utilisation Loi du flux forcé Loi de Little Loi général du temps de réponse Loi du temps de réponse interactive 90
91 Quantités opérationnelles concernées Pour une période d observation T et un composant i du système, on peut mesurer les quantités : Taux d arrivées λ i : nombre d arrivées sur le temps total T : Débit X i : nombre de travaux terminés sur le temps total T : Utilisation U i : temps total des services sur le temps total T : Temps moyen de service S i : temps total des services sur le nombre de travaux terminés: B i C i A i T C i T B i T 91
92 Loi de l utilisation Par définition U i = B i T = C i T B i C i U i = X i S i L utilisation est le produit du débit et du temps moyen de service 92
93 Loi du flux forcé Relie le débit X du système aux débits X i des éléments individuels Hypothèse : conservation des flux entrées sorties: A i = C i (par exemple, quand T devient grand et le système est stable) Dans le système, un travail qui arrive se décompose en tâches élémentaires et ne le quitte que lorsqu elles sont toutes terminées Il demande V i tâches au serveur i (V i visites au serveur i) C 0 est le nombre de travaux entrant et quittant le système Donc le serveur i reçoit et effectue C i = V i C 0 tâches Le débit du serveur X i = C i T = C 0 T X i = XV i C i C 0, donc 93
94 Puisque l utilisation U i vaut par définition X i S i, on a: U i = X i S i = XV i S i En posant D i = V i S i, on obtient U i = XD i D i est le temps de service dans le serveur i de toutes les tâches d un travail Le goulot d étranglement (bottleneck) est le serveur qui a la plus grande valeur de D i et donc l utilisation la plus élevée le nombre maximal de travaux exécutables dans le système est obtenu lorsque le serveur en bottleneck a une utilisation de 1 94
95 Exemple On considère un système composé d un processeur et deux disques A et B. on suppose que : chaque programme nécessite 5 secondes de temps CPU, 80 accès sur le disque A et 100 accès sur le disque B un accès disque sur A dure 50 ms, et sur B 30 ms on mesure un débit de 15.7 accès par seconde sur le disque A on veut déterminer le bottleneck et calculer le débit et l utilisation de la CPU et des disques? 95
96 Données initiales D CP U = 5s V A = 80 V B = 100 S A = 0.05s S B = 0.03s X A =
97 D A = S A V A = 4s D B = S B V B = 3s donc la CPU est le bottleneck X = X A V A = programme par seconde X B = XV B = accès par seconde X CP U = XV CP U = = vistes par seconde (puisqu un programme doit visiter la CPU avant d accéder aux disques, le nombre de visites à la CPU est V CP U = V A + V B + 1 = 181) U CP U = XD CP U = = 98% U A = XD A = = 78.4% U B = XD B = = 58.8% 97
98 Loi de Little clients entrants SYSTEME clients sortants Hypothèse : nombre de clients entrants = nombre de clients sortants ou N est le nombre moyen de clients dans le système R est le temps moyen de réponse (temps d attente + temps de service) λ est le taux d arrivée des clients dans le système N = λr N = XR 98
99 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) : N w = λw où W est le temps moyen d attente Calcul du nombre moyen de clients en service (serveur (s) sans la file) : N s = λs où S est le temps moyen de service 99
100 Loi général du temps de réponse On considère un système composé de M sous-systèmes Par la loi de Little on a Q i = X i R i et Q = XR où : Q i (resp Q) est le nombre moyen de clients dans le sous-système i (resp dans le système) R i (resp R) temps moyen de réponse du sous-système i (resp du système) Q = Q Q M, donc XR = X 1 R X M R M et R = M i=1 V i R i Remarque: il est possible de montrer que cette loi est valide même sans l hypothèse de conservation de flux 100
101 Exercices Exercice 1 Le débit d un système a été observé être égale à 5 clients par seconde sur une période d observation de 10 minutes. Si le nombre moyen de clients dans le système a été égal à 4 durant cette période, quel était le temps moyen de réponse? Exercice 2 Durant une période d observation de 10 secondes, 40 requêtes ont été traitées par un serveur. Chaque requête a nécessité deux accès disque. Le temps moyen de service sur le disque était de 30ms. Quel a été le taux d utilisation du disque durant cette période? 101
102 Chaînes de Markov Une chaîne est un processus à valeurs dans un espace d états E dénombrable On distingue : les Chaînes de Markov en Temps Discret (CMTD) : les Chaînes de Markov en Temps Continu (CMTC) : Définition : Un processus X n est une CMTD ssi P r(x n+1 = j X n = i n, X n 1 = i n 1,..., X 0 = i 0 ) = P r(x n+1 = j X n = i n ) 102
103 CMTD homogène On note P i,j (n) = P r(x n+1 = j X n = i) Une chaîne de Markov est homogène, si est seulement si, P i,j (n) est indépendant de la date n. Cette probalilité, noté P i,j, est la probabilité de transition de i vers j Par construction, la matrice P = (P i,j ) i,j E des probabilités de transition vérifie : tous les éléments de P sont positifs ou nuls pour tout i, j E P i,j = 1 103
104 Comportement transitoire et limite Soit π(n) le vecteur des probabilités P r(x n = i) En appliquant le théorème de conditionnement P r(x n = j) = i E P r(x n = j X n 1 = i)p r(x n 1 = i) = i E P i,jp r(x n 1 = i) Ainsi, π(n) = π(n 1)P et par récurrence π(n) = π(0)p n Si le processus est connu à l instant 0, on peut calculer ainsi les distributions transitoires aux instants n Pour étudier l existence d une limite au vecteur π(n) lorsque le temps n tend vers l infini, il faut établir une classification des états et analyser la structure de la chaîne 104
105 Classification des Etats On définit pour chaque état quatre quantités liées au dates de retour à cet état. fj n est la probabilité de l événement (le premier retour en j à lieu en n transitions). f j est la probabilité de retour en j : f j = n=1 f n j M j est le temps moyen de retour en j : M j = n=1 n f n j γ est le pgcd des valeurs de n telles que fj n période de retour. est non nulle. γ est la 105
106 Transience ou Récurence Si f j < 1 l état est transitoire. Si f j = 1 l état est récurent : si M j =, l état est recurent nul. si M j <, l état est recurent non nul. De plus, si γ > 1, l état est périodique de période γ. si γ = 1, l état est apériodique. 106
107 Structure de la chaîne Définition : Un sous ensemble A d états est fermé si et seulement si il n y a pas de transition entre cet ensemble et son complémentaire Définition : un état absorbant est un sous ensemble fermé ne comprenant qu un seul élément. Une chaîne est irréductible si et seulement si il existe une suite de transitions menant de i à j pour tous les états i et j. 107
108 Chaînes irréductibles Théorème: états sont: Pour une chaîne de Markov irréductible, tous les tous transitoires ou tous récurents non nuls ou tous récurents nuls De plus, si un état est périodique, alors tous les états le sont avec la même période. Remarque: Pour une chaîne finie irréductible, tous les états sont récurents non nuls 108
109 Existence d une limite Soit une CMTD irréductible et apériodique, alors la distribution limite π = lim n π(n) existe et est indépendente de la distribution initiale π(0) (on dit qu elle est ergodique). De plus, soit tous les états sont transitoires ou récurents nuls et dans ce cas π(j) = 0, pour tout j. soit tous les états sont récurents non nuls et π est solution unique du système : π = πp (5) πe = 1 où e est un vecteur colonne dont tous les éléments sont 1. De plus, on a π(j) = 1/M j 109
110 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(t n ) = e n X(t n 1 ) = e n 1, X(t n 2 ) = e n 2,..., X(t 0 ) = e 0 ) = P r(x(t n ) = e n X(t n 1 ) = e n 1 ), n, t 0 < t 1 <... < t n En pratique : il faut s assurer que la description du système à un instant t est suffisante pour prédire le futur 110
111 CMTC homogènes On s intéresse uniquement aux CMTC homogènes : P r(x(t n ) = j X(t n 1 ) = i) ne dépend pas des instants t n 1 et t n mais seulement de la durée t n t n 1 On définit alors la probabilité de transition de i à j durant le temps t p i,j (t) = P r(x(t + s) = j X(s) = i) = P r(x(t) = j X(0) = i), s 0 Si π(t) est la distribution transitoire à l instant t, càd, le vecteur des probabilités P r(x(t) = i), alors π j (t) = i p i,j(t)π i (0) Soit P (t) la matrice des transitions p i,j (t), on a π(t) = π(0)p (t) Remarque : Pour une CMTC homogène le temps passé dans un état a une distribution exponentielle 111
112 Générateur d une CTMC On définit q i,j le taux de transition instantané de i à j par : q i,j = lim dt 0 p i,j (dt) dt On pose q i,i = {j, j i} q i,j, (i j) La matrice Q = (q i,j ) est appelée générateur infinitésimal de la CMTC X(t), elle vérifie les propriétés : tous les éléments non diagonaux de Q sont positifs ou nuls la somme de chaque ligne est nulle ( i, j q i,j = 0) On peut montrer que P (t) = e tq et donc π(t) = π(0)e tq 112
113 Caractéristiques d une CMTC La classification des états d une CMTC en états transitoires, récurrents nuls ou récurrents non nuls se fait de la même façon que pour les CMTD La notion de périodicité n existe pas pour les CMTC Une CMTC est dite irréductible si chaque état j est atteignable de n importe quel état i i, j, i j, t : p i,j (t) > 0 Si une CMTC est irréductible, alors tous les états sont de même nature Remarque : la méthode de la chaîne incluse permet d étudier les caractéristiques d une CMTC à partir de celles de la CMTD incluse 113
114 Existence d une limite Théorème: pour une CMTC irréductible la distribution limite π = lim t π(t) existe et est indépendante de la distribution initiale π(0). De plus, soit tous les états sont transitoires ou récurrents nuls et dans ce cas π j = 0, pour tout j. soit tous les états sont récurrents non nuls et π est l unique solution du système (dans ce cas on dit que la chaîne est ergodique) : πq = 0 πe = 1 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 114
115 Equilibre stationnaire En développant l équation πq = 0 pour un i quelconque, on a: π j q j,i = 0 j En séparant la somme et en utilisant le fait que k q i,k = 0 : π j q j,i = π i q i,i = π i j i On obtient ce qu on appelle l équation d équilibre ou les équations de balance globale : k i j i π j q j,i = k i π i q i,k Interprétation : tout ce qui permet de rentrer dans l état i (partie gauche) est égal à tout ce qui permet de sortir de i (partie droite) q i,k 115
116 Lien entre CMTC et CMTD : Uniformisation On peut transformer les matrices pour passer d un problème en temps continu en un problème en temps discret Soit Q un générateur tel que max i ( q i,i ) < + Définissons P λ = Id + 1 λ Q Pour λ max i ( q i,i ) on peut montrer que : P λ est une matrice stochastique qui a la même distribution stationnaire que Q P (t) = e λt n=0 (λt) n P n λ, t 0 n! 116
117 Calcul de la distribution stationnaire Résolution analytique : pour certains modèles (voir plus loin) Résolution numérique : limitée par le problème de l explosion de la taille de l espace d états. Les principales méthodes de résolution sont: Méthodes directes (variantes de l élimination de Gauss) Méthodes itératives (puissances, Jacobi, Gauss-Seidel,... ) Méthodes par décomposition (NCD, complément stochastique,...) En cas de besoin, le livre de Stewart Introduction to the Numerical Solution of Markov Chains est très complet sur ce sujet 117
118 Un exemple de résolution analytique : Processus de Naissance et de Mort Un processus de Naissance et de Mort est une chaîne de Markov où pour tout état n, les seules transitions possibles amènent aux états n 1 et n + 1 (s ils existent) La transition de l état n à l état n + 1 est une Naissance La transition de l état n à l état n 1 est une Mort λ n (resp. µ n ) est le taux de Naissance (resp. de Mort) à l état n 118
119 Equilibre stationnaire pour n > 0 : π n [µ n + λ n ] = π n 1 λ n 1 + π n+1 µ n+1 pour n = 0 π 0 λ 0 = π 1 µ 1 oubien π n [µ n 1 {n>0} + λ n ] = π n 1 λ n 1 1 {n>0} + π n+1 µ n+1 119
120 Résolution L équation à l état 0 permet d obtenir π 1 en fonction de π 0 π 0 λ 0 = π 1 µ 1 Examinons maintenant l équation à l état 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 120
121 Soit: Si on peut normaliser: π n = π 0 n 1 i=0 λ i n i=1 µ i alors, π 0 = n=1 [ 1 + n 1 i=0 λ i n i=1 µ i n=1 < ] n 1 1 i=0 λ i n i=1 µ i 121
122 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 122
123 Fondamentaux de PageRank PageRank calcule une valeur numérique pour chaque page Web. Cette valeur mesure la pertinence ou l importance relative d une page dans un ensemble de pages Web une page Web est un texte caractérisé par des liens vers d autres pages ainsi chaque page est pointée par un ensemble de pages et pointe elle même vers d autres pages. Soit Γ(p) l ensemble des pages qui pointent sur p et d(q) le nombre de pages pointées par la page q si une page source pointe vers k pages destinations, alors chacune reçoit 1/k de la pertinence de la source si P e(p) est la pertinence de la page p, alors : P e(p) = q Γ(p) P e(q) d(q) 123
124 Modélisation par une chaîne de Markov l espace d états est constitué par l ensemble des pages Web {p 1, p 2,..., p N } les transitions entre états sont les liens entre les pages Web on peut alors définir la matrice de transitions H = H i,j : H i,j = 1/O i si p i a un lien vers p j et 0 sinon O i est le nombre de pages pointées par p i La chaîne de Markov (X n ) peut être vue comme une personne qui surfe sur le Web de façon aléatoire et qui peut se trouver à l étape n à une des pages Web Les pages qui n ont pas de liens vers d autres pages sont supposées pointer vers l ensemble des pages Web. Ceci permet d éviter les états absorbants qui pourraient arrêter le processus du surf 124
125 En utilisant ce qui précède, on a : P e(p j ) = p i Γ(p j ) P e(p i ) O i = N P e(p i )H i,j i=1 On reconnaît la définition de la probabilité stationnaire d une chaîne de Markov La pertinence d une page p i est donc égale à la probabilité stationnaire π i de cette page, qui peut être interprétée comme la probabilité de se trouver dans cette page après plusieurs clics Rappel : π i = 1/µ i où µ i est le temps moyen de retour à la page p i une page avec une grande valeur π i doit être importante, car cela implique que plusieurs pages pointent vers elle et font ainsi que la personne qui surfe y retourne assez souvent 125
126 Remarques : En fait, la matrice de transition G utilisée dans PageRank (appelée Matrice de Google) est légèrement différente : G = αh + (1 α)u, où : H est la matrice de transition déjà définie U est une matrice dont toutes les valeurs sont égales à 1/N α est un paramètre entre 0 et 1, souvent choisi égale à 0.85 L idée de cette modification est que dans 85% des cas, on surfe selon la structure des liens du Web et dans 15% des cas on choisit une nouvelle page de façon uniforme dans l ensemble des pages Pour plus de détails sur PageRank et Google l information est largement disponible sur le Web (par exemple sur Wikipedia) 126
127 Files d attentes :Notation de Kendall On décrit une file de façon compacte avec la notation A/S/n/B/N/Z: A décrit le processus des arrivées (ou distribution d inter-arrivées). Les symboles suivants sont souvent utilisés : (M : processus de Poisson), (GI : lois générales indépendantes), (G: Général), (D: Déterministe), (E k : Erlang d ordre k) S décrit les distributions de service. On utilise les mêmes symboles que pour les arrivées (M signifie services exponentiels) n est le nombre de serveurs B est la capacité du Buffer, par défaut la file est de taille infinie N est le nombre de clients existant dans le système (source + file), par défaut, la population est de taille infinie Z discipline de service, par défaut c est FIF0 127
128 La file M/M/1 Arrivées Poisson, Services Exponentiels, 1 Serveur, Capacité infinie pour garder les clients On note µ le taux de service et λ le taux d arrivées C est un processus de Naissance et de Mort avec les taux de transition : λ i = λ i µ i = µ i Posons ρ = λ/µ (c est la charge du système) 128
129 CMTC associée à une file M/M/1 Soit N t le nombre de clients dans la file à l instant t Le processus (N t ) t 0 à espace discret {0, 1, 2,...} et à temps continu est une CMTC. Ceci est dû au fait que les inter-arrivées et les services sont exponentielles (sans mémoire) Si on considère par exemple la file M/D/1, (N t ) t 0 n est pas une chaine de Markov: il faut connaitre de plus le temps passé déjà dans le service pour prédire un départ λ λ µ ν λ 0... Générateur : Q = (ν = λ + µ) 0 µ ν λ
130 Equation d équilibre stationnaire : π n [µ1 {n>0} + λ] = π n 1 λ1 {n>0} + π n+1 µ Ce qui donne : π n = π 0 ρ n, n 0 Condition de normalisation : πe = 1 π 0 n=0 ρn = 1. Ceci est possible, ssi n=0 ρn < + ρ < 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 130
131 Caractéristiques d une M/M/1 La moyenne du nombre de clients E(N) dans la file: E(N) = n=1 nπ n = ρ 1 ρ La probabilité que la file soit vide est (1 ρ) le taux d utilisation de la file U vaut donc ρ Variance V (N) du nombre de clients dans la file: V (N) = E(N 2 ) (E(N)) 2 = i=1 i2 π i (E(N)) 2 = ρ (1 ρ) 2 Probabilité qu il y ait au moins n clients dans la file: ρ n La moyenne du nombre de clients en attente E(N W ) : E(N W ) = n=1 nπ n+1 = ρ2 1 ρ 131
132 Caractéristiques temporelles En appliquant la formule de Little : le temps moyen de réponse est : E(R) = E(N) λ = 1 µ λ = 1 µ(1 ρ) le temps moyen d attente est : E(W ) = E(N W ) λ = ρ µ λ = ρ µ(1 ρ) On peut remarquer que ces temps tendent vers l infini quand λ tend vers µ On peut montrer que : le temps de réponse a une distribution exponentielle, la fonction de répartition est : F R (x) = P rob(r x) = 1 e x(µ λ) le temps d attente est distribué selon la fonction de répartition : F W (x) = P rob(w x) = 1 ρe x(µ λ) 132
133 100 1/(1-x) x Allure du temps moyen d attente et de séjour en fonction de ρ 133
134 Non Linéarité Le temps moyen de réponse (et d attente) est fortement non linéaire : On considère une file dont la durée de service moyenne est 144s Le taux d arrivée est 10 clients/h Que vaut le temps moyen de réponse? le temps moyen de service est 0.04h Donc le taux de service est 25 clients/h et la charge vaut 0.4 Et le temps de réponse vaut en seconde 144/(1 0.4) = 240s Le taux d arrivées augmente de 2 clients/h La charge passe à 0.48 et le délai passe à 277s Augmenter les arrivées de 20% augmente le délai de 17% 134
135 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% 135
136 Compromis Usager/Opérateur Un opérateur souhaite que son système soit utilisé le plus possible donc ρ doit être grand Mais lorsque ρ s approche de 1, le temps d attente des usagers est non borné Demandes antagonistes : compromis
137 Dimensionnement Déterminer la capacité du service pour garantir un délai voulu pour un trafic (taux d arrivée) donné La capacité C est le débit du serveur = µ Soit R le temps de réponse souhaité Donc, C = λ + 1/R R = 1 C λ C λ assure la stabilité du système, le terme 1/R est le coût pour obtenir les performances demandées sur un système simple donné 137
138 Caractéristiques Spatiales La file M/M/1 Charge Probabilité d avoir k clients dans la file Utilisation ρ = λ/µ π k = (1 ρ)ρ k 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 Nombre moyen de clients en attente E(N W ) = ρ2 (1 ρ) Variance du nombre de clients en attente V (N W ) = ρ2 (1+ρ ρ 2 ) (1 ρ) 2 ρ n 138
139 Caractéristiques Temporelles Répartition du temps de réponse F (x) = 1 e x(µ λ) Temps de réponse Moyen E(R) = 1 (µ λ) Variance du temps de réponse V (R) = 1 (µ λ) 2 Répartition du temps d attente F (x) = 1 ρe x(µ λ) Temps d attente moyen E(W ) = ρ µ λ Variance du temps d attente V (W ) = ρ(2 ρ) (µ λ) 2 139
140 Processus de Sortie d une M/M/1 On peut caractériser le processus de sortie d une file M/M/1 : Théorème de Burke Le processus de sortie d une M/M/1 de taux d arrivée λ et de taux de service µ est un processus de Poisson de taux λ si λ < µ Utile dans les méthodes de décomposition de réseaux ouverts 140
141 Exemple M/M/1 : Requêtes dans un SGBD Arrivées selon un processus de Poisson de taux 30 req par seconde. Chaque requête prend 0.02 seconde de traitement Donc le taux de service est de 1/0.02 = 50 requetes par seconde Analyse par une M/M/1 La charge est de 0.6 Le serveur est vide pendant 40 pourcent du temps Le nombre moyen de requêtes est 1.5 Donc le temps moyen de réponse est 0.05 seconde 141
142 Files simples, Modèles d Erlang 142
143 Modèle d Erlang C 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 143
144 La file M/M/m C est un processus de Naissance et de Mort caractérisé par: λ i = λ i µ i = iµ si i < m µ i = mµ si i m La condition de stabilité est : λ < mµ (dans la suite, on suppose que cette condition est vérifiée) On définit la charge par ρ = λ/(mµ) On cherche à calculer γ = i m π(i) 144
145 Formule d Erlang C En développant, l équation déquilibre et la condition de normalisation, la probabilité d avoir k < m clients : π 0 (mρ) k la probabilité d avoir k m clients : π 0 m m ρ k la probabilité d attente (Formule d Erlang C): k! m! γ = (mρ)m m!(1 ρ) π 0 où la probabilité que le système soit vide est : ( π 0 = 1 + (mρ)m m 1 m!(1 ρ) + (mρ) i i! i=1 ) 1 145
146 Caractéristiques Spatiales Charge La file M/M/m Probabilité système vide π 0 = ρ = λ/(mµ) ( 1 + (mρ)m m!(1 ρ) + m 1 i=1 Probabilité d avoir k clients si k < m π 0 (mρ) k Probabilité d attente Nombre moyen de clients Variance du nombre de clients Nombre moyen de sinon π 0 m m ρ k m! γ = (mρ)m m!(1 ρ) π 0 k! E(N) = mρ + ργ 1 ρ (mρ) i i! V (N) = mρ + ργ(m + 1+ρ ργ (1 ρ) 2 ) clients en attente E(N W ) = ργ (1 ρ) Variance du nombre de clients en attente V (N W ) = ργ(1+ρ ργ) (1 ρ) 2 ) 1 146
147 Caractéristiques Temporelles La file M/M/m Temps de réponse Moyen E(R) = 1 µ (1 + γ m(1 ρ) ) Variance du temps de réponse V (R) = 1 µ 2 (1 + γ(2 γ) m 2 (1 ρ) 2 ) Répartition du temps d attente Temps d attente moyen E(W ) = F (x) = 1 γe xµm(1 ρ) γ mµ(1 ρ) Variance du temps d attente V (W ) = γ(2 γ) m 2 µ 2 (1 ρ) 2 147
148 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 148
149 La file M/M/m/m est un processus de naissance et mort avec les taux : λ i = λ i < m λ m = 0 µ i = iµ i Puisque l espace d états est fini, la chaine est ergodique et les probabilités sationnaires sont données par : π k = ( m i=0 ) 1 λ i λ k i!µ i k!µ k, 0 k m On déduit alors la probabilité que le système soit plein π m 149
150 Attention La probabilité de perte est la probabilité qu un client entrant trouve le système plein En général, la distribution ψ aux instants d arrivées n est pas nécessairement la distribution stationaire π π i = limt (i)/t (T (i) est le temps passé en i, T un temps d observation très grand) ψ i = limx(i)/x (X(i) est le nombre de fois où on a trouvé la file à l état i, X le nombre de visites) Cependant, ici, grâce aux arrivées suivant un processus de Poisson, les deux distributions coincident C est la propriété PASTA: Poisson Arrivals See Time Averages 150
151 Formule d Erlang B La probabilité de perte vaut donc: P rbp erte = π m = ( m i=0 λ i ) 1 λ m i!µ i m!µ m C est la formule d Erlang B ou formule d Erlang pour les blocages d appel On peut alors dimensionner le commutateur (trouver m pour garantir une probabilité de blocage acceptable) 151
152 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 λ B = 0 µ i = iµ si i m µ i = mµ si m < i B Puisque la chaîne a un nombre fini d états, le système est toujours stable 152
153 Les probabilités stationnaires sont obtenues simplement : π 0 λ n n! µ n < m π n = n π 0 λ n m! m n m µ n m n π 0 est obtenu par normalisation : ( π 0 = 1 + (mρ)m (1 ρ B+1 m ) m!(1 ρ) + m 1 i=1 (mρ) i i! ) 1 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 le temps moyens de séjour et d attente E(R) = E(N) λ(1 π B ) et E(W ) = E(N W ) λ(1 π B ) 153
154 Charge La file M/M/m/B ρ = λ/(mµ) Probabilité d avoir k clients si k m π 0 (mρ) k Nombre moyen de clients Nombre moyen de clients en attente sinon π 0 m m ρ k m! k! E(N) = B i=1 iπ i E(N W ) = B 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 Temps de réponse moyen E(R) = E(N) λ(1 π B ) Temps d attente moyen E(W ) = E(N W ) λ(1 π B ) 154
155 La file M/M/ Arrivées Poisson de taux λ Un infinité de serveurs identiques (service exponentiel de taux µ) Pas de buffer d attente, un client qui arrive entre directement en service Sert à modéliser des situations où le nombre de serveurs est plus grand que la demande Remarque : la capacité de service étant illimitée le système est toujours stable indépendemment des valeurs de λ et µ 155
156 Caractéristiques La file M/M/ est un processus de naissance et de mort avec les taux : λ i = λ i µ i = iµ i On pose ρ = λ/µ, les probabilités stationnaires sont données par : π k = π 0 ρ k k!, π 0 = e ρ 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 µ 156
157 Exemple : Centre de Calcul Les étudiants se rendent au centre de calcul selon un processus de Poisson avec un taux de 10 personnes par heure Chaque étudiant travaille 20mn en moyenne. La distribution du temps de travail est exponentielle Il y a 5 terminaux Les étudiants disent qu ils attendent trop
158 Analyse du centre par une M/M/5 λ = 1/6 etudiant/minute µ = 1/20 ρ = Utilisation moyenne d un terminal = la probabilité d attente = probabilité que tous les terminaux soient occupés = γ = π 0 (m ρ) m m!(1 ρ) = 0.33 Nombre moyen d étudiants dans le centre = mρ + ργ 1 ρ =
159 Nombre moyen d étudiants en attente = ργ 1 ρ = 0.65 Temps moyen de séjour dans le centre = 1/µ(1 + Qui se décomposent en 20 minutes de travail et 4 minutes d attente... γ m(1 ρ) ) = 24mn 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)? 159
160 Augmenter le nombre de terminaux Combien de terminaux pour que le temps d attente soit plus petit que 2 minutes en moyenne et plus petit que 5 minutes dans 90 pourcents des cas? On augmente de 1 terminal. (m=6) ρ devient 0.556, γ = 0.15, Temps moyen d attente = 1.1 minute 90 percentile = 3 minutes 160
161 Répartition On distribue les 5 terminaux en 5 places distinctes, avec 5 files d attente séparées et pas d informations globales pour choisir. On a donc 5 M/M/1 Le taux de service reste identique Le taux d arrivées est divisée par 5 (répartition équiprobable) 161
162 La charge ρ reste la même Le temps moyen de séjour est 1/µ 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 162
163 Les réseaux de files d attente Un Réseau de Files d Attente (RFA) est un ensemble de files simples interconnectées. Il est caractérisé par : le processus d arrivées des clients dans le système (ex. Poisson de taux λ) pour chaque file d attente individuelle : la distribution du temps de service (ex. Exponentielle de taux µ i ) le nombre de serveurs m i la capacité de la file K i (éventuellement infinie) la discipline de service (FIFO, LIFO, etc,..., éventuellement avec priorité préemptive/ non préemptive,... ) le routage des clients dans le système. On distingue plusieurs types de routage dont : 163
164 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 p 0i : la probabilité qu un client arrivant de l extérieur se dirige vers la file i p ij : la probabilité de se diriger vers la file j à la fin d un service dans la file i p i0 : la probabilité de se diriger vers l extérieur à la fin d un service dans la file i 164
165 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 165
166 Réseaux ouverts/ Réseaux fermés Dans un réseau ouvert : - on peut avoir des arrivées de l extérieur - on peut avoir des départs vers l extérieur - le nombre de clients dans le réseau est variable λ p01 1 µ 1 p23 3 µ 3 p02 2 µ 2 p24 µ p p40 166
167 Dans un réseau fermé : - pas d arrivées de l extérieur (p 0i = 0) - pas de départs vers l extérieur (p i0 = 0) - le nombre de clients dans le réseau est constant p31 1 µ 1 p33 3 µ 3 p41 p23 2 µ 2 p24 p42 4 µ 4 167
168 Pour les réseaux multiclasses on peut avoir des réseaux mixtes - ouverts pour certaines classes - fermés pour d autres λ 1 (1) p01 (1) p02 µ (1) 1 µ 3 (1) 1 2 (1) p23 µ 2 (1) µ 4 (1) (1) p24 µ 2 (2) µ 4 (2) 3 4 Classe1 : ouverte Classe2 : fermee 168
169 Notations Dans la suite, on se restreint aux réseaux monoclasses. - N : le nombre de files dans le réseau - K : le nombre constant de clients pour un réseau fermé - (k 1, k 2,..., k N ) : l état du réseau, k i étant le nombre de clients dans la file i ( N i=1 k i = K pour un réseau fermé) - m i : le nombre de serveurs dans la file i - µ i : le taux de service des clients dans la file i - λ 0i : le taux d arrivée des clients de l extérieur vers la file i - λ : le taux total d arrivée des clients de l extérieur vers le réseau ouvert (λ = N i=1 λ 0i) - λ i : le taux total d arrivée des clients vers la file i - V i : nombre moyen de visites (ou le taux de visite) à la file i (V i = λ i /λ) 169
170 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 : λ i = λ 0i + N λ j p ji j=1 - Pour un réseau fermé : N V i = p 0i + V j p ji j=1 N λ i = λ j p ji j=1 V i = N V j p ji j=1 170
171 Mesures de performance Calculer la distribution stationnaire jointe π(k 1, k 2,..., k N ) est le principal problème pour les réseaux de files d attente. En effet, les mesures de performance des files se déduisent à partir de cette distribution : - la distribution stationnaire de la file i : π i (k) = k i =k π(k 1, k 2,..., k N ) - l utilisation ρ i de la file i : ρ i = k=1 π i(k) = 1 π i (0) (pour un réseau fermé π i (k) = 0, k > K) - le nombre moyen de clients dans la file i : Q i = k=1 kπ i(k) - R i : temps moyen de réponse pour la file i : R i = Q i /λ i
172 Calcul de la distribution stationnaire jointe π - Le comportement de plusieurs réseaux de files d attentes peut être décrit en utilisant des CTMC - Le calcul de π peut alors se faire par des techniques numériques qui permettent de résoudre le système πq = 0, πe = 1 (équations de balance globale) où Q est le générateur de la CTMC - La complexité élevée de ces techniques limite leurs utilisation pour des grands réseaux, d où la nécessité de solutions alternatives - Une large partie de RFA appelée réseaux à forme produit (ayant certaines hypothèses sur les distributions des inter-arrivées et de service) possède une solution analytique simple pour le calcul de π - Pour ces réseaux les équations de balance globale se décomposent en équations de balance locale et π s exprime comme produit des probabilités stationnaires des files 172
173 Notion de balance locale Propriété de balance locale pour un noeud i : Le taux de départ d un état du réseau dû au départ d un client de la file i est égal au taux d arrivée à cet état dû à l arrivée d un client à cette file Exemple : considérons le réseau fermé du schéma avec : K = 2, des durées de service exponentielles µ 2 µ 1 µ 3 ce réseau peut être modélisé par une CMTC à six états 173
174 µ3 p31 2,0,0 µ1 p12 0,0,2 µ3 p31 µ1 p13 1,0,1 µ1 p13 µ1 p12 µ2 p21 0,1,1 µ2 p21 µ3 p31 µ1 p12 1,1,0 0,2,0 µ2 p21 µ1 p13 Les équations de balance globale s écrivent: (1) π(2, 0, 0)(µ 1 p 12 + µ 1 p 13 ) = π(1, 0, 1)µ 3 p 31 + π(1, 1, 0)µ 2 p 21 (2) π(0, 2, 0)µ 2 p 21 = π(1, 1, 0)µ 1 p 12 (3) π(0, 0, 2)µ 3 p 31 = π(1, 0, 1)µ 1 p 13 (4) π(1, 1, 0)(µ 2 p 21 + µ 1 p 13 + µ 1 p 12 ) = π(0, 2, 0)µ 2 p 21 + π(2, 0, 0)µ 1 p 12 + π(0, 1, 1)µ 3 p 31 (5) π(1, 0, 1)(µ 3 p 31 + µ 1 p 12 + µ 1 p 13 ) = π(0, 0, 2)µ 3 p 31 + π(0, 1, 1)µ 2 p 21 + π(2, 0, 0)µ 1 p 13 (6) π(0, 1, 1)(µ 3 p 31 + µ 2 p 21 ) = π(1, 1, 0)µ 1 p 13 + π(1, 0, 1)µ 1 p
175 µ3 p31 2,0,0 µ1 p12 0,0,2 µ3 p31 µ1 p13 1,0,1 µ1 p13 µ1 p12 µ2 p21 0,1,1 µ2 p21 µ3 p31 µ1 p12 1,1,0 0,2,0 µ2 p21 µ1 p13 équations de balance locale pour l état (1, 1, 0) : (4.1) π(1, 1, 0)µ 2 p 21 = π(2, 0, 0)µ 1 p 12 le taux de départ de (1, 1, 0) dû au départ d un client de la file 2 (partie gauche) est égal au taux d arrivée à cet état dû à l arrivée d un client à la file 2 (partie droite) (4.2) π(1, 1, 0)(µ 1 p 13 + µ 1 p 12 ) = π(0, 2, 0)µ 2 p 21 + π(0, 1, 1)µ 3 p 31 (4.1)+ (4.2)=(4), on a aussi : (5.1) π(1, 0, 1)(µ 1 p 12 + µ 1 p 13 ) = π(0, 0, 2)µ 3 p 31 + π(0, 1, 1)µ 2 p 21 (5.2) π(1, 0, 1)µ 3 p 31 = π(2, 0, 0)µ 1 p 13 (6.1) π(0, 1, 1)µ 2 p 21 = π(1, 0, 1)µ 1 p 12 (6.2) π(0, 1, 1)µ 3 p 31 = π(1, 1, 0)µ 1 p 13 La résolution est plus facile avec ces équations locales 175
176 Balance locale et forme produit - Remarque : contrairement au balance globale, la propriété de balance locale n est pas toujours vérifiée (l équilibre locale est une condition suffisante pour l équilibre globale mais pas nécessaire) - lorsqu il existe une solution pour les équations de balance locale, on dit que le réseau possède la propriété de balance locale, cette solution est l unique solution des équations de balance globale - Si chaque noeud du réseau vérifie la propriété de balance locale, alors : tout le réseau possède la propriété de balance locale il existe une solution à forme produit pour le réseau : π(k 1, k 2,..., k N ) = 1 G ΠN i=1 f i(k i ), où G est une constante de normalisation et f i (k i ) est une fonction de π i (k i ) 176
177 Les réseaux de Jackson - réseaux monoclasses ouverts - arrivées Poissonniens de l extérieur vers les noeuds du réseau - services exponentiellement distribués dans tous les noeuds - la discipline de service est FIFO dans tous les noeuds - routage probabiliste - un seul serveur de taux µ i dans chaque noeud i Théorème : Sous la condition de stabilité λ i < µ i, i = 1,..., N, la probabilité stationnaire du réseau possède la forme produit suivante : π(k 1, k 2,..., k N ) = Π N i=1 π i(k i ), où π i (k i ) est la probabilité stationnaire d une file M/M/1, soit π i (k i ) = (1 ρ i )ρ k i i avec ρ i = λ i µ i 177
178 Preuve - Le processus X(t) = (k 1 (t),..., k N (t)) est une CMTC - Les équations de balance globale s écrivent : π(k 1,..., k N )(λ + N i=1 µ i 1 ki >0) = N i=1 π(k 1,..., k i 1,..., k N )λ p 0i 1 ki >0 + N i=1 π(k 1,..., k i + 1,..., k N )µ i p i0 + N i=1 N j=1 π(k 1,..., k j + 1,..., k i 1,..., k N )µ j p ji 1 ki >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 π(k 1,..., k N ) et en remplacant les probabilités par leurs valeurs, il suffit de vérifier : λ+ N µ i 1 ki >0 = i=1 N i=1 (rappel : λ i = ρ i µ i ) λp 0i 1 ki >0 ρ i N ρ i µ i p i0 + i=1 N i=1 N j=1 ρ j µ j p ji 1 ki >0 ρ i
179 - λ i = λv i 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 p i0 est donc le débit des clients qui quittent le système par la station i - ainsi, N i=1 λ i p i0 = λ est bien vérifiée (débit de sortie du système= débit d entrée dans le système) - N i=1 N i=1 λp 0i 1 ki >0 ρ i 1 ki >0 ρ i ρ j µ j p ji 1 ki >0 ρ i = + N N i=1 j=1 [λp 0i + N j=1 λv jp ji ] = N i=1 1 ki >0 ρ i λv i = N i=1 µ i1 ki >0 179
180 Remarques - le théorème de Jackson est plus général, il inclut le cas : des files avec des taux d arrivées et de service dépendant de l état k i des clients dans la file i des files multiserveurs sous la condition de stabilité λ i < m i µ i (cas particulier du précédent cas en prenant µ i (k i ) = inf(k i, m i )µ i ) - un réseau de Jackson se comporte comme un ensemble de files M/M/1 considérées en isolation - cependant, les flux d arrivées à l intérieur du réseau ne sont pas nécessairement poissonniens (par exemple en cas de rebouclages), d où l importance du théorème 180
181 D autres réseaux à forme produit - réseaux de Gordon et Newell : réseaux monoclasses fermés - réseaux BCMP : étendent les résultats de Jackson et Gordon/Newell aux réseaux de files d attente multiclasses pouvant être ouverts, fermés, mixtes en considérant des disciplines de service différentes et des distributions de temps de service générales 181
Introduction à la théorie des files d'attente. Claude Chaudet [email protected]
Introduction à la théorie des files d'attente Claude Chaudet [email protected] La théorie des files d'attente... Principe: modélisation mathématique de l accès à une ressource partagée Exemples réseaux
Modèles à Événements Discrets. Réseaux de Petri Stochastiques
Modèles à Événements Discrets Réseaux de Petri Stochastiques Table des matières 1 Chaînes de Markov Définition formelle Idée générale Discrete Time Markov Chains Continuous Time Markov Chains Propriétés
Module 7: Chaînes de Markov à temps continu
Module 7: Chaînes de Markov à temps continu Patrick Thiran 1 Introduction aux chaînes de Markov à temps continu 1.1 (Première) définition Ce module est consacré aux processus à temps continu {X(t), t R
14. Introduction aux files d attente
14. Introduction aux files d attente MTH2302D S. Le Digabel, École Polytechnique de Montréal H2015 (v2) MTH2302D: Files d attente 1/24 Plan 1. Introduction 2. Modèle M/M/1 3. Modèle M/M/1/K MTH2302D: Files
Simulation de variables aléatoires
Chapter 1 Simulation de variables aléatoires Références: [F] Fishman, A first course in Monte Carlo, chap 3. [B] Bouleau, Probabilités de l ingénieur, chap 4. [R] Rubinstein, Simulation and Monte Carlo
Modélisation aléatoire en fiabilité des logiciels
collection Méthodes stochastiques appliquées dirigée par Nikolaos Limnios et Jacques Janssen La sûreté de fonctionnement des systèmes informatiques est aujourd hui un enjeu économique et sociétal majeur.
LES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche
Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche Bachir Bekka Février 2007 Le théorème de Perron-Frobenius a d importantes applications en probabilités (chaines
Chapitre 3. Mesures stationnaires. et théorèmes de convergence
Chapitre 3 Mesures stationnaires et théorèmes de convergence Christiane Cocozza-Thivent, Université de Marne-la-Vallée p.1 I. Mesures stationnaires Christiane Cocozza-Thivent, Université de Marne-la-Vallée
Corrigé des TD 1 à 5
Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un
Exercices - Polynômes : corrigé. Opérations sur les polynômes
Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)
Processus aléatoires avec application en finance
Genève, le 16 juin 2007. Processus aléatoires avec application en finance La durée de l examen est de deux heures. N oubliez pas d indiquer votre nom et prénom sur chaque feuille. Toute documentation et
Correction de l examen de la première session
de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi
Programmes des classes préparatoires aux Grandes Ecoles
Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Biologie, chimie, physique et sciences de la Terre (BCPST) Discipline : Mathématiques Seconde année Préambule Programme
Moments des variables aléatoires réelles
Chapter 6 Moments des variables aléatoires réelles Sommaire 6.1 Espérance des variables aléatoires réelles................................ 46 6.1.1 Définition et calcul........................................
Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.
14-3- 214 J.F.C. p. 1 I Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques. Exercice 1 Densité de probabilité. F { ln x si x ], 1] UN OVNI... On pose x R,
INITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours
Exo7 Continuité (étude globale). Diverses fonctions Exercices de Jean-Louis Rouget. Retrouver aussi cette fiche sur www.maths-france.fr * très facile ** facile *** difficulté moyenne **** difficile *****
Image d un intervalle par une fonction continue
DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction
4 Distributions particulières de probabilités
4 Distributions particulières de probabilités 4.1 Distributions discrètes usuelles Les variables aléatoires discrètes sont réparties en catégories selon le type de leur loi. 4.1.1 Variable de Bernoulli
Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34
Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second
Introduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que
Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer
Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.
1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le
Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt
Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication Philippe Robert INRIA Paris-Rocquencourt Le 2 juin 2010 Présentation Directeur de recherche à l INRIA Institut
Résolution d équations non linéaires
Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique
Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)
CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE Cinquième épreuve d admissibilité STATISTIQUE (durée : cinq heures) Une composition portant sur la statistique. SUJET Cette épreuve est composée d un
Chaînes de Markov au lycée
Journées APMEP Metz Atelier P1-32 du dimanche 28 octobre 2012 Louis-Marie BONNEVAL Chaînes de Markov au lycée Andreï Markov (1856-1922) , série S Problème 1 Bonus et malus en assurance automobile Un contrat
MODELES DE DUREE DE VIE
MODELES DE DUREE DE VIE Cours 1 : Introduction I- Contexte et définitions II- Les données III- Caractéristiques d intérêt IV- Evènements non renouvelables/renouvelables (unique/répété) I- Contexte et définitions
La fonction exponentielle
DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction
Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé
Baccalauréat S ntilles-guyane 11 septembre 14 Corrigé EXERCICE 1 6 points Commun à tous les candidats Une entreprise de jouets en peluche souhaite commercialiser un nouveau produit et à cette fin, effectue
Programmation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
Résolution de systèmes linéaires par des méthodes directes
Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.
Probabilités sur un univers fini
[http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur
Génie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.
Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de
UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France
Théorie et Codage de l Information (IF01) exercices 2013-2014 Paul Honeine Université de technologie de Troyes France TD-1 Rappels de calculs de probabilités Exercice 1. On dispose d un jeu de 52 cartes
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,
Rappels sur les suites - Algorithme
DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................
Limites finies en un point
8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,
Cours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
Chapitre 2 Le problème de l unicité des solutions
Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)
Contents. 1 Introduction Objectifs des systèmes bonus-malus Système bonus-malus à classes Système bonus-malus : Principes
Université Claude Bernard Lyon 1 Institut de Science Financière et d Assurances Système Bonus-Malus Introduction & Applications SCILAB Julien Tomas Institut de Science Financière et d Assurances Laboratoire
Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/
Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation
3 Approximation de solutions d équations
3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle
Modélisation et simulation
Modélisation et simulation p. 1/36 Modélisation et simulation INFO-F-305 Gianluca Bontempi Département d Informatique Boulevard de Triomphe - CP 212 http://www.ulb.ac.be/di Modélisation et simulation p.
3. Conditionnement P (B)
Conditionnement 16 3. Conditionnement Dans cette section, nous allons rappeler un certain nombre de définitions et de propriétés liées au problème du conditionnement, c est à dire à la prise en compte
4.2 Unités d enseignement du M1
88 CHAPITRE 4. DESCRIPTION DES UNITÉS D ENSEIGNEMENT 4.2 Unités d enseignement du M1 Tous les cours sont de 6 ECTS. Modélisation, optimisation et complexité des algorithmes (code RCP106) Objectif : Présenter
Polynômes à plusieurs variables. Résultant
Polynômes à plusieurs variables. Résultant Christophe Ritzenthaler 1 Relations coefficients-racines. Polynômes symétriques Issu de [MS] et de [Goz]. Soit A un anneau intègre. Définition 1.1. Soit a A \
Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications
Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante
Méthodes de Simulation
Méthodes de Simulation JEAN-YVES TOURNERET Institut de recherche en informatique de Toulouse (IRIT) ENSEEIHT, Toulouse, France Peyresq06 p. 1/41 Remerciements Christian Robert : pour ses excellents transparents
Représentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
Quantification Scalaire et Prédictive
Quantification Scalaire et Prédictive Marco Cagnazzo Département Traitement du Signal et des Images TELECOM ParisTech 7 Décembre 2012 M. Cagnazzo Quantification Scalaire et Prédictive 1/64 Plan Introduction
Variables Aléatoires. Chapitre 2
Chapitre 2 Variables Aléatoires Après avoir réalisé une expérience, on ne s intéresse bien souvent à une certaine fonction du résultat et non au résultat en lui-même. Lorsqu on regarde une portion d ADN,
Développement décimal d un réel
4 Développement décimal d un réel On rappelle que le corps R des nombres réels est archimédien, ce qui permet d y définir la fonction partie entière. En utilisant cette partie entière on verra dans ce
Licence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Cours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
Fonctions de plusieurs variables
Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme
Chapitre VI - Méthodes de factorisation
Université Pierre et Marie Curie Cours de cryptographie MM067-2012/13 Alain Kraus Chapitre VI - Méthodes de factorisation Le problème de la factorisation des grands entiers est a priori très difficile.
Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015
Énoncé Soit V un espace vectoriel réel. L espace vectoriel des endomorphismes de V est désigné par L(V ). Lorsque f L(V ) et k N, on désigne par f 0 = Id V, f k = f k f la composée de f avec lui même k
Chapitre 5 : Flot maximal dans un graphe
Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d
Maple: premiers calculs et premières applications
TP Maple: premiers calculs et premières applications Maple: un logiciel de calcul formel Le logiciel Maple est un système de calcul formel. Alors que la plupart des logiciels de mathématiques utilisent
Continuité et dérivabilité d une fonction
DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité
Commun à tous les candidats
EXERCICE 3 (9 points ) Commun à tous les candidats On s intéresse à des courbes servant de modèle à la distribution de la masse salariale d une entreprise. Les fonctions f associées définies sur l intervalle
Ordonnancement temps réel
Ordonnancement temps réel [email protected] Version 1.5 Problématique de l ordonnancement temps réel En fonctionnement normal, respecter les contraintes temporelles spécifiées par toutes les tâches
Loi binomiale Lois normales
Loi binomiale Lois normales Christophe ROSSIGNOL Année scolaire 204/205 Table des matières Rappels sur la loi binomiale 2. Loi de Bernoulli............................................ 2.2 Schéma de Bernoulli
Algorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Représentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Théorème du point fixe - Théorème de l inversion locale
Chapitre 7 Théorème du point fixe - Théorème de l inversion locale Dans ce chapitre et le suivant, on montre deux applications importantes de la notion de différentiabilité : le théorème de l inversion
MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.
Page 1 de 9 MATLAB : COMMANDES DE BASE Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Aide help, help nom_de_commande Fenêtre de travail (Command Window) Ligne
EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG
Exploitations pédagogiques du tableur en STG Académie de Créteil 2006 1 EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG Commission inter-irem lycées techniques contact : [email protected] La maquette
Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.
Exo7 Matrice d une application linéaire Corrections d Arnaud odin. Exercice Soit R muni de la base canonique = ( i, j). Soit f : R R la projection sur l axe des abscisses R i parallèlement à R( i + j).
STAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
aux différences est appelé équation aux différences d ordre n en forme normale.
MODÉLISATION ET SIMULATION EQUATIONS AUX DIFFÉRENCES (I/II) 1. Rappels théoriques : résolution d équations aux différences 1.1. Équations aux différences. Définition. Soit x k = x(k) X l état scalaire
Algorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
L informatique en BCPST
L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité
Cours 02 : Problème général de la programmation linéaire
Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la Programmation Linéaire. 5 . Introduction Un programme linéaire s'écrit sous la forme suivante. MinZ(ou maxw) =
(51) Int Cl.: H04L 29/06 (2006.01) G06F 21/55 (2013.01)
(19) TEPZZ 8 8 4_A_T (11) EP 2 838 241 A1 (12) DEMANDE DE BREVET EUROPEEN (43) Date de publication: 18.02.1 Bulletin 1/08 (1) Int Cl.: H04L 29/06 (06.01) G06F 21/ (13.01) (21) Numéro de dépôt: 141781.4
Présentation du langage et premières fonctions
1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en
Filtrage stochastique non linéaire par la théorie de représentation des martingales
Filtrage stochastique non linéaire par la théorie de représentation des martingales Adriana Climescu-Haulica Laboratoire de Modélisation et Calcul Institut d Informatique et Mathématiques Appliquées de
REALISATION d'un. ORDONNANCEUR à ECHEANCES
REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6
ÉPREUVE COMMUNE DE TIPE 2008 - Partie D
ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE
L exclusion mutuelle distribuée
L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué
Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Chapitre 4 : Exclusion mutuelle
Chapitre 4 : Exclusion mutuelle Pierre Gançarski Juillet 2004 Ce support de cours comporte un certain nombre d erreurs : je décline toute responsabilité quant à leurs conséquences sur le déroulement des
Lagrange, où λ 1 est pour la contrainte sur µ p ).
Chapitre 1 Exercice 1 : Portefeuilles financiers Considérons trois types d actions qui sont négociées à la bourse et dont les rentabilités r 1, r 2 et r 3 sont des variables aléatoires d espérances µ i
Thèse. présentée en vu d obtenir le grade de Docteur, spécialité «Mathématiques Appliquées» par. ARRAR Nawel Khadidja
Université Badji Mokhtar-Annaba, Algérie Université Paris 1, Panthéon-Sorbonne, France Ecole Doctorale Sciences Mathématiques de Paris centre Laboratoire LaPS et LANOS, Annaba Laboratoire SAMM, Paris 1
Quelques tests de primalité
Quelques tests de primalité J.-M. Couveignes (merci à T. Ezome et R. Lercier) Institut de Mathématiques de Bordeaux & INRIA Bordeaux Sud-Ouest [email protected] École de printemps C2 Mars
Chapitre 2. Matrices
Département de mathématiques et informatique L1S1, module A ou B Chapitre 2 Matrices Emmanuel Royer emmanuelroyer@mathuniv-bpclermontfr Ce texte mis gratuitement à votre disposition a été rédigé grâce
TSTI 2D CH X : Exemples de lois à densité 1
TSTI 2D CH X : Exemples de lois à densité I Loi uniforme sur ab ; ) Introduction Dans cette activité, on s intéresse à la modélisation du tirage au hasard d un nombre réel de l intervalle [0 ;], chacun
La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique
La programmation linéaire : une introduction Qu est-ce qu un programme linéaire? Qu est-ce qu un programme linéaire? Exemples : allocation de ressources problème de recouvrement Hypothèses de la programmation
La classification automatique de données quantitatives
La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations
Texte Agrégation limitée par diffusion interne
Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse
