Trafic et performances des réseaux de télécoms
Trafic et performances des réseaux de télécoms
Georges Fiche Gérard Hébuterne
TABLE DES MATIÈRES
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
Chapitre 1. Réseaux de télécommunications et trafic . . . . . . . . . . .
15
1.1. Concepts réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1. Les architectures de réseaux . . . . . . . . . . . . . . . . . . . 1.1.2. Les technologies de communication : circuits et paquets . 1.1.3. Les grands réseaux . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Concepts de trafic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1. Notion d’Erlang . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2. Trafic offert, trafic écoulé. . . . . . . . . . . . . . . . . . . . . 1.2.3. La qualité de service . . . . . . . . . . . . . . . . . . . . . . . . 1.2.4. Profils de charge, charge A et charge B . . . . . . . . . . . . 1.2.5. Stationnarité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.6. La notion d’appels/d’événements à l’heure chargée (BHCA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.7. Le plan d’usager et le plan de commande. . . . . . . . . . . 1.2.8. La caractérisation du trafic . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
16 17 22 26 44 44 46 47 47 49
.. .. ..
50 51 52
Chapitre 2. Qualité de service et performance . . . . . . . . . . . . . . .
61
2.1. Les normes et les organismes de normalisation . 2.2. Qualité de service (QoS) . . . . . . . . . . . . . . . 2.3. Performance des réseaux . . . . . . . . . . . . . . . 2.3.1. Paramètres de bout en bout (globaux) et paramètres intermédiaires . . . . . . . . . . . . . . 2.3.2. Paramètres en phase d’accès et de transfert. 2.3.3. La valorisation des paramètres. . . . . . . . . 2.4. Les différents niveaux de trafic offert . . . . . . .
. . . . . . . . . .
........... ........... ...........
62 63 64
. . . .
65 68 69 70
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
6
Trafic et performances des réseaux de télécoms
2.4.1. Charge normale, charge A . . . . . . . . . . 2.4.2. Charge élevée, charge B. . . . . . . . . . . . 2.4.3. Surcharge . . . . . . . . . . . . . . . . . . . . . 2.5. Les paramètres et les normes . . . . . . . . . . . 2.5.1. Performance en trafic . . . . . . . . . . . . . 2.5.2. Performance en sûreté de fonctionnement 2.5.3. Performance en surcharge. . . . . . . . . . . 2.5.4. Tableaux récapitulatifs. . . . . . . . . . . . .
. . . . . . . .
71 72 74 77 79 86 89 91
Chapitre 3. Probabilités. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
3.1. Définition et propriétés des événements . . . . . . . . . . . . . . . . 3.1.1. Notion d’événement . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2. Evénements complémentaires . . . . . . . . . . . . . . . . . . . . 3.1.3. Propriétés des opérations sur les événements . . . . . . . . . . 3.2. Probabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1. Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2. Principales relations de probabilité . . . . . . . . . . . . . . . . . 3.3. Variable aléatoire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1. Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2. Fonctions de probabilité d’une variable aléatoire . . . . . . . . 3.3.3. Moments d’une variable aléatoire. . . . . . . . . . . . . . . . . . 3.3.4. Couple aléatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4. Produit de convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1. Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2. Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5. Transformée de Laplace . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1. Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.2. Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6. Fonction caractéristique, fonction génératrice, transformée en z . 3.6.1. Fonction caractéristique . . . . . . . . . . . . . . . . . . . . . . . . 3.6.2. Fonction génératrice . . . . . . . . . . . . . . . . . . . . . . . . . .
93 93 95 96 98 98 98 104 104 104 106 110 121 122 122 125 126 126 132 132 142
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
Chapitre 4. Lois de probabilité . . . . . . . . . . . . . . . . . . . . . . . . . . 149 4.1. La loi uniforme (discrète) . 4.2. La loi binomiale. . . . . . . . 4.3. La loi multinomiale . . . . . 4.4. La loi géométrique . . . . . . 4.5. La loi hypergéométrique . . 4.6. La loi de Poisson . . . . . . . 4.7. La loi uniforme (continue) .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
150 151 153 154 156 157 160
Table des matières
4.8. La loi de Gauss (loi normale) . . . . . . . . . . . . . . . 4.9. La loi du Chi-2 . . . . . . . . . . . . . . . . . . . . . . . . 4.10. La loi de Student . . . . . . . . . . . . . . . . . . . . . . 4.11. La loi log-normale . . . . . . . . . . . . . . . . . . . . . 4.12. L’exponentielle et les distributions qui en dérivent 4.12.1. La loi exponentielle . . . . . . . . . . . . . . . . . . 4.12.2. La loi d’Erlang-k . . . . . . . . . . . . . . . . . . . 4.12.3. La loi hyperexponentielle . . . . . . . . . . . . . . 4.12.4. Généralisation : la loi de Cox. . . . . . . . . . . . 4.12.5. La loi Gamma . . . . . . . . . . . . . . . . . . . . . 4.13. La loi de Weibull . . . . . . . . . . . . . . . . . . . . . . 4.14. La loi logistique . . . . . . . . . . . . . . . . . . . . . . . 4.15. La loi de Pareto . . . . . . . . . . . . . . . . . . . . . . . 4.16. Résumé des principaux résultats . . . . . . . . . . . . 4.16.1. Lois discrètes . . . . . . . . . . . . . . . . . . . . . . 4.16.2. Lois continues . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
7
162 166 167 168 169 169 170 173 174 175 176 178 180 181 182 183
Chapitre 5. Statistiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 5.1. La statistique descriptive . . . . . . . . . . . . . . . . . . 5.1.1. La visualisation des données . . . . . . . . . . . . . 5.1.2. Les variables statistiques . . . . . . . . . . . . . . . 5.2. Corrélation et régression . . . . . . . . . . . . . . . . . . 5.2.1. Coefficient de corrélation empirique . . . . . . . . 5.2.2. La courbe de régression . . . . . . . . . . . . . . . . 5.3. Echantillonnage et techniques de prédiction . . . . . . 5.4. L’estimation . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1. Estimation ponctuelle . . . . . . . . . . . . . . . . . 5.4.2. Construction d’un intervalle de confiance . . . . 5.5. Le test d’hypothèse. . . . . . . . . . . . . . . . . . . . . . 5.5.1. Exemple : test de la moyenne d’une loi normale 5.5.2. Test du Chi-2 : uniformité d’un générateur . . . . 5.5.3. Tester la corrélation . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
188 189 191 195 196 196 199 202 203 208 216 216 219 220
Chapitre 6. Fiabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 6.1. Définition de la fiabilité. . . . . . . . . . . . . 6.2. Taux de défaillance et courbe en baignoire 6.3. Fonctions de fiabilité . . . . . . . . . . . . . . 6.4. Fiabilité des ensembles . . . . . . . . . . . . . 6.4.1. Fiabilité des ensembles non réparables 6.4.2. Fiabilité des ensembles réparables . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
221 222 223 225 225 234
8
Trafic et performances des réseaux de télécoms
6.4.3. Utilisation de la transformée de Laplace . . . . . . . . . 6.4.4. Utilisation des matrices . . . . . . . . . . . . . . . . . . . . 6.5. Fiabilité du logiciel. . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.1. Modèle de croissance de fiabilité, période de jeunesse 6.5.2. Modèle en phase de vie « utile » . . . . . . . . . . . . . . 6.6. Calcul des lots de maintenance . . . . . . . . . . . . . . . . . . 6.6.1. Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.2. Réapprovisionnement périodique . . . . . . . . . . . . . . 6.6.3. Réapprovisionnement au fil de l’eau . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
247 250 257 258 260 264 264 264 265
Chapitre 7. Théorie des files d’attente . . . . . . . . . . . . . . . . . . . . . 267 7.1. La station de service élémentaire : clients et serveurs . . . . . . . . 7.2. Processus des arrivées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.1. Processus de renouvellement. . . . . . . . . . . . . . . . . . . . . 7.2.2. Processus de Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.3. Où rencontre-t-on les processus de Poisson ? . . . . . . . . . . 7.3. Processus des services. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1. Le temps de service résiduel . . . . . . . . . . . . . . . . . . . . . 7.3.2. Loi exponentielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.3. Lois d’Erlang. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.4. Loi hyperexponentielle . . . . . . . . . . . . . . . . . . . . . . . . 7.4. Processus de naissance et de mort . . . . . . . . . . . . . . . . . . . . 7.4.1. La notion d’état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.2. Chaînes de Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.3. Les processus de naissance et de mort . . . . . . . . . . . . . . . 7.4.4. La propriété PASTA (Poisson Arrivals See Time Averages). 7.5. Les modèles à files d’attente classiques. . . . . . . . . . . . . . . . . 7.5.1. La notation de Kendall. . . . . . . . . . . . . . . . . . . . . . . . . 7.5.2. Résultats généraux . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.3. La file M/M/1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.4. Modèle M/M/R/R (modèle d’Erlang) . . . . . . . . . . . . . . . 7.5.5. La file M/M/R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.6. Modèles à capacité limitée . . . . . . . . . . . . . . . . . . . . . . 7.5.7. La file M/M/∞ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.8. Système à population limitée : le problème d’Engset . . . . . 7.6. Des files d’attente plus complexes . . . . . . . . . . . . . . . . . . . . 7.6.1. La méthode de la chaîne de Markov incluse . . . . . . . . . . . 7.6.2. Le nombre de clients dans le système . . . . . . . . . . . . . . . 7.6.3. Les temps d’attente : formules de Pollaczek . . . . . . . . . . . 7.6.4. La méthode de Benes. Application au système M/D/1. . . . .
268 269 270 270 273 274 274 275 277 277 279 279 279 280 284 285 286 287 289 298 301 305 307 308 312 313 314 317 321
Table des matières
7.7. La file G/G/1. . . . . . . . . . . . . . . . . . . . . . . . . 7.7.1. La méthode de Pollaczek . . . . . . . . . . . . . . 7.7.2. Application à la relation stochastique de la file à un serveur (file GI/G/1) . . . . . . . . . . . . . . . . . . 7.7.3. Résolution de l’équation intégrale . . . . . . . . 7.8. Files avec priorités . . . . . . . . . . . . . . . . . . . . . 7.8.1. Notion de système conservatif . . . . . . . . . . . 7.8.2. La discipline HOL . . . . . . . . . . . . . . . . . . 7.9. Utilisation de méthodes approchées . . . . . . . . . . 7.10. Annexe : transformée de Pollaczek. . . . . . . . . .
9
. . . . . . . . . 322 . . . . . . . . . 322 . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
325 328 339 340 343 345 347
Chapitre 8. Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 8.1. Simulation par roulette . . . . . . . . . . . . . . . . . 8.2. Simulation à événements discrets . . . . . . . . . . 8.3. Mesure et précision . . . . . . . . . . . . . . . . . . . 8.3.1. Mesure . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.2. Précision. . . . . . . . . . . . . . . . . . . . . . . . 8.4. Nombres aléatoires. . . . . . . . . . . . . . . . . . . . 8.4.1. La génération de nombres selon une loi . . . . 8.4.2. La génération de nombres pseudo-aléatoires .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
350 353 356 356 357 362 362 363
Chapitre 9. Modèles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 9.1. Modèles pour la commande des systèmes . . . . . . . . 9.1.1. Le système simple bouclé. . . . . . . . . . . . . . . . 9.1.2. Centre serveur . . . . . . . . . . . . . . . . . . . . . . . 9.1.3. Processeur à temps partagé . . . . . . . . . . . . . . . 9.1.4. Polling et Token ring. . . . . . . . . . . . . . . . . . . 9.1.5. Lien Ethernet. . . . . . . . . . . . . . . . . . . . . . . . 9.1.6. Benchmarks, modélisation processeur . . . . . . . . 9.1.7. Le système à disque . . . . . . . . . . . . . . . . . . . 9.1.8. Gestion d’un pool par blocs . . . . . . . . . . . . . . 9.1.9. Répétition d’appels . . . . . . . . . . . . . . . . . . . . 9.1.10. Régulation. . . . . . . . . . . . . . . . . . . . . . . . . 9.2. Modèles du plan transport . . . . . . . . . . . . . . . . . . 9.2.1. Concentrateur de trafic multidébit . . . . . . . . . . 9.2.2. Multiplexage . . . . . . . . . . . . . . . . . . . . . . . . 9.2.3. Bande passante équivalente. . . . . . . . . . . . . . . 9.2.4. Modélisation et multiplexage du trafic IP. . . . . . 9.2.5. Le modèle des files d’attente série (M/M…M/1) . 9.2.6. Matrice de connexion . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
368 368 369 372 375 382 389 395 402 407 413 419 419 424 435 439 447 459
10
Trafic et performances des réseaux de télécoms
9.2.7. Réseau de connexion . . . . . . . . . . . . . . . . . . . . . . . . . . 462 9.2.8. Matrice de trafic, méthode de Kruithof . . . . . . . . . . . . . . 474 Chapitre 10. Méthodologie des performances . . . . . . . . . . . . . . . . 479 10.1. Les phases de vie d’un projet . . . . . . . . . . . . . . . . . . . . 10.2. L’analyse du besoin . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.1. Les environnements de référence en trafic . . . . . . . . . 10.2.2. Les environnements de référence en sûreté de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.3. Objectifs de capacité et de qualité de service. . . . . . . . 10.3. Modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.1. Temps de traitement d’un message . . . . . . . . . . . . . . 10.3.2. Délai d’indication d’appel en arrivée . . . . . . . . . . . . . 10.3.3. Temps de traversée de paquets à travers un réseau et variation du délai de traversée . . . . . . . . . . . . . . . . . . . . 10.3.4. Délai d’établissement d’appel . . . . . . . . . . . . . . . . . 10.3.5. Sûreté de fonctionnement . . . . . . . . . . . . . . . . . . . . 10.4. Les essais en charge . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4.1. Les essais de performances en trafic . . . . . . . . . . . . . 10.4.2. Les essais en surcharge . . . . . . . . . . . . . . . . . . . . . 10.4.3. Les essais en sûreté de fonctionnement . . . . . . . . . . . 10.4.4. Organisation générale des essais. . . . . . . . . . . . . . . . 10.5. Dimensionnement. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.1. Dimensionnement de la commande d’un centre mobile . 10.5.2. Dimensionnement des liens d’une Gateway . . . . . . . . 10.5.3. Dimensionnement d’un lot de maintenance. . . . . . . . . 10.6. Suivi en exploitation . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 480 . . 482 . . 482 . . . . .
. . . . .
490 491 493 496 498
. . . . . . . . . . . . .
. . . . . . . . . . . . .
505 512 516 522 524 525 526 527 530 531 536 540 542
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 Annexe 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 Annexe 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
INTRODUCTION
Ce livre est né du souhait de pérenniser une certaine expertise dans l’étude des performances des systèmes de télécommunication. Il est bien sûr impossible de traduire en un seul ouvrage toutes les facettes d’une activité qui a couvert de nombreux systèmes, et des domaines aussi variés que la normalisation, la modélisation, les mesures, les essais, le suivi opérationnel, et ce, pendant de nombreuses années et dans différents pays du monde. Néanmoins, très vite, s’est imposée une évidence : l’étude des performances est un métier. Et ce métier aux multiples facettes mérite qu’on lui consacre un ouvrage qui soit en quelque sorte la synthèse des connaissances et techniques de base essentielles à son bon exercice. Cet ouvrage se veut donc à la fois un outil de formation au « métier d’ingénieur en performance », et un guide pour la mise en œuvre des études de performance, dans un environnement de laboratoire d’études ou dans un environnement industriel. Le domaine de la recherche est exigeant, celui de l’industrie tout autant. L’ingénieur en performances devra jongler aussi bien avec les équations qu’avec les maquettes de laboratoire et les équipements en exploitation. Son souci permanent d’efficacité, et sa capacité à manipuler les outils de mesure et les approximations les plus simples, ne l’empêcheront pas de maîtriser les modèles mathématiques les plus complexes. En fait, c’est la maîtrise de l’ensemble des techniques et méthodes d’analyse, et leur application à toutes les phases de vie d’un système (de la conception à l’exploitation), qui lui permettront
12
Trafic et performances des réseaux de télécoms
d’atteindre le maximum d’efficacité, en rendant possible les synthèses nécessaires exigées par les contraintes de l’industrie et du marché. Ainsi dans cet ouvrage nous n’hésiterons pas à traiter au même niveau les calculs élémentaires de capacité de traitement d’un processeur, et ceux, plus difficiles, nécessaires au dimensionnement des multiplexeurs de trafics sporadiques. De la même façon, nous utiliserons les règles élémentaires de probabilité, mais aussi des méthodes plus complexes, comme celle de Pollaczek, pour la résolution des problèmes de files d’attente, en passant par les solutions classiques des processus de Markov. Enfin, toujours dans le souci d’efficacité, nous garderons toujours en vue les conditions réelles d’application ainsi que les ordres de grandeur des valeurs des paramètres, ce qui nous permettra bien souvent de simplifier les modèles. Outil de formation et ouvrage d’accompagnement pour le métier d’ingénieur en performances, ce livre s’adresse aussi bien à l’étudiant qui veut s’initier aux systèmes de télécommunication, aux théories de probabilité, de files d’attente, etc., qu’à l’ingénieur ou au chercheur qui veut approfondir son domaine de compétence, ou l’élargir à d’autres sujets comme la fiabilité, les statistiques, la qualité de service et les normes, et la méthodologie. Plusieurs lectures de l’ouvrage sont possibles. Chaque chapitre, relativement indépendant des autres, traite d’un sujet de manière aussi progressive que possible. Les chapitres sont cependant organisés selon une logique, motivée par cet objectif essentiel qui est d’ « apprendre un métier », celui d’ingénieur en performances. Cette logique est la suivante. Un premier chapitre présente les caractéristiques principales des architectures et fonctions des grands réseaux de télécommunications. Ce sont ces systèmes que nous allons étudier du point de vue de la performance et c’est à partir d’eux que nous définissons aussi dans ce chapitre les concepts de base du télétrafic. Dans un deuxième chapitre, nous développons les différents aspects de la notion de qualité de service (QoS), et nous passons en revue les
Introduction
13
aspects génériques des paramètres de performances tels que spécifiés dans les organismes internationaux de normalisation. Avec ces deux chapitres, nous avons ainsi planté le décor : le sujet (les systèmes et les réseaux), et les raisons de nos préoccupations (l’écoulement du trafic et la QoS). Nous traitons ensuite des outils de base. Le troisième chapitre présente la théorie des probabilités et introduit les outils, tels que les transformées, qui nous permettront de résoudre les problèmes probabilistes auxquels nous serons confrontés. Le quatrième chapitre présente les grandes lois de probabilité, que nous utiliserons par la suite dans plusieurs domaines (statistique, fiabilité, files d’attente...). Le cinquième chapitre, comme pour la théorie des probabilités, introduit la théorie des statistiques, car nous devrons souvent pratiquer l’estimation avec la notion de risque qui y est associée. Les outils de base étant acquis, nous abordons alors leur application à différents domaines d’étude des performances. Nous introduisons ainsi les techniques d’évaluation : Le sixième chapitre présente la théorie de la fiabilité, plus généralement désignée sous le terme de « sûreté de fonctionnement ». En effet, les performances des systèmes doivent aussi être évaluées en termes de disponibilité, de charge de maintenance, etc. Le septième chapitre présente la théorie des files d’attente. Il s’agit bien sûr d’évaluer les performances des systèmes en termes de délai de transfert de l’information, de temps d’établissement, etc. Le huitième chapitre concrétise l’application des techniques précédentes en un ensemble de modèles. Le neuvième chapitre introduit les techniques de simulation, qui bien sûr restent un complément indispensable aux études et modèles analytiques.
14
Trafic et performances des réseaux de télécoms
Disposant de ces techniques et modèles, nous pouvons désormais aborder l’aspect méthodologie, méthodologie nécessaire au succès de toute activité dans un contexte compétitif. Nous présentons ainsi ce que peut être une méthodologie des performances dans le cadre d’un projet de laboratoire, ou industriel. Le lecteur soucieux de parfaire ses connaissances dans l’un ou l’autre domaine trouvera à la fin de l’ouvrage une sélection de publications que nous lui conseillons de consulter. Nous tenons à remercier particulièrement Bernard Depouilly et JeanClaude Pennanec’h, ainsi que les lecteurs attentifs qu’ont été Daniel Lardy, Daniel Le Corguillé, Claude Le Palud, Christophe Perraudeau, Thierry Sabourin. Cet ouvrage a été soutenu par Alcatel et édité dans le cadre de la Collection technique et scientifique des télécommunications. Nous les en remercions vivement.
Georges Fiche et Gérard Hébuterne
CHAPITRE 1
Réseaux de télécommunications et trafic
Le sujet de cet ouvrage, l’évaluation des performances, peut être vu comme un sous-ensemble de la vaste discipline que constitue le télétrafic, c’est-à-dire la discipline qui a pour but de déterminer les règles optimales d’utilisation des équipements de réseaux, aptes à écouler le trafic demandé par l’usager. En effet, nous n’aborderons pas ici les techniques de gestion du trafic, ni les techniques d’optimisation des équipements. Mais, à travers la présentation des techniques d’évaluation des performances, ce sont les bases de l’évaluation des capacités des équipements en écoulement de trafic que nous établirons. La fonction de base d’un réseau de télécommunications est de mettre en relation des usagers via les terminaux qui leurs sont associés, mais aussi des usagers et des serveurs, ou simplement des terminaux entre eux. Le réseau établira une relation entre deux ou plusieurs de ces terminaux, à partir de leurs adresses source et destination. Derrière ce concept très général de relation se cachent des réalités bien différentes, compte tenu de la variété des réseaux de télécommunication comme nous le verrons un peu plus loin. Dans un réseau de type « circuits », on parlera de connexion, relation directe établie au niveau physique. Dans un réseau IP, on parlera plutôt de session, la notion de connexion physique n’existe pas a priori (même si TCP fonctionne en mode connecté au niveau de la session). Enfin,
16
Trafic et performances des réseaux de télécoms
les terminaux mis en relation ne seront pas seulement des abonnés fixes mais aussi des abonnés mobiles ou des serveurs. Les fonctions fondamentales restent cependant les mêmes. Et tout au long de cet ouvrage nous nous ne nous intéresserons qu’aux aspects génériques du monde des télécommunications. Ainsi, quels que soient les réseaux, on sera amené à traiter des notions très générales d’appel et de communication. De même, on y associera les notions de taux d’arrivée, de durée, de ressources engagées, que ce soit en termes de circuits, de mémoire ou de débit. Dans ce chapitre, nous introduisons les principales notions de réseaux et de trafic que nous allons détailler et manipuler par la suite. Dans un premier temps, nous présentons les caractéristiques générales des réseaux de télécommunications, leurs structures et leurs fonctions. Malgré l’évolution permanente des technologies, nous identifierons des constantes. C’est à ces constantes, l’accès, le réseau de transport, le réseau de commande, etc. que s’appliqueront les techniques d’évaluation des performances, dont la présentation est l’objet essentiel de cet ouvrage. Dans un deuxième temps, nous introduisons les concepts de base relatifs au trafic, c’est-à-dire relatifs au volume d’informations traité et transporté dans un réseau de télécommunication. En effet, l’évaluation de la performance d’un équipement ou d’un ensemble d’équipements n’a de sens que par rapport à un type et à un niveau donné de sollicitation. Ces concepts essentiels sont les fondements de la théorie du télétrafic. 1.1. Concepts réseaux La description et l’analyse d’un réseau peuvent se faire à plusieurs niveaux : l’architecture, les technologies, les services. Nous allons voir qu’en fait la convergence des réseaux et l’intégration des services atténuent de plus en plus ces distinctions. Nous allons pour ce faire considérer successivement les principales structures de réseau du point de vue de leur topologie, puis nous présenterons les deux grands types de technologie de commutation (circuits et paquets), puis nous
Réseaux de télécommunications et trafic
17
distinguerons quelques grands réseaux du point de vue de leur fonction (téléphone, données) pour enfin présenter leur convergence dans la nouvelle génération de réseaux, le NGN. 1.1.1. Les architectures de réseaux Un réseau quel qu’il soit est fondamentalement constitué de nœuds, chargés du routage, de la commutation des informations et du pilotage du réseau, et de liens interconnectant les nœuds entre eux et chargés du transport de l’information. L’agencement de ces nœuds, leur organisation physique et logique, caractérise l’architecture du réseau. Il faudra prendre soin de distinguer l’architecture physique (là où sont localisés les nœuds et les liaisons, comment sont réalisées les connexions des câbles) de l’architecture logique, qui décrit le cheminement des information et les règles de routage. Une même infrastructure physique pourra se partager entre réseaux logiques différents (réseau téléphonique, de données, etc.), d’architectures logiques différentes. Si les architectures sont variées, on peut cependant identifier des constituants et des structures de base. 1.1.1.1. Les constituants du réseau L’évolution des réseaux tend à accentuer la distinction entre les trois grands sous-ensembles suivants : le cœur du réseau (Core Network), le réseau d’accès (Access Network) et l’équipement terminal d’usager (Customer Premises Equipment). Le Core Network : on l’appelle aussi le backbone. Le cœur réseau est l’infrastructure qui permet l’interconnexion de tous les usagers entre eux. Partagé entre tous les abonnés, il fournit la possibilité de transfert d’informations à grande vitesse sur de longues distances. L’AN (Access Network), ou « réseau d’accès » : c’est la partie du réseau qui permet la connexion de l’usager au réseau cœur. Les réseaux d’accès sont partagés par un nombre limité d’abonnés. Le CPE (Customer Premises Equipment), ou équipement terminal d’usager : c’est l’équipement que détient chez lui l’usager (téléphone, ordinateur, réseau local, etc.).
18
Trafic et performances des réseaux de télécoms
Du point de vue de l’utilisateur, on distingue les deux grandes composantes suivantes : les services réseaux (Network services) et la gestion du réseau (Network management). Ce sont ces deux grandes fonctions qui vont engendrer du trafic dans les éléments physiques des réseaux. Les services La première fonction du réseau est bien sûr de supporter des services tels que le téléphone, la vidéo-conférence, le transfert d’images, d’e-mails, de fichiers de données, etc. La variété des services est très grande, et leurs exigences au niveau du transport (bande passante, contraintes de temps réel) très différentes. Plusieurs technologies de commutation tentent de répondre à ces besoins (commutation de circuits et commutation de paquets essentiellement). La gestion La deuxième fonction associée au réseau est la fonction de gestion. Un réseau est en perpétuelle évolution. En permanence, de nouveaux abonnés sont à raccorder, de nouveaux matériels à installer et de nouveaux services à introduire. Il faut aussi bien sûr garantir le bon fonctionnement du réseau par des opérations de maintenance, d’observation du trafic et de la qualité de service. Ces opérations d’extensions, d’évolutions et d’observations du réseau constituent généralement le rôle d’un exploitant. Elles sont elles-mêmes organisées autour d’équipements et de fonctions formant un réseau de gestion et d’exploitation. 1.1.1.2. Les structures réseaux Le réseau en étoile (Star network) Les éléments du réseau sont connectés entre eux grâce à un élément central, ou nœud central. Cette architecture convient à des réseaux connectant un nombre limité d’usagers. On trouve ce type de topologie dans les réseaux privés (PABX) et dans le cas de terminaux connectés à un ordinateur central (réseau d’entreprise). La fiabilité d’un tel réseau est complètement dépendante de celle du nœud central dont la défaillance met hors service tous les terminaux. A l’inverse, le routage est simple, ainsi que les opérations d’extension du nombre de
Réseaux de télécommunications et trafic
19
terminaux. La communication nécessite des protocoles appropriés, tels que le CSMA, pour gérer les conflits d’accès entre terminaux. Nous en donnerons un exemple d’étude de performance dans cet ouvrage.
Figure 1.1. Structure de réseau en étoile
Le réseau maillé (Meshed network) Dans un réseau totalement maillé, chaque nœud est connecté aux autres par autant de liaisons point à point qu’il y a de relations entre nœuds à établir. Ce type de topologie implique un grand nombre de liaisons – le nombre de relations croît comme le carré du nombre total n de nœuds (il y a exactement n(n – 1)/2 liaisons). Le grand avantage d’un tel réseau est sa fiabilité : il existe toujours une possibilité d’atteindre un autre nœud, même en cas de panne d’une liaison, en passant par un nœud intermédiaire. Le dimensionnement nécessite par contre une connaissance précise des flux de trafics entre nœuds. On est souvent conduit à un fort surdimensionnement. Dans la pratique, les réseaux seront partiellement maillés, l’ouverture d’une liaison directe dépendant à la fois de critères d’optimisation et de fiabilité. Là encore, une connaissance précise des flux permettra un dimensionnement optimisé.
20
Trafic et performances des réseaux de télécoms
La figure 1.2 montre le cas d’un réseau, ATM ou IP, de nœuds de périphérie (Provider Edge) complètement maillé. Chaque nœud de périphérie collecte le trafic de nœuds d’accès usagers (Access GateWays, AGW), ou concentre et reçoit le trafic VoIP (Voix sur IP) réseau, via une Gateway IP (GW VoIP). Nous aurions pu tout aussi bien représenter un réseau d’ordinateurs ou de routeurs IP. Ce type d’architecture convient bien à des réseaux de taille limitée, devant assurer une très grande qualité de service (facilité de routage, possibilité de tunnelling). AGW
PE
PE
AGW
GW VoIP
PE
PE
PE
AGW
Figure 1.2. Un réseau totalement maillé
Le réseau en anneau (Ring network) Dans ce réseau, chacun des n nœuds est interconnecté seulement à ses deux voisins. Le nombre de liens est donc réduit à n. L’ensemble forme ainsi un anneau. Pour assurer la fiabilité d’un tel réseau, les liens peuvent être doublés individuellement, ou c’est l’anneau qui est globalement doublé. En outre, les protocoles de routage peuvent isoler un nœud défaillant, le réseau devient alors auto-cicatrisant (selfhealing). Ce type d’architecture est la structure de base des réseaux de données universitaires, des réseaux locaux métropolitains et bien sûr des réseaux de calculateurs, avec notamment la technologie bien connue
Réseaux de télécommunications et trafic
21
du token ring (dont nous étudierons les performances). On le retrouve aussi comme ossature de « plaques régionales » de réseaux d’opérateurs.
Figure 1.3. Un réseau en anneau
Le réseau en arbre (Tree network) Dans un certain nombre de cas, les dépendances entre les nœuds conduisent à les organiser en « arbres », chaque nœud ayant une responsabilité (de routage, de gestion, etc.) sur les nœuds qui lui sont liés. On utilise cette architecture sous cette forme (arborescence liée à un service de type multicast) ou plus souvent comme schéma de structure d’organisation de sous-réseaux. La structure hiérarchisée Un tel réseau est en fait composé de plusieurs sous-réseaux de niveaux hiérarchiques différents. Au plus haut niveau, on trouve le backbone permettant l’interconnexion des différents réseaux de niveau inférieur (par exemple, en téléphonie, le réseau international, constitué des centres de transit internationaux). Puis, au niveau inférieur, se trouvent les réseaux nationaux (avec par exemple leurs centres de transit principaux et secondaires...) et, enfin, les réseaux d’accès (centres de raccordement et unités de raccordement d’abonnés). Les réseaux de téléphonie (fixe et mobile) sont des exemples caractéristiques de ce type de structure. Les sous-réseaux ainsi interconnectés (réseaux régionaux, réseaux urbains) présentent un
22
Trafic et performances des réseaux de télécoms
schéma de maillage partiel. La tendance est d’utiliser un maillage total aux niveaux supérieurs de la hiérarchie. Le nombre de niveaux hiérarchiques dépend de la taille du réseau (typiquement, trois en Europe, quatre aux Etats-Unis). La structure à passerelles Dans un tel réseau, lui aussi composé de sous-réseaux, la notion de hiérarchie s’atténue au profit de la notion de « cohabitation ». Les sous-réseaux communiquent entre voisins via des passerelles. Les informations circulent de proche en proche. Dans l’un et l’autre de ces réseaux, la fiabilité du transport est assurée par la multiplicité des acheminements (accès à plusieurs centres de transit, accès à plusieurs routeurs). Le réseau Internet est l’exemple type de ce genre de structure. Les diagrammes de la figure 1.4 schématisent ces deux structures. Centre de transit international
Terminal/ordinateur passerelle
Centre de transit national
routeur
Centre d’abonnés
Concentrateur
Réseau téléphonique (hiérarchique)
Réseau Internet (passerelles)
Figure 1.4. Architectures arborescentes pour les grands réseaux
1.1.2. Les technologies de communication : circuits et paquets On mesure la diversité des profils des trafics émis par les sources que les réseaux accueillent. On imagine aisément que diverses méthodes ont été proposées pour assurer le service de communication d’une
Réseaux de télécommunications et trafic
23
façon optimale en fonction de ces profils. Parmi ces méthodes, deux grandes techniques de commutation prédominent, la commutation de circuits et la commutation de paquets, à partir desquelles ont été déclinées diverses variantes. 1.1.2.1. La commutation de circuits La solution la plus simple pour établir une communication entre un point A et un point B consiste à les relier par une liaison électrique. C’est de cette façon qu’ont opéré les premiers systèmes de téléphonie. Les commutateurs sont, schématiquement, des automates avec n entrées et m sorties, capables sur demande de relier une entrée à une sortie. Une connexion se présentera comme une suite de liens réservés et de relations établies dans les commutateurs entre ces liaisons. La liaison doit être établie préalablement à tout échange. A
B
C
D
Etablissement de la connexion
« OK » A B Echange de l’information
C
D
Rupture de la connexion
Figure 1.5. Déroulement d’une communication en « commutation circuit »
La caractéristique essentielle du mode circuit est la réservation d’un chemin et des ressources, de bout en bout, pour toute la durée de l’appel.
24
Trafic et performances des réseaux de télécoms
En réalité, la connexion d’un circuit électrique réel n’est que la façon la plus simple de réaliser la liaison. Le plus souvent, on partagera une liaison de débit conséquent entre flux plus modestes. Ainsi la technologie MIC partage une liaison à 2 Mbit/s entre 32 circuits à 64 kbit/s (1,5 Mbit/s et 24 canaux à 56 kbit/s aux Etats-Unis). La figure 1.5 donne une représentation du déroulement d’une connexion. On y distingue les phases d’établissement au travers du réseau (schématisé ici par les nœuds intermédiaires B et C). 1.1.2.2. La commutation de paquets L’information issue d’un équipement informatique présente un caractère intrinsèquement « sporadique », comme on s’en convaincra en songeant au déroulement d’une session sur Internet. Le terminal comme la station de travail fabriquent, à leur vitesse (qui se chiffrera en Mbit/s), des blocs d’information qui seront séparés par des silences pouvant atteindre plusieurs secondes. Dans ces conditions, il serait peu économique d’établir une connexion qui immobiliserait des ressources (lignes de transmission, chemins dans les commutateurs). La solution permettant une exploitation efficace des ressources du réseau a été de mettre en place la commutation de paquets. Ainsi plusieurs communications pourront se partager les mêmes ressources. En commutation de circuits, on offre à la communication un débit d constant pendant toute la durée de la connexion. Supposons que l’échange se fasse avec une sporadicité a (définie comme le rapport du débit instantané au débit moyen). Le débit alloué d est tel qu’il permet à la communication de transmettre sans perte les rafales au débit instantané le plus élevé (débit « crête »). Il s’en suit alors que le taux d’utilisation effectif de la liaison est 1/a. Sachant que a atteint 10 ou plus, de manière courante en transmission de données, la rentabilité du service est alors problématique. Dans la commutation de paquets, l’information est fractionnée par l’équipement d’origine en blocs de taille modérée, qu’on appellera des paquets, qui seront autonomes (c’est-à-dire capables de se déplacer dans le réseau grâce à une information d’en-tête qui contient l’adresse de destination). La source émet ses paquets à son rythme, le réseau multiplexe les paquets de provenances différentes dans les mêmes
Réseaux de télécommunications et trafic
25
ressources, pour en optimiser l’usage (on parle de multiplexage statistique). Ce fractionnement permet de raccourcir le délai de transmission de l’information (voir figure 1.6). Il permet une meilleure utilisation de la ressource de transmission que la commutation de circuit, où celle-ci est allouée sans partage. A l’inverse, le multiplexage de connexions différentes sur les mêmes ressources induit des délais (et peut-être, des pertes) que la commutation de circuit ne connaît pas. Cette opération nécessite un dimensionnement soigneux et la mise en place de mécanismes de contrôle de congestion. A
B
C
D
Attente possible
A B
C
D
Délai de transfert
Figure 1.6. Déroulement d’une session en mode « paquets »
Enfin, il faut noter qu’en commutation de paquets on distinguera encore deux modes de fonctionnement (à ne pas confondre avec le mode de commutation) : le mode orienté connexion (Connection Oriented) et le mode sans connexion (Connectionless). Dans le mode orienté connexion, on retrouve l’établissement d’un chemin, le circuit virtuel. Il y a échange préalable de premiers paquets de signalisation pour réserver les ressources et établir le chemin. Dans le mode sans connexion, les décisions de routage sont prises à partir de l’en-tête de chaque paquet, à chaque nœud (routing et forwarding).
26
Trafic et performances des réseaux de télécoms
Le mode orienté connexion a donné lieu à trois grands modes de fonctionnement : X25 (qui corrige les erreurs, garantit le séquencement des paquets, qui dispose de contrôle de flux...), Frame Relay (il n’y a plus de contrôle au niveau paquet) et l’ATM. La technique de commutation ATM (Asynchronous Transfer Mode) est une technique paquet où l’unité d’information est un paquet de longueur fixe (53 octets), la cellule, et qui dispose de fonctionnalités de contrôle importantes. Le mode orienté connexion de l’ATM, associé à l’unité fixe qu’est la cellule, est utilisé au maximum pour offrir les garanties sur la bande passante disponible, le taux d’erreurs maximum, les délais, etc., au prix d’une certaine complexité. Le mode sans connexion est surtout popularisé par IP (Internet Protocol). Les paquets IP sont de taille variable : par exemple 20 (ou 40) octets de header (en-tête) et un pay load (information « utile ») variant entre 0 et 65535 octets. A la base, un réseau IP ne garantit pas la qualité de service, il travaille selon le mode best effort (« au mieux »). En effet, IP essaie de transmettre tous les paquets mais sans éviter ni la remise hors séquence, ni la duplication, ni les délais, ni la perte. La nécessité d’un transport fiable conduit alors à utiliser les deux modes de connexions pour une même communication, à des niveaux différents. Ainsi, avec TCP (Transmission Control Protocol) sur IP, on a un mode connexion au niveau application, sur un mode sans connexion au niveau paquet. Inversement, avec IP sur ATM, on a un mode sans connexion sur un mode connexion. Nous détaillerons un peu plus loin les principaux protocoles de communication sur IP, utilisés par un grand réseau paquet tel qu’Internet. 1.1.3. Les grands réseaux Après avoir présenté les architectures puis les technologies des réseaux, nous présentons ici plus précisément de grands réseaux correspondant à quelques grands types de services initialement distincts, tels que le téléphone fixe, le téléphone mobile, les données, etc., puis convergeant en un réseau unique. Nous décrirons leurs équipements et leurs fonctionnalités, lesquelles sont à la source du trafic chargeant les équipements précédemment identifiés. Pour ce faire, nous nous appuierons sur quelques grands exemples de réseaux
Réseaux de télécommunications et trafic
27
tels que le réseau téléphonique fixe, les réseaux mobiles GSM et UMTS, le réseau IP, le réseau NGN, les réseaux privés. 1.1.3.1. Le réseau téléphonique fixe classique Le rôle du réseau téléphonique fixe classique est de mettre en relation deux postes d’abonnés fixes. L’équipement d’abonné est le (ou les) poste(s) téléphonique(s). Les abonnés sont raccordés de manière fixe à des unités de raccordement (concentrateurs, centres d’abonnés). La communication est établie à partir de la numérotation (numéro demandé) et maintenue pendant toute la durée de la conversation. Le débit possible est de 64 kbit/s (56 kbit/s aux Etats-Unis) ou n × 64 kbit/s pour les lignes RNIS (réseau numérique à intégration de service), mais évoluant, à l’accès, jusqu’au Mbit/s avec l’accès ADSL (Asymetrical Digital Subscriber Line). Cette dernière évolution est sans conteste, comme nous le verrons un peu plus loin, une ouverture fondamentale du réseau classique vers les réseaux de nouvelle génération. En effet, l’ADSL permet par la simple adaptation des lignes d’abonnés existantes des débits descendants (réseau vers usager) de l’ordre de 2 Mbit/s et des débits montants de l’ordre de 600 kbit/s. Les trois fonctions de base du réseau sont : – l’interconnexion des abonnés, c’est-à-dire la fourniture, aux informations générées par les terminaux (parole, données), d’un support de transport permanent et dédié pendant toute la durée de la communication ; – la signalisation, c’est-à-dire l’échange d’informations (messages ou encore signaux de fréquence) qui permettent l’établissement puis la rupture de la communication, et de son support (sur la base de la numérotation) ; – l’exploitation, c’est-à-dire l’échange d’informations et de commandes (messages) qui permettent de gérer le réseau (mesures de trafic, mises en service...). Ces trois fonctions se concrétisent en trois réseaux plus ou moins physiquement distincts : le réseau de transport avec ses liens de transmission (MIC, STM, etc.) et ses matrices de connexion, le réseau de commande et de signalisation avec ses autocommutateurs et le réseau de signalisation (signalisation n° 7 par exemple) et, enfin, le réseau d’exploitation avec ses centres d’exploitation.
28
Trafic et performances des réseaux de télécoms
La figure 1.7 fait apparaître les principaux constituants d’un réseau « fixe » public, le PSTN (Public Switched Telephone Network). SMP
SCP
IN
Centre de transit
SSP (Centre d’abonnés) Concentrateur
SSP
IN = Intelligent Network SSP = Service Switching Point SMP = Service Management Point
Figure 1.7. Le réseau téléphonique fixe
On y trouve successivement les unités de raccordement d’abonnés (concentrateurs), les centres d’abonnés, puis les centres de transit, auxquels se rajoutent les centres d’exploitation. A cet ensemble viennent s’ajouter les équipements du réseau intelligent, l’IN (Intelligent Network), tels que le SCP (Service Control Point) et le SMP (Service Management Point). Le PSTN, malgré sa limitation en bande passante, est désormais un réseau très puissant, en particulier grâce à l’IN. Le réseau intelligent constitue un environnement puissant visant à fournir des services sur mesure, tels que l’appel par carte de crédit, la portabilité, le libre appel, etc. C’est le SCP qui contrôle en temps réel, en coopération avec les commutateurs, la fourniture du service. Dans ce cadre, les commutateurs deviennent des équipements aux fonctions avancées et sont appelés aujourd’hui des SSP (Service Switching Point). 1.1.3.2. Le réseau de signalisation n° 7 On ne peut traiter du réseau PSTN, ni, comme nous allons le voir, de l’évolution des réseaux, sans introduire le réseau de signalisation n° 7, dit aussi réseau sémaphore. Le système de signalisation n°7 (SS7) a
Réseaux de télécommunications et trafic
29
pour fonction d’acheminer les informations de contrôle entre les différents éléments du réseau, tels que les commutateurs téléphoniques, les bases de données, les serveurs. C’est donc aussi un élément essentiel pour l’introduction de nouveaux services dans le réseau. Ce réseau de signalisation fonctionne suivant un principe semblable à celui de la commutation de paquets : il y a échange de trames sémaphores, avec contrôle de flux, entre les terminaisons de signalisation que sont les points de signalisation (PS), ou points sémaphores, localisés dans les commutateurs, les serveurs, etc., et via des points relais que sont les points de transfert de signalisation (PTS). Le support de transmission est le canal commun de signalisation (CCS, Common Channel Signalling), dit canal sémaphore, d’où le nom de signalisation par canal sémaphore. Un canal sémaphore est très généralement un canal à 64 kbit/s (ou 56 kbit/s), réservé pour le seul transport de la signalisation entre deux points sémaphores (PS ou PTS). Un ou plusieurs canaux sémaphores seront réservés en fonction du volume de messages à échanger, volume évidemment fonction de la taille des commutateurs, ils forment alors un faisceau sémaphore. L’ensemble des canaux sémaphores et des points sémaphores (PS et PTS) forme un réseau spécialisé, complètement séparé du réseau de transmission de la parole (d’un point de vue logique, car il s’appuie sur les mêmes ressources physiques). Il est enfin important de noter qu’avec ce réseau il y a indépendance entre échange de signalisation et établissement réel d’un circuit de commutation. Cette séparation en fait un support tout à fait approprié pour l’évolution vers la nouvelle génération de réseaux tels que le NGN (Next Generation Network) que nous présenterons plus loin. Très généralement, un réseau SS7 a schématiquement la structure représentée par la figure 1.8. Pour des raisons de fiabilité, chaque point sémaphore est connecté à deux points de transfert sémaphore, et les points de transfert sémaphore sont maillés entre eux. Il peut y avoir des liaisons directes entre SP (ou STP de même région). Il peut y avoir des liaisons entre plusieurs niveaux de STP (niveau régional, national...). On distingue trois modes de fonctionnement reliant le canal sémaphore et les circuits de parole qu’il sert : – le mode associé : le canal sémaphore suit le même chemin que les circuits dont il porte la signalisation (il va alors de PS à PS) ;
30
Trafic et performances des réseaux de télécoms
– le mode non associé : le canal sémaphore suit un chemin différent (il utilise alors plusieurs PTS) ; ce dernier se partage lui-même entre mode dissocié et mode quasi associé. En mode dissocié, les messages peuvent utiliser un grand nombre de PTS et peuvent suivre des chemins différents. Alors qu’en mode quasi associé, le routage est prédéterminé avec un maximum de deux PTS. STP
STP
STP
STP
STP
SP
SP SP
SP = Signaling Point STP = Signaling Transfer Point
SP
liaison “de base” liaison directe liaison inter niveaux
Figure 1.8. Le réseau sémaphore SS7
1.1.3.3. Les réseaux mobiles Le réseau GSM (Global System for Mobile Communication) C’est le réseau de base du téléphone mobile. Les fonctions sont les mêmes que précédemment, mais cette fois les abonnés à mettre en relation sont « mobiles ». Outre la mobilité, il offre des services tels que celui des messages courts, de la carte de prépaiement, des services d’information, de la boîte vocale... Le réseau d’accès au GSM A tout moment un abonné appartient à une cellule radio, zone couverte par une antenne apte à offrir un certain nombre de canaux radios aux usagers de la cellule (c’est l’équivalent du concentrateur d’abonnés). L’équipement d’abonné est le poste mobile (le portable),
Réseaux de télécommunications et trafic
31
appelé le MS (Mobile Station). Les abonnés mobiles sont connectés au réseau via une liaison radio avec la station pilote de la cellule où ils se trouvent, la BTS (Base Transceiver Station). Une station de commande, la BSC (Base Station Controller), supervise plusieurs BTS. Le réseau cœur du GSM Les BTS sont connectées à un centre de commutation mobile, le MSC (Mobile Switching Center) qui est l’équivalent des centres d’abonnés et de transit. La différence principale entre un MSC et un commutateur de réseau fixe est que le MSC prend en compte l’impact de la mobilité des abonnés (localisation, changement de zone de couverture radio, etc.). Le MSC assure les fonctions de contrôle et de connexion des abonnés localisés dans sa zone géographique. Il joue aussi le rôle de Gateway entre le réseau fixe et le réseau mobile, ou entre réseaux mobiles, pour des appels arrivée dont on ne connaît pas la localisation du demandé. Un MSC qui reçoit un appel d’un autre réseau, et qui assure le routage de cet appel vers le MSC où est effectivement localisé l’abonné demandé, est appelé Gateway MSC (GMSC). Pour ce faire, il interroge la base de donnée des localisations, le HLR. C’est ainsi qu’un abonné fixe du PSTN, ou un abonné mobile d’un autre réseau mobile éloigné, pourra communiquer avec un autre abonné mobile du PLMN (Public land mobile network), quelle que soit sa localisation instantanée. Les abonnés peuvent passer d’une cellule à une autre, même en cours de communication (il s’agit alors d’un Hand Over), le système radio les localise en permanence. Les abonnés ont une localisation d’origine : le HLR (Home location Register) est le système qui détient les informations relatives à ses abonnés d’origine (identité, numéro, options d’abonnement, services, etc.). A ces données statiques viennent s’ajouter dans le HLR les données dynamiques, telles que la dernière localisation connue de l’abonné, qui permettent le routage vers le MSC où est effectivement localisé l’abonné. Enfin, c’est le VLR (Visitor Location Register) qui tient à jour les données relatives aux abonnés en « visite » dans sa zone et qui prévient le HLR. Le VLR est généralement inclus dans le MSC.
32
Trafic et performances des réseaux de télécoms
BSC
BTS
MSC+VLR
GMSC
HLR
cellules
Poste mobile
BTS = Base Transreceiver Station BSC = Base Station Controller VLR = Visitor Location Register
MSC = Mobile switching Center GMSC = Gateway MSC HLR = Home Location Register
Figure 1.9. Réseau mobile
Les réseaux GPRS et UMTS Dans le réseau mobile de base, le GSM, le débit est de 13 kbit/s sur la partie radio, entre le poste et la BSC, et de 64 kbit/s (56 kbit/s) après transcodage entre la BSC et le reste du réseau. Les réseaux mobiles tels que le GPRS (General Packet Radio System) et l’UMTS (Universal Mobile Telecommunication System) sont des évolutions qui offrent à la fois beaucoup plus de débit (144 kbit/s, 384 kbit/s, 2 Mbit/s) et permettent la communication en mode paquet. Le réseau GPRS doit être plutôt vu comme un complément au réseau GSM existant. Essentiellement, il lui ajoute la possibilité de transmettre des données en mode paquet. Le débit peut atteindre 144 kbit/s. Le service voix utilise le réseau GSM, alors que les services de données sont acheminés au réseau paquet (Internet par exemple via le réseau GPRS. Deux nouvelles entités fonctionnelles apparaissent : le SGSN (Serving GPRS support Node) qui assure la transmission des données entre les terminaux mobiles et le réseau mobile, et le GGSN (Gateway GSN) qui interface le réseau mobile avec le réseau de données. Dans le réseau UMTS, l’ensemble du réseau évolue. On distingue une partie radio, RNS (Radio Network Subsystem) et une partie cœur réseau, CN (Core Network).
Réseaux de télécommunications et trafic
33
Les RNS forment le réseau d’accès. On y retrouve comme précédemment des moyens radio, mais de plus grand débit, et le RNC. Le réseau d’accès (UTRAN pour le réseau grand public, UMTS Terrestrial Radio Access Network) se compose des moyens radios comme précédemment (mais de plus grand débit, la BTS devient le Node B), et du RNC (Radio Network Controller) qui contrôle l’ensemble des Nodes B de l’UTRAN. Le réseau cœur est tout à fait similaire à celui du GPRS. On distingue deux domaines : le domaine CS de commutation circuit (Circuit Switched domain) et le domaine PS de commutation paquet (Packet Switched domain). Dans le domaine circuit, qui est l’équivalent du domaine voix du GSM, on retrouve le MSC et le GMSC. Dans le domaine paquet, leurs équivalents sont le SGSN (Serving GPRS Support Node) et le GGSN (Gateway). On retrouve enfin les éléments communs tels que le HLR et le centre d’authentification. Un mobile UMTS est capable de communiquer simultanément via les deux domaines. La figure 1.10 schématise le réseau et ses composantes fonctionnelles. Domaine circuit Réseau d’accès UTRAN
MSC
GMSC
Réseau PSTN
RNC
Node B
HLR
Domaine paquet
SGSN
cellules
GGSN
Poste mobile
Réseau Paquet
Figure 1.10. Réseau UMTS
1.1.3.4. Le réseau Internet C’est un réseau à commutation de paquet. Comme on l’a expliqué plus haut, il n’y a pas établissement d’un canal strictement réservé à une communication. Ceci a été initialement justifié par le fait que, lorsque
34
Trafic et performances des réseaux de télécoms
des calculateurs s’échangent des informations telles que des fichiers, d’une part l’échange effectif d’information est bref (il ne dure que peu de temps par rapport à l’ensemble de la session) et, d’autre part, le type de données échangées se prête bien au découpage en paquets, avec peu de contraintes temps réel. Ce qui autorise un degré de multiplexage important, c’est-à-dire le « mélange » des paquets de plusieurs communications sur un même support, de débit au moins égal à la somme des débits des communications. Le réseau IP (Internet Protocol) est l’interconnexion de plusieurs sous-réseaux, systèmes autonomes appelés AS (Autonomous Systems). Un sous-réseau interconnecte des terminaux, des serveurs, des calculateurs. C’est typiquement un LAN. Un sous-réseau s’interconnecte avec les autres sous-réseaux grâce à un routeur port. Chaque équipement possède une adresse qui l’identifie dans le sousréseau (le sous-réseau est défini par un préfixe qui lui est propre). A la différence d’un réseau de type téléphonique, les adresses n’ont pas de structure hiérarchique (de sorte qu’une adresse ne permet pas automatiquement de retrouver le terminal). Les routeurs ont une vue partielle du réseau global et échangent les informations avec les routeurs (voisins) dont ils connaissent l’adresse. (On réalise bien ici le gigantisme que pourraient atteindre les tables si chaque routeur devait connaître la totalité du réseau.) La mise à jour des tables d’adresses est d’ailleurs un des problèmes que ces réseaux doivent traiter. Un routeur effectue essentiellement deux grandes fonctions : le routage des paquets et l’aiguillage (forwarding). Le routage des paquets Le routeur dispose d’une table de routage donnant une connaissance plus ou moins détaillée de la topologie du réseau. La table de routage contient essentiellement les entrées qui spécifient une destination, et le prochain nœud qui permet de l’atteindre. C’est à partir de cette table qu’il calcule la route à suivre par un paquet pour une certaine destination. Concrètement, à chaque paquet reçu, le routeur extrait de l’en-tête l’adresse de destination, et s’en sert pour déterminer le prochain routeur où doit être envoyé le paquet pour atteindre la destination finale. Le routage IP est en soi un énorme sujet. Comme déjà évoqué dans la partie architecture des réseaux, le réseau IP assure la fiabilité de la communication grâce à ses multiples interconnexions.
Réseaux de télécommunications et trafic
35
Cependant, ceci implique d’une part des capacités de routage dynamique, pour contourner les pannes et les encombrements, et d’autre part la nécessité du contrôle et de l’optimisation de la bande passante disponible, et de la longueur des itinéraires. Aujourd’hui, le réseau Internet transporte toutes sortes d’informations : fichiers, messages, images, parole, vidéo, etc. Son évolution en taille, et en diversité des services, tend alors à renforcer la nécessité de hiérarchie dans le routage, ainsi que le concept de différenciation du service entre les flux de paquets (priorités de type Intserv et Diffserv, par exemple). Dans cet ouvrage, nous traiterons un exemple de problème de multiplexage de trafics de natures différentes en technologie paquet. L’aiguillage des paquets (forwarding) Sur la base de l’en-tête du paquet (header), le routeur transfère le paquet d’un de ses ports d’entrée au port de sortie adéquat (conformément au résultat du routage). A l’intérieur des routeurs peuvent se poser des problèmes de congestion, d’attente, etc. Nous aborderons aussi ces sujets. Les protocoles de communication Un grand réseau paquet IP comme le réseau Internet s’appuie sur trois grands protocoles : TCP (Transmission Control Protocol), UDP (User Datagram Protocol) et RTP (Real Time transport Protocol, associé à RTCP : RTP Control Protocol). Le rôle de TCP est de fournir un service fiable de remise des données aux programmes d’application, à partir du service sans connexion IP, non fiable, de remise des paquets. C’est un protocole de bout en bout. TCP est un service orienté connexion qui commence par établir une connexion virtuelle (bidirectionnelle) entre deux applications. Les données sont ensuite transmises sur cette connexion. Le séquencement est garanti et il n’y a pas de perte. TCP renvoie les paquets en cas d’erreur et ajuste le débit en cas de congestion, mais ceci ne garantit pas les délais et le rend incompatible avec le transport de données temps réel ! UDP est le protocole de transport sur lequel s’appuie RTP pour traiter les flux temps réel (voix, vidéo). UDP est un protocole sans correction
36
Trafic et performances des réseaux de télécoms
d’erreur, sans réduction de débit, mais aussi sans garantie de la remise des paquets en séquence. RTP permet d’ajouter aux paquets concernés des marqueurs temporels et des numéros de séquence. RTCP, via des transmissions périodiques, offre des possibilités de contrôle des flux RTP. RTP et RTCP sont des protocoles de niveau application. Enfin, l’évolution de l’IP vers le transport simultané de tous les services, temps réel et non temps réel, et avec garantie de la qualité de service y a fait rajouter de nouvelles fonctionnalités : introduction essentiellement de la notion de priorité entre paquets (Intserv, Diffserv), mais aussi possibilité de créer à travers les réseaux des tunnels (chemins prédéfinis, fonction tunelling) en s’appuyant sur des protocoles évolués tels que MPLS (Multiprotocol Label Switching). Les connexions à Internet Nous venons de voir que le réseau Internet est en fait l’interconnexion de plusieurs sous-réseaux. Nous précisons ici les différents modes de connexion et d’interconnexion. La connexion du terminal se fera via un réseau d’accès (Access Network) qui sera par exemple pour un abonné résidentiel le réseau téléphonique. Dans ce cas, le terminal usager disposera d’un modem pour accéder via le réseau téléphonique au point de présence (POP) d’un fournisseur d’accès (Internet Acces Provider ou Internet Service Provider) qui lui même utilisera un autre modem pour se raccorder au Core Network Internet. Le débit du réseau téléphonique classique étant très limité (56 kbit/s, 64 kbit/s, 128 kbit/s), l’usager peut aussi accéder au réseau Internet via le câble ou une liaison ADSL (Asymetrical Digital Subscriber Line). Dans ce cas, le débit est de plusieurs Mbit/s et la connexion est directe et permanente au réseau Internet, à travers des réseaux d’accès câblés ou des DSLAM (Digital Subscriber Line Access Multiplexer). Au niveau des sous-réseaux, ceux-ci étant interconnectés et donc ouverts, pour une part du moins, au monde extérieur, se pose alors le problème de la protection des informations internes des Intranets (sous-réseaux privés) contre les fuites ou les agressions extérieures. C’est le rôle des fonctions Fire Wall (pare-feu) et Gate Keeper (gardebarrière) au niveau de la passerelle entre un Intranet et Internet. Le
Réseaux de télécommunications et trafic
37
Fire Wall restreindra les types de connexions autorisés en fonction de différents critères, comme par exemple n’autoriser une transaction FTP (File Transfer Protocol) que dans le sens Intranet vers Internet. De la même façon, un Proxy Server pourra tester la nature d’une requête avant d’autoriser la connexion. La figure 1.11 illustre ces différentes configurations. Proxy Server Fire Wall/GK
Serveur
Usager
Intranet
Routeur
Internet GW POP IAP/ISP
DSLAM splitter
Modem analogique
Usager Modem ADSL
Raccordement d’abonnés
POP = Point of Presence DSLAM = Digital Subscriber Line Access Mux PSTN = Public Switched Telephone Network
PSTN
Usager
ISP = Internet Service Provider IAP = Internet Access Provider GK = Gate Keeper
Figure 1.11. Le réseau Internet
1.1.3.5. Le réseau NGN (Next Generation Network) C’est l’évolution des réseaux téléphoniques et des réseaux de données vers un réseau unique à cœur de réseau en technologie paquet, sur lequel passeront les données correspondant à l’ensemble des services offerts aux usagers (parole, vidéo, fichiers, messagerie, etc.). La séparation des plans contrôle et transport est un élément-clé de cette architecture.
38
Trafic et performances des réseaux de télécoms Softswitch/MGC
(MGCP, MEGACO/H248) MGW
SIP/BIC
MGC (MGCP, MEGACO/H248) MGW
Transport IP ou ATM Centre d’abonné
Centre d’abonné
MGW = Media gateway , MGC = Media Gateway Controller/Softswitch
Figure 1.12. La structure de base du réseau NGN
Le NGN introduit la flexibilité qui permet aux opérateurs d’adapter leur activité et leur réseau à l’évolution des technologies et du marché. Les opérateurs disposant des deux types de réseaux, téléphonique et données, pourront les unifier pour à terme n’exploiter qu’un seul réseau multiservice. La structure du NGN est une structure en couches (terminal, accès, transport, adaptation, contrôle, application) aux interfaces ouvertes permettant de combiner des éléments différents. La dissociation entre la partie transport du réseau et la partie contrôle permet ainsi d’évoluer séparément. La couche transport peut être modifiée sans impacter les couches contrôle et application. Le transport paquet peut être IP ou ATM. L’architecture NGN s’appuie sur deux entités principales : la Media Gateway (MGW) et le Media Gateway Controller (MGC), appelé aussi Softswitch (le MGC en devenant alors une fonction). La figure 1.12 donne un exemple d’architecture où apparaissent ces deux composants. Le terminal d’abonné téléphonique est raccordé au commutateur d’accès (couche accès). La Média Gateway (couche adaptation) assure la conversion au niveau transport entre l’information codée à 64 kbit/s et la mise en paquets IP ou ATM. La signalisation comme les données sont échangées via le réseau paquet. Le Média Gateway Controller
Réseaux de télécommunications et trafic
39
joue le rôle de serveur d’appel, c’est lui qui contrôle les MGW pour établir les appels. L’établissement de la communication entre deux équipements terminaux d’abonnés s’effectue à travers le réseau IP (ou ATM), sous le contrôle des MGC d’origine et de destination. Il y a schématiquement échanges d’adresses IP (ou ATM) entre les Gateways, puis demande d’établissement d’appel circuit aux extrémités dans les réseaux téléphoniques (nous détaillerons un exemple d’établissement d’appel NGN dans le chapitre 10). C’est ici qu’on retrouve l’usage de la signalisation n° 7, portée après conversion dans le réseau IP par une couche de transport de même niveau que TCP et UDP : SCTP (Stream Control Transmission Protocol), défini par le groupe SIGTRAN à l’IETF (groupe de normalisation, voir chapitre 2). Le protocole de contrôle utilisé par le MGC pour piloter les Media Gateway est soit MGCP, soit MEGACO/H248. MGCP est un protocole américain, MEGACO est l’appellation IETF de H248 à l’ITU-T (organisme international de normalisation, voir chapitre 2). Lorsque deux MGC doivent dialoguer entre eux, par exemple pour aller chercher les adresses IP (ou ATM) d’un Media GateWay sous le contrôle d’un autre MGC, ceux-ci s’échangent de la signalisation au moyen des protocoles SIP (IETF), Session Initiation Protocol, ou BICC (ITU-T), Bearer Independant Call Control. L’évaluation de la durée d’établissement d’appel dans ce type de réseau sera traitée en détail, comme exemple, au chapitre 10. De manière plus générale le NGN vise à desservir tous les types d’accès téléphoniques : téléphones analogiques, téléphones RNIS, téléphones IP, PC, réseaux privés, lignes ADSL, etc. Ces équipements sont alors soit reliés directement à la couche transport, soit interfacés par le biais d’une Media Gateway qui va réaliser plusieurs fonctions.
40
Trafic et performances des réseaux de télécoms SCP
MMAS
MGC
MGC Téléphone IP
TGW RGW Centre d’abonné
AGW
AGW
AGW
ou de Transit PABX DSLAM
Boucle Locale
Ligne ADSL Modem ADSL
AGW= Acces Gateway
RGW= Residential Gateway
TGW= Trunking Gateway
ADSL = Assymetric Digital Subscriber Line DSLAM= DSL Access Multiplexer MMAS = Multimedia Application Server
SCP = Service Control Point
PABX= Private Branch exchange
Figure 1.13. Le réseau NGN et ses accès
Les commutateurs d’abonnés classiques et les commutateurs de transit sont quant à eux interfacés par un Trunk Gateway (TGW). La fonction de raccordement peut aussi évoluer pour devenir la fonction Access Gateway (AGW) qui interface directement la boucle locale ou, de même, un commutateur privé. Les DSLAM (DSL Access Multiplexer) regroupant les lignes ADSL portant les données seront eux aussi interfacés par un AGW. On réalise ici tout l’intérêt de la ligne ADSL qui permet l’accès à gros débit au réseau de données. Un abonné analogique peut aussi être directement raccordé à une Residential Gateway (RGW). Par contre, un téléphone IP se connecte directement à la couche transport IP (le MGC pour ce faire supporte alors les signalisations H323 ou SIP) et il pourra accéder à des services multimédias offerts par un serveur d’application tel que le MMAS (Multimedia Application server), etc.
Réseaux de télécommunications et trafic
41
Enfin, le réseau NGN vise aussi à interfacer aussi bien l’accès fixe que l’accès mobile. Comme pour le téléphone fixe, les commutateurs de circuit du GSM sont alors remplacés par les solutions d’accès NGN. La figure 1.13 illustre quelques-unes ces différentes posibilités, dans le cas d’un réseau supportant une multiplicité de services. Pour conclure cette introduction au NGN, attirons l’attention sur le fait que, dans ce contexte, le cœur réseau IP (ou ATM, ou IP/ATM) supportera les services les plus divers. Se pose alors le problème de la gestion de trafics paquets de natures très différentes, et notamment celui du transport simultané de trafics à forte contrainte temps réel (la parole par exemple) et de trafics à contrainte très lâche (fichiers de données par exemple). Nous aborderons aussi ce type de problème dans la suite de cet ouvrage. 1.1.3.6. Les réseaux privés Les grands réseaux que nous venons de présenter ont plutôt une vocation de réseaux publics. Outre ces réseaux, des organismes privés, comme les grandes entreprises et les universités, organisent la communication entre leurs employés ou leurs équipements informatiques au moyen de réseaux privés. Les PABX (Private Branch Exchange) Les réseaux privés de téléphonie tels que les PABX sont tout à fait similaires aux réseaux publics. Ils sont simplement réduits à l’équipement minimal pour un petit nombre d’abonnés (de quelques dizaines à quelques milliers), mais par ailleurs offrent des facilités propres aux entreprises telles que l’annuaire interne, la conférence, les renvois, le rappel automatique, la messagerie vocale, la présentation d’appels, le filtrage, etc. Services que l’on trouve aussi, maintenant, de plus en plus sur le réseau public. Les LAN (Local Area Network) Les réseaux privés informatiques, tels que les LAN, ont pour but d’interconnecter les équipements informatiques, offrant désormais grâce à la technologie IP (Intranet) de nombreuses facilités telles que la communication de fichiers, l’e-mail, etc., mais aussi la communication de paroles et d’images vidéos, le partage temps réel de
42
Trafic et performances des réseaux de télécoms
fichiers, de présentations, rendant ainsi possible l’organisation de réunions à distance (net meeting), etc. Les structures des LAN sont variées, généralement en bus, en étoile ou en anneau. L’interconnexion entre les ordinateurs est réalisée à l’aide de mécanismes standard tels que le CSMA ou le Token Ring. Le CSMA-CD (Carrier Sense Multiple Access with Collision Detection) C’est le mécanisme mis en œuvre dans les réseaux Ethernet. Dans ce cas, chaque terminal qui veut émettre « écoute » jusqu’à ce qu’aucun autre terminal ne soit actif. Du fait des délais de propagation et des durées minimales de reconnaissance des signaux, des collisions peuvent se produire, limitant ainsi la bande passante effective par rapport au débit physique du bus. terminaux
Bus Figure 1.14. LAN Ethernet
terminaux Anneau
Figure 1.15. LAN Token Ring
Réseaux de télécommunications et trafic
43
Le Token Ring Le mécanisme de l’anneau à jetons consiste à faire circuler sur l’anneau un (ou plusieurs) jeton(s) donnant le droit d’émettre. Le terminal qui veut émettre saisit à son passage un jeton libre, qu’il associe à son message après l’avoir marqué occupé. Il le libère à son retour et le remet à circuler sur l’anneau. Il faut remarquer que c’est la circulation du jeton qui configure le réseau comme un anneau : la structure physique peut aussi bien être une étoile, ou un bus. Le hub ou switch C’est une évolution apportée aux structures en bus et en anneau pour permettre notamment de modifier aisément le nombre de terminaux raccordés. Le hub est un simple système de connexion centralisé, le switch a la fonction d’une matrice de commutation. Physiquement, la structure devient une structure en étoile, mais logiquement la communication reste du type bus ou anneau.
terminaux
Hub/Switch
Figure 1.16. Ethernet/Token Lan avec hub
Ayant ainsi présenté les caractéristiques essentielles des réseaux de télécommunication, nous pouvons maintenant aborder ce qui sera l’objet fondamental de nos études : l’écoulement du trafic, et la performance associée, dans ces réseaux. A cet effet, nous commençons par introduire ici les concepts élémentaires de trafic et de qualité de service.
44
Trafic et performances des réseaux de télécoms
1.2. Concepts de trafic 1.2.1. Notion d’Erlang Le trafic d’un réseau de télécommunications correspond au volume d’informations transportées ou traitées par ce réseau. Il pourra s’agir de données relatives aux échanges d’informations entre usagers (voix, images, e-mails, fichiers...), mais aussi des données relatives aux échanges d’informations entre machines de commande du réseau (données de signalisation dans un réseau de circuits, informations de routage dans un réseau IP, données d’exploitation...). Il est clair que plus les échanges entre usagers ou machines sont fréquents et de longues durées, plus les ressources nécessaires à l’écoulement de ce trafic seront importantes. Par exemple, si un réseau reçoit sur une période donnée, une demande permanente de une communication par seconde telle que chaque communication a une durée de trois secondes, alors le réseau verra en permanence N = 3 communications coexister. En effet, après un régime transitoire, dit de montée en charge, chaque fin de communication (correspondant au processus de départ) sera remplacée par un nouveau début de communication (correspondant au processus d’arrivée), maintenant ainsi le niveau de charge du réseau pendant la période considérée. La figure 1.17 décrit le phénomène. Arrivées
N 1
2
3
4
5
6
.
.. . ... .
3 2 1 0
t ... 1
2
3
4
5
6
. . .
Départs
Figure 1.17. La notion d’Erlang/les appels simultanément en cours
Réseaux de télécommunications et trafic
45
Pour simplifier, nous avons représenté des arrivées régulières et des durées de communications constantes, mais le phénomène reste bien sûr le même avec des arrivées et des durées de service variables autour de valeurs moyennes. Le nombre moyen N de communications en cours simultanément est appelé l’intensité de trafic. Et l’unité de mesure est l’Erlang, notée E, du nom du célèbre ingénieur danois A.K. Erlang (1878-1929) qui établit les premières lois fondamentales de la théorie du trafic. Ce concept est fondamental car il définit la base du dimensionnement du réseau. Ainsi, si une ressource (circuit radio ou numérique, ou circuit virtuel, débit, etc.) est associée à chacune des N communications, il faudra pour écouler ce trafic un réseau d’une capacité d’au moins N ressources. Le nombre exact de ressources à provisionner dépendra de la loi d’arrivée et de la loi de service. Et c’est justement ce que permet de calculer la fameuse loi d’Erlang dans le cas d’arrivées dites « poissoniennes », c’est-à-dire suivant une loi de Poisson. Plus généralement, afin de pouvoir étendre ce concept à tous les types de services de télécommunications et à tous les types de ressources utilisées, on a adopté la définition suivante : un ensemble de ressources identiques est dit écouler à un instant donné un trafic de N erlangs lorsque N de ses unités sont occupées. Cette définition couvre aussi bien les notions de circuits que de kbit/s. De manière formelle, on appelle A le trafic en erlangs et, si on désigne par n(t) le nombre de ressources occupées, on a pour une période d’observation T :
A=
1 T n(t )dt T ∫0
(1-1)
Plus concrètement, si on suppose un nombre de ressources suffisant pour écouler toutes les demandes présentées, et qu’on appelle λ le nombre moyen, constant, de demandes par unité de temps, et tm la durée moyenne d’occupation de la ressource par chaque demande, on a:
A = λt m
(1-2)
46
Trafic et performances des réseaux de télécoms
A.K. Erlang a démontré le résultat fondamental suivant, dit formule de perte d’Erlang, qui donne la probabilité de rejet (B) d’une nouvelle demande, du fait de manque de ressources, pour un trafic A offert à N ressources : AN N!
E ( N , A) = B =
∑
j N A j = 0 j!
(1-3)
Le trafic écoulé est : Ae = A(1 − B )
(1-4)
Cette formule exprime donc aussi la capacité du système considéré à écouler le trafic qui lui est offert. La réalité d’un réseau est bien plus complexe que ce modèle de base, nous aurons notamment à traiter aussi des phénomènes d’attente, de gigue, etc. Mais il s’agira toujours d’évaluer les ressources nécessaires pour écouler un trafic offert dans des conditions acceptables (perte, délai, etc.). 1.2.2. Trafic offert, trafic écoulé Ceci nous amène à aborder une distinction fondamentale qui est à la base de notre activité d’étude des performances : la notion de trafic offert et la notion de trafic écoulé. En effet, le but d’un réseau et de tout système de télécommunication est d’écouler si possible la totalité du trafic offert, et ce dans les meilleurs conditions possibles (délai de réponse, délai de transmission très faibles par exemple). En réalité, il ne sera pas toujours possible d’accepter toutes les demandes. Dans certaines conditions de charges anormalement trop élevées (à l’occasion d’une catastrophe par exemple), les systèmes devront rejeter les demandes, ne serait-ce que pour se protéger. Nous traiterons cette situation sous le nom de surcharge. Mais aussi, sans atteindre ces situations extrêmes, il va de soi qu’à cause de la nature aléatoire du trafic offert (le niveau de la demande varie aléatoirement) et du souci d’optimisation des ressources, il existera toujours une probabilité non nulle d’un manque de ressources et donc de rejet de la
Réseaux de télécommunications et trafic
47
demande. Le trafic écoulé sera donc généralement différent du trafic offert. Les règles régissant la relation entre ces deux valeurs sont l’objet des normes de qualité de service. 1.2.3. La qualité de service Les critères servant à déterminer les taux de rejets, ou les temps de réponses admissibles, généralement spécifiés dans des normes internationales sont les fondements de la notion de qualité de service (Quality of Service, QoS). Fondamentalement, la qualité de service est relative à la perception qu’a l’usager de la réponse du réseau à sa demande. Et il ne faut jamais perdre de vue cette finalité, car c’est elle qui guide l’efficacité économique, et non pas la performance pour la performance ! Cependant, l’atteinte de cet objectif ne peut être que complexe compte tenu à la fois de la diversité des requêtes, de la diversité des équipements mis en jeux et de la complexité des réseaux utilisés. La qualité de service vue de l’usager sera en fait le résultat d’un ensemble cohérent de « performances » de tous les éléments de réseaux. Performances définies elles aussi dans les normes internationales. Le chapitre 2 sera consacré à ce sujet qui est bien sûr la motivation essentielle de notre activité : évaluer les performances des équipements et déterminer les ressources nécessaires et suffisantes pour garantir in fine la qualité de service spécifiée. 1.2.4. Profils de charge, charge A et charge B Au cours d’une journée, les demandes peuvent disparaître à certains moments puis réapparaître, avec d’ailleurs des niveaux de charge différents. C’est par exemple le cas en téléphonie, avec le trafic de la matinée, le creux de midi puis le trafic de l’après-midi et de la soirée. C’est aussi le cas sur le réseau de données (trafic Internet d’usagers professionnels dans la journée et d’usagers résidentiels le soir...). On parlera d’heures chargées et d’heures creuses, ces périodes pouvant d’ailleurs ne pas être les mêmes pour différents réseaux et même pour différentes parties d’un même réseau (fuseaux horaires différents, types de services supportés différents). On parlera pour un réseau ou partie d’un réseau de profil de charge. La figure 1.18 présente un exemple typique de profil issu d’observations sur des centraux téléphoniques.
Trafic et performances des réseaux de télécoms
Profil du trafic Erlang et TA/S (Tentatives d'appels/seconde)
5000 Erlang et TA/Sx100
48
4000 Erlang TA/S
3000 2000 1000 0 1
3
5
7
9 11 13 15 17 19 21 23
heure de la journée Figure 1.18. Profil de trafic téléphonique dans une journée
On observe les heures chargées de 9 h 30-11 h 30, 14 h 30-18 h, 18 h 30-21 h, et, évidemment pour ce type de trafic et le réseau observé, les périodes creuses de la nuit de 12 h 30-13 h 30. On observe aussi pendant ces périodes une variation de la durée d’appel. Ainsi, la durée d’appel augmente le soir (il y a autant d’erlangs pour moins d’appels par unité de temps, TA/S). Ceci est lié, d’une part, au type d’appel à cette période de la journée (appels résidentiels) et, d’autre part, à la politique de tarification sur le réseau observé qui favorise ce type d’appel dans la soirée. Ce dernier paramètre est un élément déterminant sur lequel s’appuieront le fournisseur de service et l’exploitant du réseau pour utiliser au mieux leurs ressources. Outre ces variations au niveau de la journée, on observe aussi des variations importantes au cours de l’année, et en particulier au moment d’événements importants tels que des fêtes nationales, des fêtes religieuses, etc. Il est clair que le réseau doit répondre correctement à ces différentes sollicitations. C’est à cet effet que l’on distingue le niveau de charge A et le niveau de charge B. Cette distinction sera explicitée dans le chapitre 2. Retenons ici simplement que le niveau de charge A correspond aux situations les plus fréquentes et la qualité de service perçue par l’usager doit être la meilleure. Par exemple, si on se réfère à notre figure et que ce profil corresponde à une journée « normale »
Réseaux de télécommunications et trafic
49
pour notre réseau, la charge A correspondra au trafic des heures chargées. Un définition précise de l’heure chargée est donnée dans les recommandations de l’UIT. Même si la nature du trafic évolue avec les nouveaux services de type paquet, le concept reste valide (sur des périodes peut-être différentes). La situation de charge B correspond quant à elle à des situations rares mais cependant prévisibles pour lesquelles la qualité de service peut être moins bonne tout en restant acceptable par l’usager. On perçoit très bien à travers ces recommandations le souci inévitable d’optimisation des ressources. 1.2.5. Stationnarité Dans les deux situations précédentes nous avons, sans le préciser, supposé une certaine « stabilité » du trafic pendant les périodes considérées. On suppose en effet, pour pouvoir dimensionner et évaluer la qualité de service, une certaine stabilité des caractéristiques du processus d’arrivées des demandes sur des périodes de temps données. Plus rigoureusement, on qualifiera cette propriété de stationnarité. Formellement, on dit qu’un processus est stationnaire au sens strict si sa loi temporelle est indépendante de n’importe quelle translation dans le temps. Souvent on se contentera de la stationnarité au sens large : dans ce cas il suffira que les deux premiers moments de la variable soient indépendants de toute translation dans le temps. Dans ce cas, il existe notamment une propriété très importante : l’espérance mathématique d’une variable X(t) est égale à une valeur m indépendante du temps, ce qui s’écrit formellement : E { X (t )} = m , ∀t
Ainsi les mesures dans le temps de l’intensité moyenne du trafic, en période stationnaire, telles que représentées dans la figure 1.18 relative au profil de trafic, donnent bien le trafic écoulé au cours de la journée. En effet, au cours de la journée, le trafic évolue relativement lentement à l’échelle de temps de la durée d’une communication (quelques minutes par exemple en téléphonie), et présente sur des périodes de l’ordre de l’heure les caractéristiques nécessaires de stationnarité. Les périodes et les échelles de temps à considérer
50
Trafic et performances des réseaux de télécoms
dépendent bien sûr fortement des services utilisés, comme par exemple pour les trafics de type Internet où la durée de communication est plutôt de plusieurs dizaines de minutes. 1.2.6. La notion d’appels/d’événements à l’heure chargée (BHCA) Le trafic à écouler par un réseau de télécommunication ne peut être spécifié seulement par l’intensité de trafic en Erlang. Celle-ci décrit bien le phénomène d’occupation des éléments en charge du transport de l’information des utilisateurs. Mais il faut aussi prendre en compte le niveau de charge que cette demande entraîne sur les organes de contrôle du réseau : demandes de requêtes d’établissement d’appels ou de sessions, charge du réseau de signalisation, etc. Cette charge sera exprimée en nombre de demandes par unité de temps. En téléphonie, l’unité est le nombre de tentatives d’appels à l’heure chargée (TAHC), en anglais BHCA (Busy Hour Call Attempt). Cette notion s’étend aisément à tout autre type de demande de service, on parlera aussi de nombre d’événements à l’heure chargée. Conformément aux définitions déjà données sur la notion d’Erlang, il existe une relation de base entre ces deux paramètres, l’intensité du trafic en erlangs et la charge en BHCA. On a : N BHCA =
AErlang
τ sec ondes
3600
(1-5)
avecτ la durée de la requête en secondes. Ainsi, on dira qu’un système devra traiter un trafic de 10 000 erlangs et 360 000 BHCA, pour des tentatives d’appels d’une durée moyenne de 100 secondes. Cette terminologie d’appels à l’heure chargée peut bien sûr être remplacée par des terminologies équivalentes pour des types de services différents, mais le concept reste valide. Car il faut bien saisir que ces notions se rapportent à « l’usager » qui à la base émet, ou reçoit, des « appels ». Et, de même, au niveau usager, il est vraisemblable que la stationnarité restera observable sur des périodes de temps à échelle humaine (ce qui ne sera plus forcément vrai à
Réseaux de télécommunications et trafic
51
l’échelle des messages, des paquets, etc.). A cet égard, nous n’insisterons jamais assez sur la nécessité dans toute étude de trafic et de performance de ne jamais oublier l’usager, vraie source originelle du trafic mais aussi sa finalité. En pratique, la connaissance des trois paramètres, erlangs, BHCA, durée d’appel, sera nécessaire. En effet, d’une part, il n’existe pas toujours une relation simple entre les niveaux de charge spécifiés. Par exemple, au niveau de charge B, on spécifie généralement un accroissement plus élevé en BHCA qu’en erlangs (il y a plus de tentatives, mais moins d’efficacité, donc une durée plus courte par tentative). D’autre part, le dimensionnement des différentes ressources du réseau est, selon les ressources, basé principalement sur l’un ou l’autre paramètre. Il est alors plus clair d’exprimer la capacité de la ressource dans l’unité qui la caractérise le mieux. 1.2.7. Le plan d’usager et le plan de commande Nous venons de voir que les ressources d’un réseau sont sensibles à différents paramètres de trafic, et en particulier selon qu’il s’agit d’éléments de commande ou d’éléments de transport d’information en cours de communication. C’est dans ce contexte que sont introduites les notions de plan d’usager et de plan de commande. Le plan usager sera composé des ressources transportant les informations dites « utiles », de niveau usager (parole, image, données, fichiers, etc.). Le plan de commande sera composé des ressources en charge de l’établissement des communications, des échanges de signalisation, des observations, de la gestion du réseau et de son exploitation. Il est clair que le plan usager sera surtout concerné par la charge en erlangs (erlangs d’appels, de kbit/s, etc.) et que les ressources associées seront surtout celles du niveau transport. De même, le plan de commande sera surtout concerné par la demande en BHCA (appels, transactions, etc.) et que les ressources associées seront surtout les processeurs de traitement, les liens de signalisation. Cependant, comme évoqué précédemment lors de la présentation des réseaux, il est tout aussi clair que les interactions entre ces différents niveaux sont nombreuses. Par exemple, le réseau de paquets sera concerné au niveau de ses liens à la fois par l’écoulement du trafic paquet usager et
52
Trafic et performances des réseaux de télécoms
aussi par le transport des paquets de signalisation (réseau NGN par exemple). De même, les processeurs de commande d’un réseau de parole sont concernés à la fois par l’établissement des appels et aussi par le nombre d’erlangs de conversation à taxer. Tout travail de dimensionnement et d’évaluation de performances nécessitera donc d’abord une caractérisation des trafics des différents plans, en erlangs et en taux de requêtes, puis une caractérisation précise des ressources associées à l’écoulement de ces différents trafics. 1.2.8. La caractérisation du trafic La détermination des ressources nécessaires au bon écoulement du trafic ne peut se faire que si les caractéristiques de ce même trafic sont définies, d’une part, en termes de services (types d’appels, caractéristiques de débit) et, d’autre part, en termes d’usage (pénétration chez les abonnés) et de répartition des flux sur les différentes branches du réseau. On est ainsi amené aux notions de caractérisation des services, puis à celles de mix de trafic et de matrice de trafic. Ces trois notions, très générales mais essentielles, s’appliquent tout aussi bien au trafic de données qu’au trafic de parole, de vidéo, etc., et aussi au niveau d’un nœud du réseau, comme à tout sous-ensemble plus vaste du réseau. 1.2.8.1. La caractérisation des services La grande variété des services désormais offerts par les réseaux, implique de facto une grande variété de besoins en ressources. D’autant plus que, comme nous l’avons vu précédemment avec la présentation des technologies de commutation, il y a recherche permanente de l’utilisation optimale des ressources par rapport aux besoins réels de chaque service. Dans les réseaux circuits traditionnels, la caractérisation d’un service tel que la téléphonie se résume à une loi d’arrivée des appels (Poisson en général), une durée d’appel (loi exponentielle de valeur moyenne de l’ordre de quelques minutes) et à un débit constant (64 kbit/s par exemple). Il en découle une évaluation aisée des ressources employées : ici, autant de canaux à 64 kbit/s que donnera l’application de la formule d’Erlang. Le même service de parole dans un réseau paquet va nécessiter de distinguer entre codage avec suppression des silences ou non, et ainsi entre flux de paquets (de longueur fixe), à débit variable (donc avec une loi des
Réseaux de télécommunications et trafic
53
temps inter-arrivées à définir) ou à débit constant. Si en outre nous considérons des services du type e-mail, ou plus généralement les services associés au Web, nous allons non seulement trouver des flux de débits variables mais aussi des paquets et des flots de paquets de longueurs très variables, avec des lois (longueur des paquets, temps d’arrivée des flots) à définir... Enfin, dans un environnement multimédia, l’abonné au cours d’un même appel initialise plusieurs sessions de caractéristiques différentes, en fonction de la nature des informations souhaitées (image, parole, fichiers...), un exemple très simple étant celui du netmeeting (conversation avec image des participants, tableau blanc et mise en commun de présentations du type powerpoint entre plusieurs sites). Ainsi donc, outre la notion d’appel, il nous faut introduire les notions de sessions, de flots et de paquets, avec leurs caractéristiques de lois de trafic associées. On représente classiquement cette caractérisation par le diagramme de la figure 1.19, où apparaissent différents niveaux : appel, session, flot et paquet. Appel Session
t t
Flot Paquet
t t
Figure 1.19. Les différents niveaux de flux d’un service
1.2.8.2. Le mix de trafic Les réseaux de télécommunications que nous étudions, comme vu précédemment, supportent non seulement des services très variés mais aussi des catégories d’usagers de profils très différents. Ainsi nous distinguerons des usagers professionnels, des usagers résidentiels, des petites et des grosses entreprises. En fonction du niveau plus ou moins élevé d’équipement en technologies avancées du réseau local, dans la
54
Trafic et performances des réseaux de télécoms
zone géographique considérée, et de l’intérêt plus ou moins élevé des usagers pour ces technologies, ceux-ci feront un usage plus ou moins grand des différents services. On parlera alors de taux de pénétration et de taux d’utilisation des services. C’est à partir de ces caractéristiques que sera défini ce qu’on appelle un mix de trafic. On listera pour chaque catégorie d’usager le taux de pénétration et le taux d’activation de chaque type de services (appel téléphonique sur le réseau fixe ou mobile, session VoIP, vidéo, Web, sur le réseau paquet, etc.). Puis, en fonction du taux de pénétration et du taux d’utilisation de chacun de ces services, pour chacune des catégories d’usagers, et de la proportion d’usagers de chaque catégorie, on déterminera enfin le mix de trafic d’un « usager moyen ». On trouvera ainsi par exemple qu’un usager moyen a un trafic de 0,1 E de téléphonie mobile, 0,1 E de téléphonie sur IP et 0,2 E de Web, etc., avec un nombre d’appels ou de sessions associé. Une tâche essentielle sera aussi de caractériser chaque service, ou groupe de services, en termes d’utilisation des ressources réseaux : circuits, bande passante constante ou variable, et ce pour une relation bidirectionnelle ou non. On sera ainsi conduit par exemple à caractériser la « variabilité » des débits de certains services par leur débit crête, leur débit moyen, la variance, etc. et par des approches plus subtiles distinguant plusieurs niveaux (session, paquets...), pour traiter des problèmes de très grande variabilité tels que « l’autosimilarité ». Nous verrons dans cet ouvrage comment traiter ces aspects typiques, en particulier des réseaux paquets IP. Ces mix sont représentatifs d’une situation à un moment et dans un lieu donnés. Ce sont des références à toujours réactualiser en fonction des évolutions des réseaux et sur la base de l’observation. Il est clair que ces mix pourront différer, par exemple, notablement entre des pays aux réseaux de télécommunications plus ou moins développés, ou encore entre des pays plus ou moins industrialisés. Nous détaillerons des exemples dans des chapitres ultérieurs. 1.2.8.3. La matrice de trafic Un réseau de télécommunication est donc un ensemble structuré de nœuds et de liens permettant le transport des informations entre les usagers. Sa maîtrise du point de vue écoulement de trafic nécessite donc, outre la connaissance des mix de trafic, la connaissance de la
Réseaux de télécommunications et trafic
55
répartition des flux de trafic entre les différents directions, la connaissance des affinités de trafic entre les différentes origines et destinations. C’est le rôle de la matrice de trafic que de définir cette distribution des flux au niveau des nœuds comme au niveau global du réseau. 1.2.8.4. La matrice de niveau « nœud » Fondamentalement, un nœud de commutation du réseau reçoit du trafic et émet du trafic. Selon sa position dans le réseau, à la frontière ou au cœur du réseau, son rôle va être soit plutôt une fonction d’accès soit plutôt une fonction de transit. Un nœud d’accès donnera par exemple l’accès au reste du réseau pour un ensemble d’usagers : appels vers le réseau et appels venant du réseau. Il pourra aussi mettre en relation, localement, ces abonné entre eux. A cause de ces fonctions, on lui attache alors les notions de trafic départ, de trafic arrivée et de trafic local. Par contre, au cœur du réseau, le nœud de transit commutera du trafic entre des entrées et des sorties sans vraiment de notion de trafic ni local, ni arrivée, ni départ. On y attachera alors les seules notions de trafic entrant et de trafic sortant, ou encore plus globalement la notion de trafic de transit. A cet égard, il faut bien noter que ces notions de trafic entrant et sortant sont clairement attachées à la notion de demande d’établissement d’appel, selon que la demande va vers, ou vient du réseau, et non pas au sens de transmission de l’information en cours d’établissement ni en cours de communication. Comme nous l’avons déjà noté précédemment, c’est la caractérisation du service au niveau débit qui précisera le sens de transfert des informations en cours de communication (par exemple pour une relation unidirectionnelle ou bidirectionnelle). Ce point est d’autant plus important que les services de type IP impliquent bien souvent des débits très différents entre les sens dits « montant » (de l’abonné vers le réseau) et « descendant » (du réseau vers l’abonné), caractéristique prise en compte par la ligne ADSL. On conçoit aisément que les ressources engagées pour l’établissement d’un appel, et l’écoulement du trafic en cours de communication, ne soient pas les mêmes selon la nature locale, entrante ou sortante de l’appel (les analyses, le routage et les interfaces par exemple ne sont pas les mêmes). Toute évaluation des ressources nécessaires à
56
Trafic et performances des réseaux de télécoms
l’écoulement de ces trafics nécessitera donc une description détaillée sous forme de matrice. En outre, et en particulier lorsqu’on se place au niveau d’un nœud de raccordement d’usagers, des relations importantes existent entre ces différents flux et aussi entre flux en erlangs et en appels. Le vocabulaire devra être précis afin d’éviter toute confusion entre par exemple trafic abonné et trafic commuté. Pour illustrer ceci, la représentation synthétique et le vocabulaire de la figure 1.20 sont généralement adoptés. TAD TAA
TD
TS
TI
TT
TE
TA
TAD : trafic abonné de départ
TD
: trafic départ
TS
: trafic sortant
TAA : trafic abonné en arrivée
TA
: trafic arrivée
TE
: trafic entrant
TI
: trafic interne/local
TT
: trafic transit
Figure 1.20. Matrice de trafic d’un nœud
Les intensités de trafic correspondantes sont généralement exprimées en erlangs. On a les relations suivantes : Trafic abonné : Ta = TAD + TAA
(1-6)
c’est ce qui caractérise l’activité totale en Erlang des abonnés. Trafic réseau : Tr = TS + TE Trafic commuté par le nœud : Tcom = TD + TA + TI + TT c’est la charge que va devoir traiter le nœud :
(1-7)
Réseaux de télécommunications et trafic
Tcom =
Ta + Tr 2
57
(1-8)
Trafic commuté abonné : TD + TA + TI = TAD + TAA – TI, c’est ce qui caractérise le nombre d’appels abonnés à traiter. En effet, le trafic interne, dit aussi local, donne lieu à une seule communication entre deux abonnés ! On fera donc attention, en cas d’une part importante de trafic local, à évaluer correctement le nombre d’appels engendrés par les abonnés. En d’autres termes, pour une même valeur de trafic abonné en erlangs, le nombre d’appels à traiter au niveau du nœud sera d’autant plus faible que la part de trafic local est importante. Trafic commuté réseau : TD + TA + TT = TE + TS – TT, on a les mêmes caractéristiques qu’au niveau abonné. Un centre de pur transit n’a à traiter bien sûr que la moitié du total du trafic entrant et du trafic sortant. On pose aussi généralement : TI = l x Tcom, l est le pourcentage de trafic commuté donnant lieu à trafic local (interne) (1-9) TT = t x Tcom, t est le pourcentage de trafic commuté donnant lieu à trafic de transit (1-10) Des relations précédentes, on obtient aussi : Ta = Tr
1 + (l − t ) 1 − (l − t ) , ou Tr = Ta 1 − (l − t ) 1 + (l − t )
(1-11)
Relation de base qui exprime qu’à capacité de raccordement constante (nombre total de liens de raccordement des accès d’abonnés et de liens de raccordement au réseau), un nœud de commutation traitera d’autant plus d’abonnés qu’il y a moins de trafic réseau et plus de trafic local, et inversement. C’est pour cette raison que la capacité d’un nœud est souvent exprimée en capacité de trafic commuté, plutôt qu’en trafic abonné et réseau.
58
Trafic et performances des réseaux de télécoms
La séparation des plans commande et transport Les relations que nous venons de développer doivent être comprises comme s’appliquant indépendamment de la réalité physique, ou non, des connexions de transport dans le nœud considéré. Si traditionnellement dans le réseau téléphonique les notions d’appels (donc de charge en traitements) et d’erlangs sur les liens réseaux sont directement associées, il n’en est plus de même dans les réseaux de type NGN. C’est ainsi qu’un MGC pilotera plusieurs Media gateway (par exemple plusieurs Trunk Gateway), et donc traitera le trafic de commande (en appels/s) correspondant à une charge en erlangs sur des liens qui ne lui sont nullement raccordés. On voit ici très clairement l’impact de la séparation des plans commande et transport, caractéristique essentielle du NGN. Cela signifie concrètement que la construction de la matrice précédente du point de vue des flux de commande, ainsi d’ailleurs que l’établissement des mix de trafic, devront se faire à partir de l’étude d’une configuration plus vaste correspondant à un sous-ensemble du réseau. On devra considérer alors, comme pour l’étude globale d’un réseau, une matrice réseau. 1.2.8.5. La matrice de niveau « réseau » Dans un réseau, les nœuds sont raccordés par des liaisons qu’il faut dimensionner, évidemment en fonction du trafic qu’elles doivent écouler. On est ainsi conduit à définir une matrice de trafic, qui donne le volume du trafic échangé entre chaque paire de nœuds. En général, la matrice n’a aucune raison d’être symétrique (rappelons la distinction faite plus haut qui établit la symétrie en termes de trafics offerts et non d’occupation de circuits, de débits). La matrice de trafic, une fois obtenue, permettra de fixer les volumes de ressources à allouer à chaque liaison, et peut-être également à étudier les principes de l’acheminement des flux (si un flux de A vers B est trop faible, on pourra ne pas ouvrir de liaison A-B, mais faire transiter le flux correspondant vers un autre nœud C : cela conduit à modifier la matrice qui servira au dimensionnement, en faisant disparaître le flux A-B). En fait, la matrice de trafic correspond bien à la donnée des flux à écouler entre chaque paire de nœuds, que la liaison entre ceux-ci existe ou non.
Réseaux de télécommunications et trafic
59
En outre, comme on vient de le voir précédemment, une telle matrice, dans un réseau tel que le NGN, peut être aussi à la base de la construction de la matrice des flux de commande au niveau nœud. Schématiquement, la construction d’une matrice réseau consiste à transcrire l’organisation des flux d’un réseau réel de nœuds A, B, C, etc. tels que vus précédemment, en une matrice mathématiquement cohérente de la forme suivante : Vers A
B
..
i
j
Total sortant
A
xAA
xAB
..
..
..
SA
B
xBA
xBB
..
..
..
SB
..
..
..
..
..
..
..
i
..
..
..
xii
xij
Si
j
..
..
..
xji
xjj
Sj
Total entrant
EA
EB
..
Ei
Ej
T
De
Tableau 1.1. Matrice des flux de trafic
Chaque élément xij de la matrice donne la valeur des flux de trafic (en appels/s ou en erlangs, etc.) circulant du nœud i vers le nœud j. Les sommes, par lignes et par colonnes représentent le trafic sortant (S) du nœud i, ou entrant (E) au nœud j. La cohérence du total (T) doit bien sûr être assurée au niveau global du réseau. La valorisation des éléments de la matrice de trafic est en général une opération assez difficile. Dans le cas d’un réseau opérationnel, sur lequel toutes les mesures seraient possibles, on pourrait la construire expérimentalement au prix de campagnes élaborées (il faut, à la sortie de chaque nœud, discriminer les demandes et les classer en fonction des directions finales qu’elles demandent). Dans le cas d’un réseau non encore existant ou en phase de transformation, la situation est encore plus complexe. Il est par contre souvent possible d’obtenir une évaluation globale du trafic émis par un nœud du réseau – par
60
Trafic et performances des réseaux de télécoms
exemple, en estimant l’activité globale des utilisateurs qui y sont raccordés. On sera alors tenté de répartir ces trafics sur les différentes directions possibles. Diverses méthodes ont pu être mises en œuvre. Les modèles gravitaires postulent une affinité entre les nœuds en fonction de leurs distances respectives. C’est un modèle qui peut se justifier dans le cadre d’un réseau longue distance (international, par exemple), mais qui sera irréaliste dans le cadre d’un réseau urbain. On peut aussi définir a priori des coefficients d’affinité, au prorata desquels les flux se distribueraient. L’approche la plus simple consistera certainement à mettre en œuvre la méthode de Kruithof, qui répartit les flux entre les nœuds de manière à respecter les contraintes de trafic global sur chacun des trafics entrant et sortant de chaque commutateur. On présentera cette méthode au chapitre 9 dans le cadre de la prévision de la croissance d’un réseau, mais la méthode peut s’appliquer par exemple en partant d’une matrice initiale arbitraire.
CHAPITRE 2
Qualité de service et performance
Dans ce chapitre, nous abordons les notions fondamentales de qualité de service (QoS est l’abréviation du terme anglais Quality of Service), et de paramètres de performance des réseaux et équipements. Ces notions sont à la base du métier d’évaluation des performances en télécommunication. En effet, il s’agit pour un fournisseur de réseau d’offrir à l’usager, via un ensemble d’équipements, des services de communication avec un niveau de qualité correspondant aux attentes de ce dernier. Ces attentes de qualité sont exprimées au moyen de paramètres de qualité de service et de paramètres de performance des réseaux et des équipements, généralement spécifiés dans des normes internationales ou directement exprimés dans les appels d’offres faits aux fournisseurs de réseaux et d’équipements. C’est l’aptitude des matériels et architectures correspondantes à être conformes à ces paramètres que nous devrons évaluer grâce aux outils que nous présenterons dans les chapitres suivants. Pour présenter ces concepts et les paramètres correspondants, nous nous appuierons sur les normes, mais cependant sans s’y référer en détail car ce que nous voulons exprimer est de nature générique et se retrouve constamment appliqué, sous des formes qui évoluent certes, mais sans différence importante sur le fond, quel que soit le type de réseau et la technologie employée.
62
Trafic et performances des réseaux de télécoms
2.1. Les normes et les organismes de normalisation Dans tout le secteur des communications, les normes jouent un rôle fondamental. On parle de normes ou de standards, et ce dernier terme met bien l’accent sur l’intérêt de ces concepts : il s’agit de standardiser des interfaces, de sorte que des éléments de réseaux hétérogènes, développés par des constructeurs indépendants, puissent communiquer et s’interconnecter. Le terme de norme sera invoqué pour faire référence plutôt à ce niveau commun de qualité que le réseau fournira. Dans le secteur des télécommunications, plusieurs organismes travaillent à édicter ces règles d’interfonctionnement : – l’UIT (Union internationale des télécommunications, ITU en anglais, connue avant 1993 sous le nom de CCITT – Comité consultatif international des télécommunications). C’est une organisation mondiale dont le champ d’activité couvre tous les domaines des télécommunications (réseaux, services, images, etc.) ; – l’ETSI (European Telecommunications Standards Institute). Il s’agit d’un organisme européen qui agit en accord avec l’UIT pour en préciser les recommandations dans le cadre européen ; – l’IETF (Internet Engineering Task Force), organisme assez particulier du monde IP, qui accueille toutes les contributions pouvant aider au développement d’Internet. Les recommandations que l’IETF publie, appelées Requests for Comments (RFC), fonctionnent aujourd’hui comme des standards de fait (IP, TCP, SIP, etc.). On pourrait ajouter l’ISO (International Standards Organization), qui regroupe des institutions nationales de normalisation de nombreux pays, et dont le champ d’action est plus large que le secteur « télécommunications ». On peut aussi citer les différents forums, dont l’objectif est surtout d’agir en groupement d’acteurs intéressés au développement d’une technologie, mais amenés très souvent à éditer des standards venant compléter les normes officielles (ce fut le cas de l’ATM-Forum, du Frame Relay Forum, et d’autres aujourd’hui). Il existe également des organismes nationaux (l’AFNOR en France, T1 aux Etats-Unis). On donne dans la bibliographie les coordonnées des principales organisations.
Qualité de service et performance
63
2.2. Qualité de service (QoS) La notion de qualité de service dans le domaine des télécommunications est définie par la recommandation E800 de l’UIT en ces termes : « La qualité de service est le résultat collectif des facteurs de performance associés au service et qui déterminent le degré de satisfaction de l’utilisateur de ce service. » Il s’agit d’une définition très générale mais qui cependant traduit bien le fait que la qualité de service est une notion significative pour « l’utilisateur » (usager humain, ou service de niveau supérieur), et qu’elle dépend de très nombreux facteurs interdépendants et associés à différents constituants du réseau, comme présenté ci-après. Par la suite, on utilisera le terme consacré QoS (Quality of Service) pour désigner la qualité de service. Il est clair tout d’abord qu’un service ne peut être utilisé que s’il est fourni, et à cette fourniture doit être associée une description de la qualité offerte. Du point de vue du fournisseur, le concept de performance du réseau est un concept par lequel des caractéristiques réseau peuvent être définies, mesurées et contrôlées en vue d’atteindre un niveau de qualité de service donné. Il relève de la responsabilité des fournisseurs de réseau de combiner adéquatement différents paramètres de performance, de façon à atteindre à la fois leurs objectifs économiques et les objectifs de satisfaction de l’usager. Le degré de satisfaction perçu lors de la fourniture d’un service peut s’évaluer par la performance présentée dans les différents domaines suivants. Le qualité du support logistique. Il s’agit ici de la capacité d’une organisation à fournir le service dans des délais adéquats, à assurer la bonne gestion de ce service en termes de facturation par exemple, d’assistance à l’usager. Ceci est particulièrement opportun dans le cas des accès à Internet, de la gestion des abonnements (abonnement et résiliation) mais aussi dans le cas du mobile avec les multiples forfaits et modes de facturation. La facilité d’utilisation. Il s’agit de rendre aisée l’utilisation du service par l’usager, de lui éviter des erreurs de manipulation, de l’aider à « naviguer » aisément à travers toutes les possibilités des sites. On
64
Trafic et performances des réseaux de télécoms
voit encore l’intérêt immédiat d’une interface conviviale pour le terminal mobile avec ses multiples menus, mais aussi pour Internet et ses innombrables sites et offres de services. La sécurité. Il s’agit de protéger l’usager et le réseau contre des utilisations ou frauduleuses ou malveillantes des services offerts. L’exemple le plus simple est celui de la confidentialité des informations transportées, mais les protections apportées par les mots de passe aux comptes informatiques ou aux terminaux mobiles procèdent aussi de ce domaine. La protection des moyens de communication contre des événements catastrophiques tels que les tremblements de terre ou toute autre destruction est aussi un élément fondamental de la sécurité. Sa mesure cependant se fera surtout dans le domaine suivant. La capacité d’utilisation du service. Il s’agit de la capacité du service à pouvoir être utilisé lorsque celui-ci est requis par l’usager, c’est-àdire d’une part la capacité à pouvoir l’obtenir puis, une fois obtenu, la capacité à continuer à fournir le service pendant la durée requise. Un exemple un peu caricatural mais explicite de cette performance est celui du voyage en avion : il s’agit d’abord d’obtenir un billet et de partir à l’heure, puis bien sûr de voyager sans incident jusqu’à destination. Le parallèle avec les services de télécommunication est immédiat, par exemple pour un appel téléphonique mobile ou fixe, il faut d’abord obtenir le réseau puis le destinataire et enfin ne pas être coupé pendant la communication. De même pour le Web, il faut d’abord accéder à son fournisseur et au serveur puis pouvoir ou transférer un fichier sans perte d’information, ou communiquer en audio ou vidéo sans problème notable de qualité. De manière générale, on parlera pour ces deux aspects d’accessibilité et de continuité du service, et ce sont eux que nous allons maintenant traiter en détail via les paramètres de performance des réseaux. 2.3. Performance des réseaux La performance des réseaux est mesurée en termes de paramètres qui sont significatifs du point de vue des fournisseurs de réseaux et de services, et qui sont utilisés pour la conception des systèmes, la configuration des équipements, le dimensionnement du réseau, la
Qualité de service et performance
65
maintenance, etc. de manière à obtenir la satisfaction et du fournisseur et de l’usager. L’usager moyen ne s’intéresse pas à la façon dont un service particulier est assuré, ni aux problèmes de conception interne des systèmes. Par contre, comme nous l’avons vu, il est intéressé par un certain nombre de paramètres traduisant sa perception de la qualité du service. Ces paramètres intéressant l’usager ne peuvent cependant pas être utilisés directement pour établir les spécifications de qualité pour les réseaux. Il faut donc aussi définir une qualité réseau exprimée de façon qualitative et quantitative de manière à donner au fournisseur des informations sur : – les performances exigées des systèmes, – la planification des réseaux, le dimensionnement des équipements, – l’exploitation et la maintenance. A cet effet, et en relation avec les critères de perception de l’usager, un certain nombre de paramètres de performance réseau ont été définis. L’approche suivie consiste, de manière logique, à tout d’abord définir des paramètres globaux, appelés aussi paramètres de performance de bout en bout, puis des paramètres au niveau de chaque segment, élément du réseau, que nous qualifierons de paramètres intermédiaires. 2.3.1. Paramètres de bout en bout (globaux) et paramètres intermédiaires Le principe est le suivant. Les paramètres globaux traduisent au plus près de l’usager la perception globale qu’il a de la performance du réseau indépendamment de la constitution exacte de celui-ci, alors que les paramètres intermédiaires assurent que la contribution individuelle de la performance de chaque élément du réseau permettra d’atteindre l’objectif global de performance. Les diagrammes de principe suivants résument cette approche. 2.3.1.1. Réseau de référence Ce diagramme représente une configuration réseau type, supportant une communication entre deux usagers. Le nombre de nœuds
66
Trafic et performances des réseaux de télécoms
intermédiaires peut être quelconque, en fonction de la position respective des deux usagers et de la taille du ou des réseaux traversés. La nature des nœuds est elle aussi quelconque : Gateways (GW), centre de commutation, routeurs... Section nationale
Usager
Section internationale
Section nationale
Accès
Accès
Usager
Figure 2.1. Configuration réseau de référence
Des paramètres globaux de performance tels que des temps d’établissement d’une connexion, des temps de traversée de l’information seront définis d’usager à usager. En outre, des paramètres seront aussi spécifiés pour chaque élément, de manière à définir leur contribution respective, on parlera aussi de budget alloué aux portions du réseau. Les figures suivantes explicitent ce concept. 2.3.1.2. Etablissement de communication de référence Ce premier diagramme présente le principe des échanges d’informations (en horizontale) entre une demande initiale et la confirmation de la bonne exécution de la demande, et les durées de traitement correspondantes (en vertical), nécessaires pour établir de manière générale une communication à travers le réseau de référence. La nature exacte et le nombre d’informations échangées dépendent bien sûr des technologies et des protocoles employés (circuit, paquet), et peuvent atteindre une complexité importante comme par exemple dans le cas de communications entre abonnés mobiles et des réseaux intelligents. Mais le principe conduisant à la définition des paramètres de performance reste le même.
Qualité de service et performance accès
Usager demandeur
Réseau national
Réseau Réseau international national
accès
67
Usager demandé
Demande de communication Temps de traitement et de transmission
Communication établie
Figure 2.2. Phase d’établissement
2.3.1.3. Communication, échange d’informations usagers La communication étant établie les usagers vont échanger les informations « utiles », dites informations de niveau usager : échantillons de parole, données, images, fichiers, etc. Usager demandeur
accès
Réseau
Réseau
Réseau
national
international
national
accès
Usager demandé Temps de transmission
Echange d’informations de niveau usager (n fois)
Temps de « réaction » Temps de transmission
Figure 2.3. Phase de communication
2.3.1.4. Désengagement Enfin, va s’effectuer la phase dite de rupture de communication, dite aussi de désengagement ou encore libération. Elle s’effectue de manière semblable à celle d’établissement (voir la figure 2.4).
68
Trafic et performances des réseaux de télécoms Usager demandeur
accès
Réseau national
Réseau international
Réseau national
accès
Usager demandé
Demande de désengagement Temps de Traitement et de transmission
Désengagement confirmé
Figure 2.4. Phase de désengagement
Il est clair à partir de ces diagrammes que les exigences de bout en bout dépendront dans une certaine mesure de la configuration réseau, le nombre de nœuds traversés étant différent. C’est ainsi que l’on aura des performances pour des communications locales, nationales, internationales. Ces performances devront cependant rester compatibles avec la bonne perception du service par l’usager. Des délais par exemple ne pourront excéder une valeur maximale. Par contre, il sera possible de définir des performances par nœud réseau indépendantes de la configuration globale. C’est ainsi qu’ont été définis des paramètres de performance au niveau nœud, au niveau lien, au niveau point de signalisation, etc. 2.3.2. Paramètres en phase d’accès (ou de désengagement) et de transfert Des diagrammes précédents se dégagent aussi deux autres notions : celles d’établissement ou rupture de connexion et celle de communication établie. On parlera plus généralement de phase d’accès (ou de désengagement) et de phase de transfert. Deux grandes familles de paramètres de performance sont définies selon ces deux notions. Il y a deux raisons majeures pour distinguer ces deux familles de paramètres, l’aspect service et l’aspect support. L’aspect service a déjà été présenté en introduction à ce chapitre. Il s’agit d’abord d’accéder au réseau et à l’usager ou fournisseur de service destinataire de la demande, et ceci dans des délais raisonnables. Ceci correspond pour un service avec connexion à l’établissement de la connexion,
Qualité de service et performance
69
mais ce peut être aussi la phase d’accès à une gateway, ou à son fournisseur de service… Puis, la communication étant établie, le transfert des informations entre les deux (ou plus) usagers devra s’effectuer avec une qualité suffisante pour garantir sa bonne exploitation (intégrité sémantique, spatiale, temporelle, etc.). Mais il y a aussi que le support physique utilisé pour chacune de ces phases peut être différent. C’est bien sûr le cas lorsqu’il y a séparation des réseaux de commande et de transport. De manière très simple, comme présenté au chapitre 1, on a déjà en téléphonie une séparation claire entre le réseau de signalisation n° 7 avec ses points sémaphores, qui sert à l’établissement et la rupture des communications, et le réseau transport de la parole avec ses liaisons et ses centres de commutation à 64 kbit/s. Cette séparation est encore plus distincte avec le concept de NGN (Next generation Network). D’autres aspects liés à des notions comme des notions de durée différentes des phases plaident aussi en faveur de cette distinction. Ainsi, la durée d’établissement d’un appel, ou d’ouverture d’une session sera bien plus courte que la durée de l’appel ou de la session elle-même. Enfin, c’est fortement en relation avec ces deux phases que l’on parlera de trafic dans le plan de commande (établissement et rupture) et de trafic dans le plan usager (information « utile » de niveau utilisateur). Même s’il faut apporter des nuances dans l’interprétation détaillée de ces concepts en fonction du type de réseau et de la technologie employée, leur usage reste indispensable par l’aspect générique qu’ils présentent. 2.3.3. La valorisation des paramètres Pour caractériser le niveau de performance attendu, des valeurs seront recommandées pour les différents paramètres. Il est clair que, par exemple, un temps de réponse ou un temps de transfert ne pourra pas être caractérisé par une seule valeur, ce qui serait trop simpliste puisque par essence dans le domaine du trafic il s’agit de variables aléatoires. En effet, dans le cas de service à forte contrainte temps
70
Trafic et performances des réseaux de télécoms
réel, il importe de garantir à la fois des valeurs maximales et des valeurs normales. Par ailleurs, il serait complexe et bien sûr irréaliste de vouloir spécifier en détail une loi de distribution. Enfin, ajoutons que, comme traité ci-après, les conditions de trafic, d’environnement en règle générale, ne sont pas les mêmes à tout moment de l’année, de la journée, voire même de l’heure. A cet effet, on spécifie généralement quatre valeurs : deux valeurs de charge (charge normale et charge élevée) et pour chacune de ces conditions de charge, une valeur moyenne et un quantile du paramètre de performance. Nous serons donc amenés dans nos évaluations de performance, non seulement à évaluer des valeurs moyennes, mais aussi des distributions ou tout au moins les différents moments de ces distributions. C’est dans ce contexte que nous verrons toute l’importance des méthodes d’évaluation des moments des fonctions de variables aléatoires, de somme de variables aléatoires et des méthodes d’approximation associées. On retiendra simplement ici que la performance sera caractérisée par une valeur moyenne et un quantile, souvent la valeur à 95 % (c’est-à-dire que par exemple un délai devra rester inférieur à une certaine valeur dans 95 % des cas), et ceci à différents niveaux de charge que nous allons maintenant présenter. 2.4. Les différents niveaux de trafic offert Un réseau de télécommunication est par essence soumis à des conditions de trafic variables, comme présenté dans le chapitre précédent. Non seulement le trafic varie aux différentes heures de la journée mais il varie également en fonction de dates ou d’événements particuliers, et de la nature du trafic considéré. On distinguera cependant trois grandes conditions d’environnement en trafic : les conditions normales qui correspondent aux conditions de trafic de tous les jours, mais avec aussi des jours plus chargés (jours de fin d’année par exemple), et enfin les conditions exceptionnelles qui correspondent à des événements totalement imprévisibles (catastrophes par exemple). C’est afin de tenir compte de ces différentes situations et pour y associer des exigences de performance différentes qu’ont été définies les notions de charges dites normale (ou charge A), haute (ou charge B) et de surcharge (ou exceptionnelle). Il faut noter que ces principes
Qualité de service et performance
71
s’appliquent à tous les types de trafic, que ce soit du trafic de signalisation, ou du trafic de niveau usager et quelle que soit la technologie utilisée. Les états de charge pouvant en outre être différents à un même moment pour les différents types de trafic. Par ailleurs, les situations peuvent différer, bien évidemment, d’un pays à l’autre et d’une partie du réseau à une autre. C’est l’observation du trafic dans les réseaux qui permettra de définir les niveaux de charge pour les différents éléments de ces réseaux. Enfin, les caractéristiques de trafic évoluant en permanence, soit du fait de l’évolution du nombre d’usagers, de leur activité, soit à cause de l’évolution des services et des technologies (par exemple, abonné mobile versus abonné fixe, technologie IP versus technologie circuit), il sera nécessaire de réévaluer régulièrement les volumes et la nature des trafics offerts. Comme évoqué dans le premier chapitre, ces volumes seront mesurés durant des périodes pendant lesquelles le trafic est dit stationnaire (voir aussi chapitre 7). Cela signifie concrètement que, sur de telles périodes, il sera possible de caractériser le processus réel d’arrivée du trafic par un modèle stationnaire donné avec sa moyenne, sa variance, etc. comme par exemple une loi de Poisson. Notons que ce modèle reste particulièrement bien adapté à tous les types de trafic. En effet, d’une part il traduit de manière évidente le comportement naturel des usagers qui expriment leurs demandes d’appels, de sessions, de manière aléatoire et indépendante, et d’autre part ainsi que nous le détaillerons dans la partie caractérisation du trafic IP, il induit des propriétés importantes pour la caractérisation des trafics subséquents aux niveaux flots et paquets. 2.4.1. Charge normale, charge A Ce niveau de charge, dite normale, correspond aux conditions les plus fréquentes d’occupation du réseau, pour lesquelles le niveau normal de qualité de service attendu par l’usager doit être atteint. Dans ses recommandations relatives à l’exploitation du réseau (voir Rec.E.500) l’UIT préconise d’effectuer des mesures sur des durées d’un mois, pour avoir un échantillon significatif (voir le chapitre 5) et pour tenir compte des variations saisonnières. Ayant classé l’ensemble des mesures journalières obtenues en fonction de l’intensité de trafic
72
Trafic et performances des réseaux de télécoms
offert, on choisira la valeur de la quatrième période (heure par exemple) de mesure la plus élevée. Les jours particuliers tels que les jours de fêtes de fin d’année, etc. sont exclus. Puis l’on retiendra parmi ces valeurs mensuelles, la valeur la plus élevée des douze mois de l’année (ou éventuellement la seconde si la dispersion n’est pas trop grande d’un mois à l’autre). Ce sera la charge normale de référence pour le dimensionnement. En fait, ce qui est important, ce n’est pas tant la valeur absolue que l’esprit de la norme qui consiste à différencier une situation normale d’une situation plus rare. C’est en réalité un problème d’optimisation du nombre d’équipements, on ne souhaite pas dimensionner toujours pour le pire cas. Ainsi, dans cette optique, des exploitants peuvent admettre de ne pouvoir écouler « que » la charge A en situation dite dégradée (matériel partiellement et momentanément en panne). Cet esprit est repris dans les recommandations de l’UIT (voir Rec. Q.543) ou dans les cahiers des charges des opérateurs qui traitent des équipements, avec la notion de charge A ainsi définie : la charge A représente la limite supérieure de la charge moyenne normale de travail que les fournisseurs de réseau souhaitent assurer pour leurs usagers, la charge B représentant un niveau plus élevé que le niveau d’activité normale prévue. Il s’agit bien de situations relatives. Ceci nous amène à préciser maintenant les notions de charge élevée et de charge B. 2.4.2. Charge élevée, charge B Ce niveau de charge correspond à des situations peu fréquentes d’occupation du réseau, pour lesquelles le niveau normal de qualité de service attendu par l’usager ne sera pas nécessairement atteint, mais cependant suffisamment élevé pour éviter une perception très négative par l’usager. Dans la recommandation E.500, il est préconisé de retenir, toujours sur des durées d’observation d’un mois, la deuxième période ayant la mesure la plus élevée. Puis, comme pour la détermination de la charge normale, on retiendra parmi les valeurs de charge élevée mensuelles la valeur la plus élevée des douze mois de l’année (ou éventuellement la seconde, si la dispersion n’est pas trop grande d’un mois à l’autre), pour obtenir la charge élevée de référence.
Qualité de service et performance
73
La recommandation Q 543 stipule simplement que le niveau de charge B représente un niveau plus élevé que les niveaux d’activité normaux prévus. On retiendra surtout les ordres de grandeur proposés : la charge de référence B en intensité d’appels correspond à environ 1,2 fois la valeur correspondant à la charge de référence A en arrivée et 1,4 fois en départ, donc de l’ordre de 1,3 en moyenne ; la charge de référence B en Erlang correspond à environ 1,25 fois la valeur de la charge A de référence. Ces valeurs sont données ici à titre indicatif car le développement de nouveaux services peut les modifier de manière significative. Cependant, elles mettent clairement en évidence la nécessité de distinguer les différents flux de trafic, départ et arrivée. En effet, en période très chargée, il y aura un nombre non négligeable de tentatives d’appels qui échoueront et ne créeront que peu de trafic de niveau usager (des erlangs en fait) dans le réseau. De même, dans notre travail d’évaluation des performances, il nous faudra tenir compte de conditions de trafic différentes dans les différents domaines : signalisation, commande, transport, etc. En pratique, ceci nous contraindra à déterminer les conditions les plus sévères pour chaque domaine. A cet égard, il est intéressant de considérer les ordres de grandeur donnés dans Q.543 pour les niveaux de qualité de service attendus respectivement en charge A et en charge B : des probabilités de rejet d’appels de l’ordre de 10–3 en charge A passent à environ 10–2 en charge B ; des délais d’établissement à l’accès de l’ordre de 600 ms en charge A passent à environ 800 ms en charge B. Ces valeurs sont données ici à titre indicatif mais il est très vraisemblable que les ordres de grandeur resteront les mêmes quels que soient les services et les technologies car ils correspondent à une perception fondamentale de l’usager. Nous reviendrons à la fin de ce chapitre sur cet aspect en résumant les principales valeurs spécifiées actuellement dans les normes. Pour l’instant, notons surtout le fait que les valeurs de charge B ne sont pas si « relâchées » que cela par rapport à celles de charge A. Le lecteur pourra en effet ultérieurement vérifier par application de la théorie des files d’attente sur un simple serveur (M/M/1 par exemple) que le rapport de 1,5 des délais T correspond à un rapport des charges ρ du serveur de la forme
74
Trafic et performances des réseaux de télécoms
TB 1 − ρ A . Ainsi pour ρ A = 0,7 , on trouve ρ B = 0,8 soit une charge = TA 1 − ρ B B correspondant à environ 1,15 fois la charge A. Il est clair dans ces conditions que les objectifs de performance définis pour la charge B seront les plus contraignants pour la conception et le dimensionnement des systèmes, assez logiquement d’ailleurs. Ceci est très généralement vérifié, mais il faudra cependant à chaque fois vérifier le respect de toutes les conditions car les modèles des systèmes obéissent rarement à des types de services aussi simples que celui de la file M/M/1.
Enfin, il est nécessaire de rappeler que la charge élevée est une notion à considérer avec précaution à un niveau global réseau, car les périodes de charge élevée ne sont pas forcément les mêmes sur les différentes portions du réseau. Ainsi, certains groupes de normalisation n’ont-ils spécifiés des objectifs globaux que pour le seul niveau de charge normale. Par contre, les deux niveaux de charges sont généralement pris en compte au niveau local (voir paragraphe 2.5.4). 2.4.3. Surcharge On aborde ici des situations qu’on peut qualifier d’exceptionnelles. Fondamentalement, elles se caractérisent par un niveau de trafic offert largement supérieur à la capacité installée des équipements du réseau. On pourra cependant y distinguer deux principaux types : d’une part les événements prévisibles tels que par exemple toutes les fêtes et tous les événements programmés (fêtes religieuses ou sociales, jeux télévisés, etc.), et d’autre part les événements totalement imprévus tels que accidents ou catastrophes, etc. Dans les premiers cas l’augmentation du trafic offert pourrait à la rigueur être prévisible (grâce à l’expérience et à l’observation de situations passées). Mais les conséquences sur le dimensionnement et les investissements risquant d’être très coûteuses, on préférera se contenter de mesures limitées et d’écouler le trafic avec un certain délai. Notons à ce sujet que du fait des phénomènes de renouvellement (l’usager dont les demandes échouent à l’accès ou dans le réseau renouvelle ses demandes un grand nombre de fois), on pourra
Qualité de service et performance
75
constater des augmentations très importantes du trafic offert en tentatives d’appels, alors qu’un léger surdimensionnement aurait peut-être pu éviter cet effet d’avalanche. Il sera donc toujours très important d’essayer d’évaluer le trafic dit « frais » (hors renouvellement), dans ces circonstances particulières. Nous reviendrons plusieurs fois sur ce phénomène d’avalanche vraiment caractéristique des surcharges et donnerons dans d’autre chapitres des modèles de performance prenant en compte le renouvellement. Dans le cas d’événements totalement imprévisibles (catastrophes, etc. ), il est impossible de prévoir un quelconque surdimensionnement. Non seulement le volume de trafic ne peut être prévu, mais aussi la partie de réseau concernée est totalement imprévue, par opposition par exemple à un jeu télévisé. A ceci se rajoute encore le phénomène d’impatience et de renouvellement qui va augmenter de manière considérable le trafic offert aux directions, destinations réseau concernées. Dans ces deux cas exceptionnels se pose le problème des performances du réseau et de ses équipements. La question de base est tout d’abord de savoir s’il y a un problème dans le réseau si des appels en trop échouent ? Il y a malheureusement un problème parce que, en cas d’encombrement de certaines ressources, ce sont tous les appels qui peuvent échouer. Prenons par exemple le cas simple d’appels qui utilisent des ressources réseaux (circuits, canaux de signalisation, bande passante de liens IP...) et qui échouent sur encombrement à l’arrivée (cas d’une catastrophe par exemple où tout le monde veut appeler une destination donnée). Il est évident que les ressources intermédiaires ont été utilisées inutilement, empêchant ainsi tout autre trafic de passer. Et ce peut être pire encore dans un monde IP s’il n’y avait pas de contrôle d’acceptation d’appel : les autres communications en cours seront toutes perturbées par la congestion au niveau paquets. De manière semblable, et c’est un problème fondamental, un processeur de traitement (appel, paquet, etc.) qui passe son temps à effectuer des traitements pour des appels qui échouent ou qu’il doit rejeter, finit par ne plus avoir de temps libre pour traiter un seul appel correctement (imaginons un médecin qui ausculterait tout en répondant au téléphone pour refuser d’autres clients). Il faut là aussi des règles d’acceptation. C’est le propos du contrôle des surcharges ou régulation.
76
Trafic et performances des réseaux de télécoms
Au premier abord, on serait tenté de dire qu’il suffit de refuser les demandes à partir d’un certain seuil. Ce sera en effet la stratégie de base, mais encore faut-il que ce refus, on dit aussi rejet, se fasse au moindre coût, et en outre le problème se complique avec la nécessité de traiter en priorité certains types d’appels tels que les appels vers les numéros urgents (pompiers, police, etc.). Ces besoins ont été spécifiés d’une part dans des recommandations internationales, mais aussi d’autre part et surtout dans des spécifications propres aux différents opérateurs de réseaux. Nous présenterons plus loin le contenu de normes spécifiques telles que celles de l’UIT. Evoquons ici l’ensemble des exigences que l’on peut trouver. Essentiellement les objectifs en cas de surcharge exceptionnelle seront : – le système, ou le réseau ne doit pas s’écrouler. Ceci paraît trivial mais dans ces circonstances exceptionnelles les mécanismes de défense sont mis à rude épreuve et des erreurs résiduelles normalement inoffensives deviennent vite mortelles. A cet effet, nous développerons dans le chapitre 10 l’aspect test de ces mécanismes ; – le système ou réseau devrait continuer à écouler une quantité de trafic proche de la capacité pour laquelle il a été installé et équipé. Des valeurs sont spécifiées dans les normes comme nous le verrons plus loin. Cet objectif s’atteint en rejetant les appels en excès, à condition bien sûr de détecter rapidement la surcharge, mais est à mettre en balance avec l’objectif suivant : – les appels acceptés doivent l’être en donnant la priorité à certains types d’appels tels que les appels arrivée (car ils doivent aboutir et ont consommé déjà des ressources dans le réseau), les numéros urgents (pompier, police...), les lignes prioritaires, etc. Le problème est alors que la reconnaissance de l’appartenance ou non d’une nouvelle demande à l’une de ces catégories nécessite du traitement, pour dans la majorité de cas aboutir à la refuser. Certes une indication de priorité (ligne, circuit, appel, paquet prioritaire...) est très vite analysée mais l’analyse d’une numérotation est plus coûteuse. Même un coût très faible peut conduire à l’inefficacité totale du système car n’oublions pas le phénomène d’avalanche qui conduit couramment à des surcharges de 1 000 % ! Nous traiterons de ce problème dans nos
Qualité de service et performance
77
modèles. Nous retiendrons ici qu’il est certes nécessaire de reconnaître les demandes prioritaires mais que, si la surcharge persiste, il faudra à un certain moment rejeter indistinctement tous les types de demandes (ce sera un question de survie du système ou du réseau). Trafic écoulé
Comportement théorique idéal
Capacité d’ingénierie
Comportement réel attendu
100% Y%
Comportement inacceptable sans régulation 100%
X%
Trafic offert
Figure 2.5. Ecoulement du trafic en surcharge
La figure 2.5 résume assez bien le comportement possible du système ou du réseau, et complète le type de graphe que l’on peut trouver dans la norme de l’UIT, comme nous le verrons un peu plus loin. Il représente le trafic écoulé en fonction du trafic offert en tenant compte des différents niveaux de rejets dans la régulation. Nous développerons ultérieurement ce modèle. 2.5. Les paramètres et les normes L’ensemble des paramètres de performance que nous venons d’évoquer est traité dans plusieurs recommandations d’organismes de normalisation, déjà cités, comme l’UIT (Union internationale des télécommunications), l’ETSI (Institut européen de normalisation des télécommunication), ou le T1 (Organisme de normalisation des télécommunications pour les Etats-Unis), l’IETF (Internet Engineering Task Force)... Nous entamons ci-après une supervision générale de l’ensemble des principaux paramètres et normes relatifs au domaine de performances. Il n’est pas dans notre intention d’être exhaustif, cependant nous pensons utile d’essayer de parcourir les normes et paramètres les plus importants auxquels tout concepteur de système ou de réseau est
78
Trafic et performances des réseaux de télécoms
confronté. Il s’agit d’un monde complexe et mouvant, en perpétuelle évolution. Cependant, malgré la complexité et la diversité des organismes et des groupes travaillant pour la normalisation, on constate une certaine unicité de vue sur le fond et, encore une fois, la majorité des concepts reste valide d’un groupe à l’autre, d’une technologie à l’autre. Ainsi, les définitions et les références aux recommandations que nous allons donner restent des points d’entrée, à partir desquels il sera aisé de retrouver la dernière production sur le sujet d’intérêt particulier pour le lecteur. Dans cet esprit, dans nos références par la suite, nous nous référerons surtout à l’UIT, car celui-ci reste pour les télécommunications le lieu d’harmonisation par excellence, les principaux concepts y sont suffisamment traités et la tâche du lecteur, déjà difficile, sera grandement allégée. La présentation générale des paramètres de performance, tels qu’évoqués précédemment, fait en particulier l’objet des recommandations I.350 et E.430 de l’UIT. Concernant l’IP, la recommandation I.380 (ou Y.1540) définit aussi un certain nombre de paramètres de transfert. Dans ces recommandations, on trouve la représentation générale suivante sous forme matricielle, qui exprime la correspondance entre d’une part les aspects relatifs à l’accessibilité et la continuité du service vue de l’usager, et d’autre part la performance du réseau en termes performances en trafic et en sûreté de fonctionnement. Traficabilité Vitesse/délai
Sûreté de fonctionnement Intégrité
Accès Transfert désengagement Tableau 2.1. Paramètres de performance
Disponibilité/ fiabilité
Qualité de service et performance
79
On peut ainsi distinguer deux grandes catégories de paramètres de performance, ceux relatifs aux performances en trafic et ceux relatifs à la sûreté de fonctionnement du réseau et de ses équipements. 2.5.1. Performance en trafic On emploie aussi le terme de traficabilité. 2.5.1.1. Accès et désengagement Dans la phase dite d’accès, c’est surtout les paramètres de vitesse et de délai qui sont significatifs. En effet, la phase d’accès correspond de manière classique pour la téléphonie aux opérations de numérotation, d’établissement de la connexion, de sonnerie, etc., mais aussi pour les nouvelles générations de réseaux aux phases d’ouverture de session et à toute autre activité de mise en relation de deux usagers. De même, dans la phase dite de relâchement (ou désengagement), on spécifiera la vitesse des opérations correspondantes de libération des ressources. Ces opérations doivent être réalisées dans des délais raisonnables pour que l’usager ait une bonne perception de la fourniture du service. La vitesse à laquelle vont être effectuées ces opérations va dépendre essentiellement des capacités d’échanges de messagerie entre les éléments du réseau, et des durées d’exécution des programmes correspondant aux fonctions demandées par ces messages dans les éléments de contrôle du réseau. Que ce soit en mode circuit ou en mode paquet, nous mettons alors en jeu les performances de ce qui est appelé, comme dans les recommandations E.711,712 et 713 de l’UIT, le plan contrôle du réseau, par opposition au plan usager qui, lui, sera essentiellement attaché aux aspects transport de l’information. Le nombre de paramètres relatifs à cet aspect est très conséquent. Nous ne citons ci-après que les principaux qui sont spécifiés dans de multiples recommandations, standards, etc. Encore une fois, nous nous concentrons sur les aspects génériques. 2.5.1.1.1. Paramètres globaux, ou de bout en bout On définit d’abord des paramètres globaux relatifs au plus haut niveau, comme par exemple dans les recommandations I.352, ou E.431, E.721 (réseau fixe) et E.771 (réseau mobile) de l’UIT pour le
80
Trafic et performances des réseaux de télécoms
circuit, et dans I.354, X.135 et X.136 pour le paquet, mais aussi comme ceux en cours de définition pour l’IP à l’IUT dans les recommandations Y.1540 (ou I.380), et Y.1541. Ces paramètres de performance sont dits paramètres de performance de bout en bout car ils caractérisent des délais à respecter entre deux interfaces usagers ou extrémités de réseaux et sont ceux que perçoivent le mieux les usagers. On a ainsi les paramètres suivants. Temps d’établissement. C’est le temps compris entre la tentative d’appel ou d’ouverture de session et l’indication que la communication est établie (ou ne peut l’être). Les événements pris en référence pour évaluer les délais seront des occurrences de messages (message initial d’adresse, IAM, et message de réponse, ANM, par exemple) ou de paquets (Call Request packet, CR, et Call Connected packet, CC) (I.352, E.721, E.771). Temps de libération (relâchement) de la communication. C’est le temps compris entre l’émission par le terminal qui arrête la communication du signal de demande de libération et la réception par l’autre terminal de l’indication du réseau de cette demande. On retrouve des événements de référence semblables à ceux de l’établissement (messages Release et Disconnect, clear request packet, clear indication packet) (I. 352, E. 721, E. 771). Probabilité d’échec d’établissement. C’est le taux de demandes d’établissement de communication « bloquées », c’est-à-dire refusées par les mécanismes d’acceptation pour manque de ressources, ou temps de traitement excessifs (conduisant par exemple à abandon puis renouvellement par l’usager), ou perte de message, etc. (E.721, E.771). 2.5.1.1.2. Paramètres intermédiaires Puis sont définis des paramètres de niveau inférieur, plus proches des équipements constituant les réseaux : liens, nœuds, etc. La tenue par chaque élément du réseau des objectifs définis pour ces paramètres doit permettre le respect des objectifs définis pour les paramètres précédents. Pour comprendre la logique de définition de ces paramètres, nous allons en quelque sorte suivre le cheminement de l’appel à travers un
Qualité de service et performance
81
réseau. A cet effet, on se référera aux diagrammes précédents des figures 2.2 à 2.4. En partant de la gauche des diagrammes (usager demandeur), on va trouver ainsi successivement définis les principaux paramètres suivants. Temps d’établissement (ou de sélection) à l’accès. C’est le temps compris entre le moment où les informations requises pour déterminer la direction sortante sont disponibles, jusqu’au moment où l’information est retransmise au nœud suivant. Dans le cas classique de la téléphonie, l’information requise pour l’établissement d’une connexion sera la numérotation issue de l’abonné ou un message de signalisation n° 7 de nouvel appel comme l’IAM (message initial d’adresse). Des valeurs sont spécifiées dans des normes telles que les recommandations Q.543, E.721 de l’UIT. Temps de libération à l’accès. C’est le temps compris entre l’émission par le terminal qui arrête la communication du signal de demande de libération et la libération ou la réception par ce même terminal de l’indication locale du réseau confirmant la libération, et ainsi que le terminal puisse réinitialiser une nouvelle demande de communication. On retrouve des événements de référence semblables à ceux de l’établissement (clear request packet, clear confirmation). Des valeurs sont données dans des normes telles que les recommandations Q.543, E.721 de l’UIT. Temps de traversée d’un message d’ouverture de communication. C’est le temps nécessaire pour traiter et retransmettre un message d’ouverture dans un nœud intermédiaire. C’est typiquement le cas pour un centre de transit recevant un message initial d’adresse destinatrice (IAM). Le temps de traitement de ce message est bien plus important que pour le simple transfert d’un message subséquent, on parlera de message de traitement intensif. Des valeurs concernant ce paramètre sont spécifiées dans des recommandations relatives à la signalisation telles que Q.766 de l’UIT. Temps de transfert d’un message. Il s’agit cette fois de durées de transfert de messages sans traitement particulier associé, une simple fonction de routage est effectuée. Des valeurs sont aussi spécifiées
82
Trafic et performances des réseaux de télécoms
dans des recommandations telles que la recommandation Q.706 de l’UIT relative à la signalisation n° 7 et aux performances des points de transfert de signalisation. Des considérations semblables s’appliquent aux paquets. Le paramètre est alors le suivant. Temps de transfert de paquet. Il s’agit du même concept, c’est le délai nécessaire au bon transfert du paquet, qui peut être par exemple dans le cas d’une connexion virtuelle un paquet de type Call Request. Des valeurs sont spécifiées dans des recommandations telles que X.135. Des valeurs sont aussi spécifiées pour les paquets IP dans des recommandations telles que Y.1541. Délai d’émission d’indication d’arrivée d’appel. C’est l’intervalle de temps qui s’écoule entre l’instant où l’identification du demandé est disponible dans le nœud de terminaison et l’instant où le signal d’arrivée d’appel est envoyé au demandé. En téléphonie, ceci correspond dans le centre arrivée à la réception du numéro du demandé et à l’envoi de la sonnerie d’appel au terminal (fixe ou mobile), comme spécifié dans la recommandation Q.543 de l’UIT. Temps de traversée d’un message de réponse. C’est le temps nécessaire pour traiter et retransmettre un message de réponse au nœud suivant, il indique que la connexion a bien été établie et que le transfert des informations de niveau usager peut commencer. C’est typiquement le cas d’un message ANS (answer) pour un centre de transit. C’est en quelque sorte le symétrique du message d’ouverture. Il nécessite cependant moins de traitement et est alors qualifié de message simple (par opposition à intensif). Des valeurs sont aussi spécifiées dans la recommandation Q.766 de l’UIT. Temps de transfert de signalisation. C’est le temps que met un nœud de commutation pour transférer un message d’un système de signalisation à un autre. L’intervalle est le temps qui s’écoule entre le moment où le message est reçu en provenance d’un système de signalisation, et celui où le message correspondant est transmis à un autre système de signalisation. Des valeurs sont spécifiées dans des recommandations telles que la recommandation Q.543 de l’UIT.
Qualité de service et performance
83
Temps de transmission. C’est le temps nécessaire à la propagation du message, ou paquet, sur le support physique (il peut être terrestre, sous-marin, par câble coaxial ou par fibre optique ou aérien par satellite). C’est bien sûr une fonction de la distance parcourue par l’information. Des valeurs par unité de distance (en général le kilomètre) sont données dans des recommandations comme la recommandation G.114 de l’UIT. Taux de perte de message de signalisation. C’est le taux de messages de signalisations perdus pour cause interne (délai, erreur, défaillance) dans un nœud du réseau. Des valeurs sont spécifiées dans le contexte de la signalisation n° 7 dans la recommandation Q.706 de l’UIT. Taux de perte de paquet. C’est le même concept que le précédent appliqué au paquet. Des valeurs sont spécifiées pour les paquets IP dans la recommandation Y.1541. Probabilité d’échec d’établissement à un nœud. C’est le même paramètre que le paramètre global mais spécifié au niveau d’un nœud. C’est donc encore le taux de demandes d’établissement de communication « bloquées », c’est-à-dire refusées par les mécanismes d’acceptation pour cause de manque de ressources, ou de temps de traitement excessifs (conduisant par exemple à abandon puis renouvellement par l’usager), ou perte de message, etc. Des valeurs pour ce paramètre sont spécifiées dans des recommandations comme la recommandation Q.543. Délai d’authentification, délai d’obtention des informations de routage. Il s’agit de paramètres spécifiques à la téléphonie mobile. Le délai d’authentification spécifie le temps requis pour cette opération (accès éventuel à une base de donnée et traitement). Le délai d’obtention des informations de routage correspond au temps d’interrogation du HLR, plus, en cas de roaming, celui du VLR. Les valeurs à respecter pour ces paramètres sont données par la recommandation E.771. 2.5.1.2. Communication, transfert des informations usager Durant cette phase, on s’intéresse aux informations de niveau le plus haut échangées entre les usagers (échantillon de paroles, fichiers, images, etc.). Les exigences de performance sont surtout alors des
84
Trafic et performances des réseaux de télécoms
exigences d’intégrités sémantique et temporelle, c’est-à-dire relatives aux délais de transmission, de gigue, de perte d’information. 2.5.1.2.1. Paramètres de bout en bout Ces paramètres, comme pour l’établissement et la rupture d’une communication, tendent à définir une perception globale du service par l’usager. Les paramètres les plus importants du point de vue de l’écoulement du trafic sont d’abord relatifs aux temps de transferts de bout en bout, en rapport en particulier avec des objectifs d’interactivité entre les usagers, et sont aussi relatifs à la qualité du transfert de l’information en rapport avec des objectifs de continuité de la communication. Délai de transmission de bout en bout. Il s’agit du délai total de transfert de l’information dû aux équipements de commutation ou de routage, etc. mais aussi dû aux temps de codage, de paquétisation, et enfin de transmission. Ces délais ne doivent pas excéder certaines valeurs pour ne pas rendre impossible l’usage normal de l’information. C’est d’abord un problème d’interactivité. Par exemple, dans le cas de la parole un délai trop important gênera énormément les échanges entre les deux interlocuteurs (il suffit pour s’en convaincre de penser aux difficultés à converser lors de certaines communications longue distance). A cet égard et dans le contexte du VoIP (voix sur IP), des modèles ont été développés pour quantifier la perception de l’usager. On trouve ainsi le E model de la recommandation G.107 auquel est associé le MOS (Mean Opinion Score). Des valeurs pour ces paramètres sont données dans les recommandations G.114 et G.131 de l’UIT. Probabilité d’interruption du transfert d’information. Il s’agit ici de spécifier la probabilité d’occurrences de périodes brèves (moins de quelques secondes par exemple), pendant lesquelles le transfert des informations descend en dessous d’une certaine qualité (précisée par ailleurs, voir ci-après paramètres intermédiaires). Si ces périodes sont suffisamment brèves et rares, l’usager les percevra comme un dégradation du service acceptable. Au-delà, il s’agira de rupture prématurée de communication comme on le verra un peu plus loin. Des valeurs à respecter pour ces paramètres sont spécifiées dans des recommandations telles que la recommandation E.855 de l’UIT.
Qualité de service et performance
85
Probabilité d’échec de handover. C’est bien sûr un paramètre spécifique au mobile. Des valeurs à respecter pour ce paramètre sont données dans la recommandation E.771 de l’UIT. 2.5.1.2.2. Paramètres intermédiaires Les paramètres précédents concernaient la perception globale de l’usager. Les paramètres suivants concernent la façon de construire le réseau pour atteindre ces objectifs. Temps de transfert de paquet. C’est le délai nécessaire au bon transfert du paquet d’information. Des valeurs sont spécifiées dans des recommandations telles que X.135. Des valeurs sont aussi spécifiées pour les paquets IP dans des recommandations telles que Y.1541. Pour la technologie ATM les spécifications au niveau cellule sont données dans la recommandation I.356. Temps de transfert d’un échantillon de parole (Round Trip delay). Dans le cas important de la téléphonie, la recommandation Q.551 spécifie le temps de transfert d’un échantillon de parole à travers un commutateur et différentes configurations de réseau. Variation du délai de transfert de paquet. C’est la variation du temps de transmission de l’unité d’information à travers le réseau. Cet aspect est particulièrement sensible avec les nouvelles technologies. Les paquets relatifs à une même communication subissent des attentes différentes, ce qui apporte une gigue qui doit rester dans des limites raisonnables pour pouvoir respecter les contraintes de synchronisme associées à certains services temps réel. On comprend aisément que pour pouvoir par exemple respecter la fourniture d’un échantillon de parole G.711 toutes les 125 µs, des contraintes sur la variation du délai de transmission par paquet seront nécessaires : même si en sortie de réseau des zones tampons permettent de compenser les variations, leur taille doit rester limitée car ceci rajoute aussi du délai au temps de traversée total. Des valeurs sont spécifiées dans les mêmes recommandations Y.1541 et I.356. Probabilité de perte de transfert d’information. C’est le rapport entre le nombre total d’unités de transfert d’informations perdues ou audessus d’un certain niveau de dégradation, et le nombre total d’informations à transférer au cours de la communication. Il s’agit ici
86
Trafic et performances des réseaux de télécoms
de spécifier le respect de l’intégrité sémantique de l’information en cours de transfert. En effet, en cours de transfert, des erreurs de transmission peuvent se produire, des pertes de paquet peuvent arriver par débordement de files, mauvais routage, etc. Des valeurs sont spécifiées pour ce qui concerne les erreurs de transmission, taux et durée de secondes erronées par exemple, dans les recommandations G.821 et G.826 de l’UIT. Concernant les pertes de paquets ou cellules, on se référera encore par exemple à Y.1541 et I.356. 2.5.2. Performance en sûreté de fonctionnement A l’accès, les paramètres de performance sont relatifs à la probabilité pour l’usager d’accéder au réseau du fait de la disponibilité des équipements. En phase de communication, ces mêmes paramètres traduisent la possibilité d’user du service pendant la durée voulue, du fait de la disponibilité des équipements pendant cette durée. Les notions de fiabilité et de disponibilité seront développées de manière mathématique dans le chapitre 6. Précisons simplement ici que la fiabilité traduit la probabilité de bon fonctionnement d’un équipement ou ensemble d’équipements pendant une durée T, et la disponibilité traduit pour ces mêmes équipements la probabilité d’être à un instant quelconque dans un état de bon fonctionnement. 2.5.2.1. Accès 2.5.2.1.1. Paramètres globaux Probabilité d’accès au réseau (accessibilité réseau). C’est la probabilité que le réseau réponde avec succès à une demande d’établissement de communication, dans le respect des exigences de performance en termes de délais, de blocage, telles qu’exprimées dans les paragraphes précédents. Cette notion couvre à la fois les aspects écoulement de trafic et les aspects fiabilité, disponibilité des équipements. La probabilité d’échec est le résultat global de ces différents facteurs. Des durées de temps de réponse inacceptables, audelà desquelles le réseau est considéré comme indisponible, sont donc spécifiées (généralement très longues, supérieures à la dizaine de secondes). Des valeurs pour ce type de paramètre sont spécifiées en termes d’accessibilité moyenne (voir Rec. E.845) et en termes de distribution ou accessibilité à court terme (voir Rec. E.846). Le
Qualité de service et performance
87
concept développé dans E.846 est un peu plus complexe mais présente l’intérêt de définir une probabilité variable en fonction du degré d’inaccessibilité. En effet, dans un réseau, il peut y avoir des dégradations plus ou moins importantes et plus ou moins longues. Plus la perturbation sera sévère, plus la probabilité de l’événement devra être faible (on acceptera plus facilement des indisponibilités très brèves). Bien souvent, on se contentera de distinguer deux situations : si la durée de la période d’inaccessibilité est relativement faible (quelques dizaines de secondes), cette période ne sera pas comptée dans l’indisponibilité, seules seront comptées les périodes plus longues pour le calcul de l’indisponibilité et de l’accessibilité moyenne. Disponibilité d’un itinéraire de bout en bout. C’est la disponibilité de l’ensemble des supports de transmission nécessaires pour établir une communication entre deux usagers. Plus concrètement, c’est la proportion de temps sur une période donnée (de l’ordre de l’année par exemple) pendant laquelle l’ensemble des éléments constituant le chemins sont en état de bon fonctionnement. Des valeurs pour ce paramètre sont spécifiées dans des recommandations comme la recommandation G.827, G.827.1, et des critères de disponibilité pour les services IP sont définis dans la recommandation I.380 (ou Y.1540) de l’UIT. On y définit aussi le paramètre suivant. Temps moyen entre défaillances de l’itinéraire. Ce paramètre vient bien sûr en complément de l’autre, pour traduire notamment la fréquence admissible des interruptions et la charge de maintenance. 2.5.2.1.2. Paramètres intermédiaires On retrouve, comme pour les performances en trafic des paramètres relatifs à des segments, des nœuds du réseau. Disponibilité d’un équipement d’accès. Il s’agit du même concept que pour l’itinéraire. C’est la proportion de temps pendant laquelle l’équipement d’accès est en état de fournir le service demandé. Du fait des ordres de grandeur (valeurs de disponibilité très proches de 1), on spécifiera plutôt la valeur de son complément, l’indisponibilité. En outre sont spécifiés des objectifs différents pour l’indisponibilité affectant un usager et un seul, et pour celle affectant un groupe d’usagers. Des valeurs sont données dans des recommandations telles
88
Trafic et performances des réseaux de télécoms
que la recommandation Q.541 de l’UIT. Ce type de paramètre avec ceux concernant les temps d’établissement est parmi les plus importants pour la conception des systèmes. Car il conditionne la fiabilité des équipements les plus proches de l’usager, donc en plus grand nombre, et la nécessité ou non de mettre en œuvre des redondances qui se font plus naturellement au niveau réseau par la multiplicité des itinéraires. Disponibilité d’un segment d’itinéraire. Il s’agit de la part de l’objectif global vu précédemment, ou budget, affectée aux différentes portions nationales, internationales. Les recommandations G.827, G.827.1 et I.380 donnent des valeurs à respecter. Temps moyen entre défaillances. Comme au niveau réseau, il s’agit de minimiser le nombre de défaillances et donc la charge de maintenance. Cependant, comme ces contraintes ne dépendent que de chaque opérateur, elles ne sont pas spécifiées dans les normes internationales. Mais on les trouve exprimées dans les appels d’offres pour les équipementiers. Nous donnerons des exemples dans le chapitre 10. Durées d’interventions. Là aussi, il s’agit de contraintes spécifiques aux opérateurs et donc non détaillées dans des recommandations internationales. Nous verrons cependant dans les chapitres 6 et 10 l’importance fondamentale de ces paramètres pour le respect des objectifs de disponibilité. Il est en effet évident que les contraintes sont très différentes selon que l’exploitant s’autorise des délais d’intervention pour remplacement des équipements en panne, de la durée du week-end ou de seulement quelques heures. 2.5.2.2. Transfert et désengagement Nous associons ici les deux phases car en pratique, une fois la communication établie, la seule contrainte du point de vue de la sûreté de fonctionnement est qu’elle se déroule bien jusqu’à sa fin au moment décidé par l’usager. Les paramètres concernés, traitant donc de ce qui est aussi appelé la continuité du service, sont effectivement des paramètres de fiabilité, telle que définie un peu plus haut.
Qualité de service et performance
89
2.5.2.2.1. Performance globale Probabilité de libération prématurée. C’est la probabilité qu’un mauvais fonctionnement d’un ou plusieurs élément(s) quelconque(s) du réseau entraîne un arrêt prématuré de la communication en cours, c’est-à-dire un arrêt non souhaité par les usagers impliqués dans la communication. Des valeurs sont définies dans des recommandations telles que la recommandation E.850 de l’UIT. 2.5.2.2.2. Paramètres intermédiaires Probabilité de libération prématurée. C’est le même concept que précédemment mais appliqué à un équipement, un segment du réseau. Des valeurs pour les segments nationaux et internationaux sont recommandées dans la recommandation E.580. Pour les équipements d’accès, on se référera à la recommandation Q.543. 2.5.3. Performance en surcharge Ces paramètres n’apparaissent pas de manière explicite dans la matrice 3X3 de I.350, ni dans les recommandations de la série E. En effet, il ne s’agit plus ni d’indisponibilité des équipements, ni de performances à charge normale ou élevée, mais d’écoulement du trafic lorsque le réseau ou certains de ses équipements sont soumis à de très fortes surcharges, c’est-à-dire en cas de jeux, de catastrophe, etc. Les performances requises dans ces circonstances exceptionnelles nécessitent une attention particulière et sont décrites ci-après. Pour ce faire, nous nous appuyons sur le chapitre de la recommandation Q.543 dédié à ce sujet, au niveau des équipements mais dont les principes restent valables au niveau global d’un réseau (nous en donnerons des exemples d’application dans le chapitre 9). Capacité de traitement en surcharge. C’est le trafic que peut écouler un réseau ou un nœud du réseau (commutateur, routeur, call server, serveur, gateway...) lorsqu’il est soumis à un trafic supérieur au trafic d’ingénierie, c’est-à-dire celui correspondant à la capacité pour laquelle il a été installé. L’exigence fondamentale est, d’une part, de réagir rapidement à la surcharge et, d’autre part, de continuer à écouler une quantité de trafic proche du trafic d’ingénierie, même pour de très fortes et très longues surcharges. Des valeurs sont spécifiées pour la zone de bon fonctionnement. Il est ainsi précisé que le système, lorsque soumis à des surcharges de 50 % supérieures au trafic d’ingénierie, doit écouler au moins 90 % de sa capacité
90
Trafic et performances des réseaux de télécoms
d’ingénierie (par exemple, un élément traitant normalement 100 appels/s, lorsque soumis à 150 appels/s, doit traiter au moins 90 appels/s). Au-delà de ces valeurs de surcharge, il est simplement précisé que le trafic écoulé doit rester acceptable. La figure 2.6 résume le comportement attendu de l’élément considéré. Trafic écoulé
Capacité d’ingénierie
100% 90% Fonctionnement inacceptable 100%
150%
Trafic offert
Figure 2.6. Gabarit d’écoulement du trafic en surcharge
Pour atteindre cet objectif il est nécessaire de : – mettre en place des mécanismes efficaces de détection des surcharges ; – mettre en œuvre en cas de surcharge des mécanismes de rejet d’appels, plus généralement de demandes de communications, qui donneront la préférence à certains types de demandes. Par exemple seront acceptés en priorité les appels en arrivée par rapport aux appels en départ (pour assurer la réussite d’une demande déjà acceptée par le réseau et ayant déjà consommée des ressources). Seront aussi traités en priorité les appels vers les numéros urgents (pompiers, police...), les lignes dites prioritaires (hôpitaux, ministères...) ; – mettre en œuvre dans les systèmes des priorités entre traitements relatifs aux appels, sessions déjà acceptées et les autres ; – garantir une exploitation minimale, et notamment assurer la taxation des communications acceptées et concernées. On voit ici clairement les impacts de ces exigences sur la modélisation des performances des équipements et des réseaux. Performance en période de surcharge. Il est clair que la perception par l’usager du service rendu est sérieusement dégradée, puisque un
Qualité de service et performance
91
grand nombre d’appels en excès sont rejetés. Cependant, les appels acceptés doivent encore présenter une qualité de service acceptable, sans pour autant respecter exactement celle requise en fonctionnement normal. Les délais perçus par ceux-ci devraient ne pas être trop éloignés de ceux spécifiés pour la condition dite de charge élevée ou charge B. 2.5.4. Tableaux récapitulatifs Nous récapitulons ici quelques-uns des principaux paramètres de performance et les valeurs associées généralement rencontrées. Ces valeurs ne sont bien sûr données qu’à titre indicatif. Mais ce sont quand même des ordres de grandeur qui devront être respectés quels que soient les réseaux et les technologies utilisés car découlant directement de la perception des délais et pertes admissibles du point de vue de l’usager. 2.5.4.1. Performance en trafic Paramètre Temps d’établissement pour une communication nationale (E.721) Temps d’établissement à l’accès en départ (Q.543) Temps d’émission d’indication d’arrivée d’appel (Q.543) Temps de libération d’une communication nationale (I.352) Temps de libération à l’accès (Q.543) Probabilité de refus d’appel pour une communication : – nationale – internationale (E.721 ) Probabilité de refus d’appel à l’accès (Q.543) en : – départ – arrivée
Charge normale Moyenne 95 % 3000 ms 6000 ms
Charge élevée Moyenne 95 % 4 500 ms 9 000 ms
600 ms
800ms
800 ms
1 200 ms
650 ms
900ms
1 000ms
1 600 ms
1250 ms
1750 ms
250 ms
300 ms
400 ms
700 ms
3% 5%
Non applicable
4,5 % 7,5 %
Non applicable
0,5 % 0,5 %
Non applicable
3% 3%
Non applicable
Non spécifié Non spécifié
92
Trafic et performances des réseaux de télécoms Temps de transfert d’un message de signalisation d’ouverture (Q.766) Temps de transfert d’un échantillon de parole à travers un commutateur (Q.551) Temps de transfert de bout en bout d’un paquet IP (Y.1541) : – temps réel – fichiers Variation du temps de transfert d’un paquet IP à 10-3 (Y.1541) : – temps réel Probabilité de perte de paquet de bout en bout (Y.1541) Probabilité d’échec d’un Handover (E.771)
180 ms
360 ms
450 ms
0,9 ms
1,5 ms
Non spécifié
100 ms 1 000 ms
Non spécifié
Non spécifié
Non spécifié
50 ms
Non spécifié
Non spécifié
Non spécifié
10–3 0,5 %
900 ms Non spécifié
Non Non spécifié Non applicable applicable Non spécifié
Non spécifié
Non spécifié
2.5.4.2. Performance en sûreté de fonctionnement Inaccessibilité moyenne au réseau (E.846) Indisponibilité d’un équipement d’accès pour : – un usager – tous les usagers de cet accès (Q541 et opérateurs) Libération prématurée pour une communication internationale (E850) : – typique – pire cas Libération prématurée au niveau d’un nœud (Q543) Charge de maintenance au niveau d’un nœud d’accès (opérateur) Durées d’interventions (opérateur) : – immédiate – différée – sans impératif
6 10–2 30 mn/an 3 mn/an
4 10–4 1,6 10–3 2 10–5 < 15 pannes par an et par 10 000 usagers. 3,5 heures 12 heures 72 heures
CHAPITRE 3
Probabilités
L’objectif de ce chapitre est de présenter les notions fondamentales de la théorie des probabilités. En effet, l’essence même de nos études de performances est l’analyse de phénomènes dont la caractéristique première est d’être de nature probabiliste. Autant dans les études de l’écoulement du trafic dans les réseaux et des temps de réponse dans les systèmes de commande, que dans celles de la fiabilité des équipements, nous serons confrontés à l’aspect aléatoire des événements considérés, et à la nécessité de les traiter par le biais des lois de la théorie des probabilités. Outre les propriétés des variables aléatoires et les principaux théorèmes des probabilités, nous étudierons aussi les propriétés des transformées qui, comme nous le verrons par la suite, seront des outils indispensables à la résolution de nos problèmes probabilistes. 3.1. Définition et propriétés des événements 3.1.1. Notion d’événement La théorie des probabilités repose sur la notion de réalisation aléatoire d’un événement. La réalisation d’un événement donné ne peut être prédite à l’avance, par contre l’ensemble des événements possibles est connu. On parlera d’événement aléatoire.
94
Trafic et performances des réseaux de télécoms
La notion d’événement aléatoire a une base très intuitive. Considérons l’exemple classique du lancer de dé : le résultat sera qu’une des faces sera sélectionnée, portant un des six nombres possibles. On dira que six événements sont possibles qui sont la réalisation des nombres 1 à 6 : « je lance mon dé qui indique 3 » est un événement. L’ensemble de ces six nombres forme l’ensemble des événements possibles sans que l’on puisse prédire précisément lors d’un lancer quel nombre va sortir. Toute réalisation, 1 ou 2... ou 6 constitue un événement élémentaire. L’ensemble des six nombres est appelé l’espace des constituants. De manière générale, on désigne par Ω l’espace formé par l’ensemble des événements. La théorie des probabilités va étudier les méthodes permettant d’analyser les combinaisons d’événements élémentaires, de manière à pouvoir en déduire des propriétés d’événements plus complexes. La théorie introduit un formalisme et une terminologie qu’il convient d’avoir en tête et que l’on résume ci-après dans le tableau 3.1. Toutes ces définitions correspondent à des notions assez naturelles. Reprenant l’exemple du lancer d’un dé, « je tire 3 » est un événement élémentaire, alors que « je tire un nombre pair » est un élément composé. De même, « je tire un nombre impair » est l’événement contraire du précédent, « je tire 7 » est un événement impossible, etc. On pourra compliquer l’expérience. Supposons par exemple que nous lancions deux dés. L’événement « la somme des faces est égale à 6 » sera un événement composé, etc.
Evénement
Partie d’ensembles
Evénement certain
Ω l’événement certain est l’obtention de l’un quelconque des constituants de Ω
Evénement impossible
∅ l’événement impossible est l’obtention d’un constituant non compris dans Ω donc compris dans l’espace vide ∅. ∅ ne contient aucun événement élémentaire ω
Evénement élémentaire
ω ∈ Ω, ω appartient à Ω
Evénement composé
A, c’est une partie de Ω. On indiquera que l’événement élémentaire ω appartient à l’ensemble A par ω ∈ A
Probabilités
95
Evénement contraire
noté A , c’est le complément de A (l’événement A n’arrive pas)
A ou B
A ∪ B , union (ou réunion) de A et de B. La réunion des ensembles A et B est l’ensemble des constituants qui sont constituants de l’un au moins des ensembles
A et B
A ∩ B , intersection de A et de B. L’intersection des ensembles A et B est l’ensemble des constituants qui sont à la fois constituants de A et de B
A et B mutuellement exclusifs
A ∩ B = ∅ . Dans ce cas il n’y a aucun événement commun à A et à B
A équivalent à B
A = B, qui se lit A égale B
Tableau 3.1. Evénements et ensembles
A partir des définitions précédentes, nous introduisons les définitions et propriétés qui suivent, dont la compréhension est encore intuitive. 3.1.2. Evénements complémentaires Si A désigne un événement et A son complément, ce dernier contient tous les événements élémentaires non contenus dans A et, donc, on a par définition : Propriétés de base A∪ A = Ω A=Ω− A A∪Ω = Ω A∩Ω = A A ∩ ∅ = ∅ , A étant une partie de Ω n’a aucun élément dans l’ensemble vide.
A ∩ A = ∅ , A et son complément n’ont aucun élément commun. A∪ A = A
96
Trafic et performances des réseaux de télécoms
A∩ A = A
et aussi : Ω=∅ ∅=Ω
A = A , le complément du complément de A est lui-même.
3.1.3. Propriétés des opérations sur les événements 3.1.3.1. Commutativité L’union et l’intersection sont commutatives. Résultat immédiat à partir des définitions : A∪ B = B ∪ A A∩ B = B ∩ A
3.1.3.2. Associativité A, B et C étant des parties de Ω, il y a associativité par rapport à l’union et à l’intersection : A ∪ ( B ∪ C ) = ( A ∪ B) ∪ C
A ∩ ( B ∩ C ) = ( A ∩ B) ∩ C
3.1.3.3. Distributivité A, B et C étant des parties de Ω, il y a distributivité de l’union par rapport à l’intersection et de l’intersection par rapport à l’union. Propriétés qui se déduisent des précédentes d’union et de commutativité : A ∪ ( B ∩ C ) = ( A ∪ B) ∩ ( A ∪ C ) A ∩ ( B ∪ C ) = ( A ∩ B) ∪ ( A ∩ C )
3.1.3.4. Addition d’événements Pour écrire la relation importante ci-dessous, nous nous plaçons du point de vue du dénombrement. Alors :
Probabilités
A ∪ B = A + B − ( A ∩ B)
97
(3-1)
En clair : si l’on dénombre les éléments contenus dans l’union de A et B, on trouvera ceux de A plus ceux de B mais il faudra retrancher les éléments communs, comptés deux fois, qui sont dans A ∩ B . Ceci se démontre aussi par l’algèbre : A ∪ B = ( A ∩ B) ∪ ( A ∩ B) ∪ ( A ∩ B) ,
qui est la réunion de trois ensembles disjoints, or, A = ( A ∩ B ) ∪ ( A ∩ B ) et B = ( A ∩ B ) ∪ ( A ∩ B ) , on vérifie bien que l’événement ( A ∩ B ) est pris deux fois dans A+ B . 3.1.3.5. Règle de Morgan A∪ B = A∩ B
(3-2)
A∩ B = A∪ B
(3-3)
Démontrons simplement le premier résultat en utilisant la propriété précédente et la distributivité : A ∩ B = (Ω − A) ∩ (Ω − B ) = Ω ∩ Ω − Ω ∩ A − Ω ∩ B + A ∩ B A∩ B = Ω − A− B + A∩ B = Ω − A∪ B = A∪ B
Ces deux règles très utiles gouvernent toutes les techniques de conception des circuits logiques telles qu’on les rencontre dans l’étude des automatismes ou des calculateurs. Dans notre domaine d’étude, l’étude du blocage dans les réseaux maillés sera un sujet privilégié d’utilisation de l’algèbre des événements, et des propriétés de base des probabilités qui y sont associées, telles que nous les exposons ci-après.
98
Trafic et performances des réseaux de télécoms
3.2. Probabilité 3.2.1. Définition On se donne un phénomène que l’on observe au travers de la réalisation des événements. Ceux-ci sont notés A, B, etc. Sur cet ensemble d’événements, on définit la notion de probabilité : on appelle probabilité d’un événement A, que l’on note P(A), un nombre réel positif attaché à cet événement, qui vérifie les conditions : 0 ≤ P ( A) ≤ 1 ;
P (Ω) = 1 , l’événement certain a une probabilité égale à 1 ;
Si A et B sont deux événements exclusifs, P ( A ∪ B ) = P ( A) + P ( B ) ; P (∅) = 0 , l’événement impossible a une probabilité nulle. La notion mathématique de probabilité d’un événement correspond à la notion expérimentale de fréquence de l’événement telle qu’on l’observe lors d’une suite d’expérimentations. On considère que cette occurrence relative de l’événement tend vers une limite, qui est sa probabilité lorsque le nombre d’expérimentations croît vers l’infini. Si n est le nombre d’occurrences de l’événement A au cours de N expériences, alors : P ( A) = lim N →∞
n N
(3-4)
3.2.2. Principales relations de probabilité 3.2.2.1. Théorème d’addition Etant donné deux événements A et B de l’ensemble Ω, on a : P ( A ∪ B ) = P ( A) + P ( B ) − P( A ∩ B )
Résultat qui découle directement des propriétés des opérations entre événements démontrées précédemment. Pour simplifier l’écriture, on adopte généralement la convention d’écriture suivante :
Probabilités
99
P ( A ∪ B ) = P ( A + B ) , P ( A ∩ B ) = P( AB )
avec laquelle la relation précédente devient : P ( A + B ) = P( A) + P ( B ) − P ( AB )
(3-5)
On généralisera aisément le résultat au cas d’un nombre n d’événements : P ( A1 + A2 + ⋅⋅⋅ An ) = P ( A 1 ) + P ( A 2 ) +⋅⋅⋅P ( An ) − P ( A1 A2 ) −⋅⋅⋅P( An−1 An ) + P ( A1 A2 A3 ) +⋅⋅⋅ + (−1) n−1 P ( A1 A2 ⋅⋅⋅ An )
(3-6)
C’est le théorème de H. Poincaré. Et si les événement sont exclusifs : P ( A1 + A2 + ⋅⋅⋅ An ) = P ( A 1 ) + P ( A 2 ) + ⋅⋅⋅P ( An )
(3-7)
3.2.2.2. Probabilité conditionnelle La notion de probabilité conditionnelle joue un rôle fondamental. Elle est reliée à l’idée que la connaissance d’un phénomène va être modifiée par toute information partielle que l’on peut acquérir. Donnons un exemple simple, tiré de l’expérience qui consiste à lancer deux dés : « Je parie que la somme des faces sera égale à 12. Quelle est la probabilité que je gagne mon pari ? » Si « j’ignore tout de l’expérience, j’alloue à l’événement une probabilité 1/36 » : il faut que le premier dé tiré soit 6 et que le second soit 6 également. Maintenant, imaginons que « je sache que le premier dé a tiré 3. Alors, je suis certain d’avoir perdu ! ». Si au contraire le premier tirage est 6, il suffira que le second soit 6 également, et « la probabilité que je gagne est 1/6 ». Cet exemple illustre la notion de probabilité conditionnelle, P ( B / A) qui se lit probabilité de B si A (ou sachant A). C’est la probabilité conditionnelle que l’événement B se réalise, étant donné que A s’est réalisé. Son expression est donnée par :
100
Trafic et performances des réseaux de télécoms
P ( B / A) =
P ( A.B ) P ( A)
(3-8)
Ceci se vérifie aisément sur le schéma suivant qui représente des événements dépendants. Dans ce cas la réalisation de B est influée par la réalisation de A. Ainsi si l’événement A s’est réalisé, l’événement B commun à A et B ne dépend plus que de l’espace des événements A. Dans l’exemple ci-dessous, le nombre d’occurrences de type A est na = 5, le nombre d’occurrences de type B est nb = 4, le nombre d’occurrences de type A et B est nab = 3, le nombre total d’occurrences de type A ou B ou autre (ni A ni B) est N = 10 : P(AB) = 3/10, P(A) = 5/10, P(B/A) = 3/5 = 6/10 différent de P(A)P(B) = (5/10)(4/10) = 2/10.
x
x B
A x x
x x x
x
x x
Figure 3.1. Probabilité conditionnelle
Cette situation pourrait, par exemple, correspondre à la probabilité de trouver, sur 10 personnes choisies au hasard, des garçons (événement de type A, de probabilité approximativement 0,5), de taille supérieure à une certaine valeur (événement de type B de probabilité supposée pour l’exemple égale à 0,4). Et cela traduit le fait qu’il est plus probable de trouver des tailles plus grandes chez les garçons. 3.2.2.3. Théorème de la multiplication Etant donné deux événements A et B de l’ensemble Ω, on a : P ( AB) = P( A) P( B / A)
(3-9)
C’est simplement le résultat précédent, réécrit sous forme de produit.
Probabilités
101
De la même manière on a : P ( AB) = P( B ) P( A / B )
(3-10)
Généralisation P ( ABC ) = P ( A) P ( B / A) P (C / AB )
En effet : P ( ABC ) = P ( AB ) P (C / AB ) = P ( A) P ( B / A) P (C / AB )
et on a donc aussi : P (C / AB ) =
P ( ABC ) , et ainsi de suite pour n événements. P ( AB)
Evénements indépendants Deux événements sont dits indépendants si : P ( A / B ) = P ( A)
La réalisation de B (ou A) ne change pas la probabilité de réalisation de A (ou B). Et donc : P ( AB ) = P ( A) P ( B )
(3-11)
En reprenant notre exemple de tout à l’heure, ceci correspondrait à s’intéresser non plus à la taille mais par exemple à la couleur des yeux. On peut admettre que la couleur des yeux est indépendante du sexe. Par exemple, supposons qu’il y a 40 % de yeux clairs chez les filles comme chez les garçons. Sur 10 personnes choisies au hasard, on aurait donc na = 5 (5 garçons), nb = 4 (4 personnes aux yeux clairs), et nab = 2. Le nombre total d’occurrences est N = 10 (personnes). On a alors P(A) = 5/10, P(B/A) = 2/5, P(AB) = 2/10 qui est égal à P(A)P(B) = (5/10)(4/10) = 2/10.
102
Trafic et performances des réseaux de télécoms
x
x B
A xx
x
xx x x
Figure 3.2. Evénements indépendants
De manière générale, on dira que des événements Ai sont mutuellement indépendants si on peut écrire pour toute combinaison Ai, Aj.. : P ( A1 A2 .. Ai .. An ) = P( A1 ) P ( A 2 ) ⋅⋅⋅ P ( Ai ) ⋅⋅⋅ P ( An )
3.2.2.4. Théorème de la probabilité a posteriori Soit un événement A associé obligatoirement à l’un des événements Bi mutuellement exclusifs. On dit aussi que Bi est une cause de A. Supposons que l’on connaisse le jeu des probabilités conditionnelles de A si Bi , c’est-à-dire P ( A / Bi ) . La probabilité conditionnelle de Bi si A, exprime alors la probabilité que la cause de l’événement A soit Bi . On appelle aussi cette probabilité, probabilité a posteriori de l’événement Bi . On a d’abord la relation suivante : n
P ( A) = ∑ P ( Bi A)
(3-12)
i =1
que l’on appelle théorème des probabilités totales, et qui exprime simplement que, si l’événement se réalise, il se réalise obligatoirement en conjonction avec l’une des causes, rappelons-le, mutuellement exclusives. En outre, les probabilités conditionnelles nous permettent d’écrire : P ( Bi A) = P ( Bi ) P ( A / Bi )
Probabilités
103
Et donc le théorème des probabilités totales s’écrit aussi : n
P ( A) = ∑ P ( Bi ) P ( A / Bi ) i =1
et, enfin, en utilisant encore les probabilités conditionnelles : P ( Bi / A) =
P ( Bi A) P ( A)
on peut écrire le théorème de la probabilité a posteriori, ou théorème de Bayes : P ( Bi / A) =
P ( Bi ) P ( A / Bi ) n
∑ P( B ) P( A / B ) j =1
j
(3-13)
j
Donnons un exemple. Soit 3 urnes U1, U2, U3, contenant chacune des boules rouges et des boules noires. U1 contient 2 noires et 1 rouge, U2 contient 5 noires et 1 rouge, U3 contient 1 noire et 5 rouges. Calculer la probabilité que, étant donnée une boule noire, elle provienne de U3 ? On désigne par N l’événement correspondant au tirage d’une boule noire : P (U 3 / N ) =
P (U 3 ) P ( N / U 3 ) 3
∑ P(U j =1
j
) P( N / U j )
On a simplement : P(U1) = P(U2) = P(U3) = 1/3 P(N/U1)= 2/3 P(N/U2)= 5/6 P(N/U3)= 1/6 et donc : P(U3/N) = (1/3)(1/6)/((1/3)(2/3+5/6+1/6)) = 0,1
104
Trafic et performances des réseaux de télécoms
3.3. Variable aléatoire 3.3.1. Définition Une variable aléatoire est une fonction qui associe un nombre réel x à la réalisation d’un événement aléatoire. Plus formellement, une variable aléatoire X est une application mesurable X de Ω dans R (ensemble des nombres réels). Ainsi, la taille de la première personne qui rentrera dans « mon bureau » est une variable aléatoire, tout comme la durée d’une communication téléphonique qui s’établit. 3.3.2. Fonctions de probabilité d’une variable aléatoire 3.3.2.1. Notations Comme précédemment nous notons ω un événement de Ω et nous noterons de façon abrégée : X =x
pour l’événement {ω : ω ∈ Ω et X (ω ) = x} De la même façon, nous écrirons X ≤ x pour l’événement :
{ω : ω ∈ Ω et X (ω ) ≤ x} 3.3.2.2. Fonction de répartition ou probabilité cumulée Cette fonction est définie par la relation suivante : F ( x) = P [ X ≤ x ]
(3-14)
de la même façon si on pose F ( y ) = P [ X ≤ y ] et si x < y, F ( x) ≤ F ( y ) et aussi : P [ x < X ≤ y ] = F ( y ) − F ( x)
(3-15)
Probabilités
105
3.3.2.3. Fonction densité de probabilité Cette fonction est définie par la relation suivante : p( x) = P [ X = x ]
Si x est une valeur que ne peut pas prendre X, on a bien sûr p(x) = 0. Ceci nous amène à la distinction suivante : on distingue deux types de variables aléatoires, la variable aléatoire discrète et la variable aléatoire continue. La variable aléatoire X est dite discrète si :
∑ p( x) = 1
(3-16)
x∈T
avec T l’ensemble T des valeurs x que peut prendre X. T est ou fini ou dénombrable, c’est-à-dire que T consiste en un ensemble fini de réels x1, x2, …xn, ou infini x1, x2,… Une variable aléatoire X est dite continue s’il existe une fonction densité de probabilité f(x) telle que : x
∫
f ( x)dx = F ( x)
(3-17)
−∞
La variable X peut prendre toutes les valeurs possibles x entre deux valeurs données a et b. L’ensemble T des valeurs x de X est alors dit non dénombrable. On a en particulier : ∞
∫
f ( x)dx = 1
(3-18)
−∞
et si a < b : b
P [ a ≤ X ≤ b ] = ∫ f ( x)dx a
106
Trafic et performances des réseaux de télécoms
Il faut en particulier noter que pour une variable continue P [ X = x] = 0 . Et donc : P [ a ≤ X ≤ b ] = P [ a < X ≤ b ] = P [ a < X < b ] = F (b) − F (a )
(3-19)
et aussi : P [ x < X ≤ x + dx ] = F ( x + dx) − F ( x) dF ( x) = f ( x)dx f ( x) =
dF ( x) dx
(3-20)
3.3.3. Moments d’une variable aléatoire Les moments d’une variable aléatoire permettent de caractériser de manière simple et intuitive la fonction de probabilité d’une variable aléatoire, et en particulier de traiter le cas de fonctions de plusieurs variables aléatoires indépendantes. 3.3.3.1. Moments par rapport à l’origine Le moment d’ordre n par rapport à l’origine d’une variable aléatoire est pour une variable discrète : mn = ∑ pk xk
n
(3-21)
et pour une variable continue : mn = ∫ x n f ( x)dx
(3-22)
3.3.3.2. Moments centrés Le moment centré d’ordre n d’une variable aléatoire est pour une variable discrète :
Probabilités
µn = ∑ pk ( xk − mi )n
107
(3-23)
avec mi moments d’ordre i par rapport à l’origine. Et pour une variable continue :
µ = ∫ x n f ( x − mi ) n dx n
(3-24)
En général, on s’intéressera surtout aux moments centrés par rapport à la moyenne telle que définie ci-après. 3.3.3.3. Moyenne et variance Deux moments sont extrêmement importants, il s’agit des deux premiers : la moyenne et la variance. 3.3.3.3.1. Moyenne d’une variable aléatoire C’est le moment d’ordre 1 par rapport à l’origine, que l’on notera par convention m. Pour une variable discrète : n
m = E [ X ] = ∑ pk xk
(3-25)
k =1
Pour une variable continue : m = E[X ] =
∞
∫ xf ( x)dx
(3-26)
−∞
On note aussi la moyenne : E[X ] = X
Intuitivement, on comprend bien la signification physique de la moyenne, c’est la valeur pondérée de l’ensemble des réalisations. Cette valeur résume en quelque sorte le résultat d’un grand nombre d’expériences. 3.3.3.3.2. Variance d’une variable aléatoire Pour une variable discrète :
108
Trafic et performances des réseaux de télécoms
µ2 = σ 2 = ∑ pk ( xk − m)2
(3-27)
xk
Pour une variable continue :
µ2 = σ 2 =
∞
∫ ( x − m)
2
f ( x)dx
(3-28)
−∞
Et on appellera σ, la dispersion. L’intérêt de cette variable est aussi intuitivement physiquement évident, car c’est en quelque sorte la pondération des variations des réalisations autour de la moyenne. Plus cette valeur sera grande, plus intuitivement on pourra s’attendre sur une réalisation particulière à un grand écart par rapport à la moyenne. 3.3.3.3.3. Propriétés de la variance Par définition la variance s’écrit aussi :
σ 2 = ( X − X )2 ce qui donne :
σ 2 = X 2 − 2X X + X
2
soit encore, de manière évidente pour une même variable :
σ 2 = X 2 − 2X X + X
2
σ 2 = X 2 − 2X X + X
2
et donc :
σ 2 = ( X − X )2 = X 2 − X
2
(3-29)
La variance est donc égale à la moyenne des carrés moins le carré de la moyenne, relation qui sera très utile par la suite.
Probabilités
109
3.3.3.4. Exemples d’applications Calculons tout d’abord la moyenne d’une variable obéissant à une loi que nous développerons un peu plus tard : la loi de Poisson. Soit une variable X qui peut prendre les valeurs 0, 1, 2…k, avec la probabilité pk : X = {0,1,2...k ,...} , et P ( X = k ) = pk =
λk k!
e−λ
C’est la loi de Poisson. Pour la moyenne, nous avons : X = ∑ kpk = 0e − λ + λ e − λ + 2 X = λ e − λ (1 + λ +
λ2 2!
+ ⋅⋅⋅
λ2 2!
e− λ + ⋅⋅⋅k
λ k −1 (k − 1)!
λk k!
e− λ + ⋅⋅⋅
+ ⋅⋅⋅) = λ e− λ (eλ )
X =λ
(3-30)
et pour la variance :
σ2 = X2 − X
2
De ce qui précède, on a : 2
X = λ2
En outre : X 2 = ∑ k 2 p k = 0e − λ + λ e − λ + 2 2
et en remarquant que :
λ 2 −λ λ k −λ e + ⋅⋅⋅k 2 e + ⋅⋅⋅ k! 2!
110
Trafic et performances des réseaux de télécoms
k 2 k (k − 1) + k k (k − 1) k 1 1 = = + = + k! k! k! k ! (k − 2)! (k − 1)!
on a : X 2 = λ 2 e − λ (1 + λ +
λ e− λ (1 + λ +
λ2 λ k −2 + ⋅⋅⋅ + ⋅⋅⋅) + 2! (k − 2)!
λ2 λ k −1 + ⋅⋅⋅ + ⋅⋅⋅) 2! (k − 1)!
X 2 = λ2 + λ
Et donc :
σ2 =λ
(3-31)
Notons ce résultat remarquable : dans le cas d’une variable obéissant à une loi de Poisson de paramètre λ, sa moyenne et sa variance sont égales, et égales à λ. 3.3.4. Couple aléatoire Nous nous intéressons maintenant au cas d’un système de deux variables aléatoires telles que définies précédemment. En fait, il s’agit ici d’introduire l’étude des fonctions de plusieurs variables aléatoires, dont la somme, en particulier, sera un sujet important d’investigation dans nos études de performance. 3.3.4.1. Définition Un couple aléatoire est l’ensemble formé par deux variables aléatoires parcourant chacune son propre domaine avec chacune sa propre loi de densité de probabilité. Prenons par exemple le lancer de deux pièces. Le résultat de leur lancer est un couple aléatoire des variables Pile et Face. Si on appelle respectivement P1, F1 et P2, F2 les réalisations Pile et Face des pièces 1 et 2, les réalisations possibles du couple sont au nombre de quatre :
Probabilités
111
P1F2, P1P2, F1P2, et F1P2. Chaque couple étant équiprobable, sa probabilité de réalisation est de ¼. 3.3.4.2. Probabilité conjointe d’un couple aléatoire 3.3.4.2.1. Fonction de distribution de probabilité conjointe Soient X et Y deux variables aléatoires définies dans Ω. La fonction de distribution conjointe du couple X,Y est : F ( x, y ) = P { X ≤ x ; Y ≤ y}
(3-32)
qui peut être aussi notée Fx , y De même que pour la variable aléatoire unique, nous pouvons calculer : P { x1 < X ≤ x2 ; y1 ≤ Y ≤ y2 }
On a : P { X ≤ x2 ;Y ≤ y} = P { X ≤ x1 ;Y ≤ y} + P { x1 ≤ X ≤ x2 ; Y ≤ y}
donc : a) P { x1 ≤ X ≤ x2 ; Y ≤ y} = P { X ≤ x2 ; Y ≤ y} − P { X ≤ x1 ;Y ≤ y} puis de la même façon : P { x1 ≤ X ≤ x2 ;Y ≤ y2 } = P { x1 ≤ X ≤ x2 ; Y ≤ y1}
+ P { x1 ≤ X ≤ x2 ; y1 ≤ Y ≤ y2 }
et donc : b) P { x1 ≤ X ≤ x2 ; y1 ≤ Y ≤ y2 } = P { x1 ≤ X ≤ x2 ; Y ≤ y2 } − P { x1 ≤ X ≤ x2 ; Y ≤ y1 }
et donc :
112
Trafic et performances des réseaux de télécoms
P { x1 ≤ X ≤ x2 ; y1 ≤ Y ≤ y2 } = ( Fx 2, y 2 − Fx1, y 2 ) − ( Fx 2, y1 − Fx1, y1 )
et donc : P { x1 ≤ X ≤ x2 ; y1 ≤ Y ≤ y2 } = Fx 2, y 2 − Fx1, y 2 − Fx 2, y1 + Fx1, y1
(3-33)
3.3.4.2.2. Densité de probabilité conjointe On appellera densité de probabilité conjointe de X et Y : f ( x, y ) =
∂ 2 F ( x, y ) ∂x∂y
(3-34)
Propriété fondamentale de la densité conjointe P { x ≤ X ≤ x + dx; y ≤ Y ≤ y + dy} = d 2 F ( x, y ) = f ( x, y )dxdy
(3-35)
En effet, d’après le résultat démontré précédemment pour la distribution conjointe : P { x ≤ X ≤ x + dx; y ≤ Y ≤ y + dy} = F ( x + dx, y + dy )
− F ( x + dx, y ) − F ( x, y + dy ) + F ( x, y )
P { x ≤ X ≤ x + dx; y ≤ Y ≤ y + dy} = dF ( x + dx, y ) − dF ( x, y ) P { x ≤ X ≤ x + dx; y ≤ Y ≤ y + dy} = d 2 F ( x, y )
et donc : P { x ≤ X ≤ x + dx; y ≤ Y ≤ y + dy} = d 2 F ( x, y ) = f ( x, y )dxdy
et par conséquence : P { x1 ≤ X ≤ x2 ; y1 ≤ Y ≤ y2 } =
x2 y2
∫ ∫ f ( x, y)dxdy
x1 y1
Probabilités
113
3.3.4.3. Probabilité marginale d’un couple aléatoire 3.3.4.3.1. Fonction de distribution marginale On appellera respectivement distribution marginale de X et de Y les fonctions suivantes : Fx = P { X ≤ x ; −∞ ≤ Y ≤ ∞} Fx =
(3-36)
∞ x
∫∫
f ( x, y )dxdy
−∞ −∞
et : Fy = P {−∞ ≤ X ≤ ∞ ;Y ≤ y} Fx =
(3-37)
y ∞
∫∫
f ( x, y )dxdy
−∞ −∞
3.3.4.3.2. Fonction de densité marginale De ce qui précède, on a respectivement pour X et pour Y : f X ( x) =
∞
∫
f ( x, y )dy
(3-38)
f ( x, y )dx
(3-39)
−∞
fY ( y ) =
∞
∫
−∞
3.3.4.4. Probabilité conditionnelle d’un couple aléatoire 3.3.4.4.1. Fonction de distribution de probabilité conditionnelle On appellera distribution conditionnelle de X par rapport à Y : F ( x / y ) = P { X ≤ x / Y ≤ y}
(3-40)
et selon le théorème des probabilité conditionnelles on a : F ( x / y) =
F ( x, y ) F ( y)
(3-41)
114
Trafic et performances des réseaux de télécoms
et donc : F ( x, y ) = F ( y ) F ( x / y ) = F ( x ) F ( y / x )
3.3.4.4.2. Fonction densité de probabilité conditionnelle De ce qui précède, on a directement, respectivement pour X et pour Y : f X ( x / y) =
f XY ( x, y ) fY ( y )
(3-42)
fY ( y / x ) =
f XY ( x, y ) f X ( x)
(3-43)
3.3.4.5. Fonctions d’un couple aléatoire Nous nous intéressons maintenant non plus seulement à la relation entre deux variables aléatoires mais plus globalement à une fonction de ces deux variables aléatoires. C’est un problème auquel nous serons souvent confrontés dans la pratique. 3.3.4.5.1. Définition Soit deux variables aléatoires X et Y, et soit deux fonctions de ce couple : U = g ( X ,Y )
et : V = h( X , Y )
On posera : X = G (U ,V )
et : Y = H (U ,V )
Probabilités
115
On peut écrire : P { x ≤ X ≤ x + dx; y ≤ Y ≤ y + dy} = P {u ≤ U ≤ u + du; v ≤ V ≤ v + dv}
et donc aussi : f XY ( x, y )dxdy = fUV (u , v)dudv
et : fUV (u , v) =
f XY ( x, y ) J uv
(3-44)
xy
avec J, Jacobien de U et V : du du dx dy J= dv dv dx dy
(3-45)
c’est-à-dire le déterminant des dérivées partielles de u et v par rapport à x et y. 3.3.4.5.2. Exemple d’application Pour concrétiser cette notion, prenons un exemple simple. Soit deux éléments en série dont les valeurs (temps de traitement de routeurs en série dans un réseau par exemple, probabilité de défaillances d’équipements en série dans un commutateurs, etc.) sont deux variables aléatoires X et Y. On s’intéresse à la variable U = X + Y, (temps de traitement global par exemple). Si on pose V = X, on a : du du dx dy 11 J= = =1 dv dv 10 dx dy
116
Trafic et performances des réseaux de télécoms
et donc : fUV (u , v) = f XY ( x, y )
(résultat intuitivement évident dans ce cas simple). Nous nous intéressons à la variable U, sa densité est la densité marginale de (u, v) : fU (u ) = ∫ fUV (u , v)dv
et donc : fU (u ) = ∫ fUV (u , v)dv = ∫ f XY ( x, y )dx = ∫ f X ( x) fY ( y )dx
soit, avec : y =u− x
on a : f (u ) = ∫ f ( x) f (u − x)dx
C’est le produit de convolution des fonctions densité de probabilité de x et de y, résultat physiquement intuitivement évident dans ce cas simple : f (u ) = f ( x) ⊗ f ( y )
Par la suite, dans la plupart des problèmes faisant intervenir plusieurs variables aléatoires, nous serons ramenés à ce cas de produit de convolution. Dans la plupart des cas pratiques, ce produit de convolution pourra s’établir directement sur la simple base de sa définition. Nous allons développer ce point ci-après, puis nous étudierons les outils de résolution telles que la transformées de Laplace, la fonction caractéristique, la fonction génératrice. Etudions à cet effet le cas particulier important de la somme de variables aléatoires indépendantes.
Probabilités
117
3.3.4.6. Somme de variables aléatoires indépendantes Imaginons un système complexe, dont nous voulons déterminer la performance globale, un temps de traitement par exemple. L’analyse conduira à faire un modèle composé de sous-systèmes, auxquels le traitement devra faire appel séquentiellement. Ainsi, si le traitement est une suite séquentielle de n tâches élémentaires dans les différents sous-système, son temps de traitement total sera la somme de n temps élémentaires. Et on conçoit l’intérêt d’étudier les propriétés des sommes de variables aléatoires indépendantes. Nous allons donc établir ci-après les principales propriétés de ces fonctions. 3.3.4.6.1. Densité de probabilité de la somme de variables aléatoires indépendantes Soit X et Y deux variables aléatoires indépendantes, et Z = X + Y leur somme. Nous avons : F ( z ) = P {Z ≤ z} = P {{ X + Y } ≤ z}
(3-46)
et donc : ∞
z− y
−∞
−∞
∫ dy ∫ f ( x, y)dx
F ( z) =
Du fait de l’indépendance de X et Y, on a : F ( z) =
∞
∫
−∞
F ( z) =
z− y ∫ f X ( x) dx fY ( y )dy −∞
∞
∫F
( z − y ) fY ( y )dy
(3-47)
f X ( z − y ) fY ( y )dy
(3-48)
X
−∞
et donc : f ( z) =
∞
∫
−∞
118
Trafic et performances des réseaux de télécoms
On retrouve bien le produit de convolution de l’exemple précédent. Dans le cas de variables discrètes, on a de manière évidente : k
P ( Z = k ) = ∑ p X (i) pY (k − i )
(3-49)
i =0
3.3.4.6.2. Exemple d’application Soit X et Y deux variables obéissant chacune à une loi de Poisson de paramètre λ1 et λ2. Rappelons que la loi de Poisson s’écrit : p(k ) =
λk k!
e− λ
Leur somme Z obéit alors à : k
k
P ( Z = k ) = ∑ p X (i) pY (k − i) = ∑ i =0
e − ( λ1 + λ2 ) P(Z = k ) = k!
i =0
λ1i i!
e − λ1
λ2 k −i (k − i )!
k! e − ( λ1 + λ2 ) i k −i λ1 λ2 = ∑ k! i = 0 i !( k − i )! k
e − λ2 k
k
∑i λ λ i =0
i 1
k −i
2
k k Or le développement en série de (a + b) k = ∑ a i b k − i i =0 i Donc :
P(Z = k ) =
e − ( λ1 + λ2 ) (λ1 + λ2 ) k k!
(3-50)
Ce résultat est remarquable. La somme de deux variables aléatoires indépendantes poissoniennes est elle-même une variable poissonienne. Cette propriété nous sera très utile dans les études de trafic et de performance : des systèmes soumis à la somme de plusieurs flux poissonniens indépendants (appels, messages) seront globalement soumis à un flux poissonnien.
Probabilités
119
3.3.4.7. Moments de la somme de variables aléatoires indépendantes 3.3.4.7.1. Moyenne La moyenne de la somme de variables indépendantes X, Y… est égale à la somme des moyennes : E [ X + Y + ⋅⋅⋅] = E [ X ] + E [Y ] + ⋅⋅⋅
(3-51)
Démontrons-le pour deux variables aléatoires : ∞
∞
−∞
−∞
∞
∞
−∞
−∞
E[X +Y ] =
∫ ∫ ( x + y) f
E[X +Y ] =
∫ ∫
∞
E[X +Y ] =
∫
XY
( x, y )dxdy
xf XY ( x, y )dxdy +
xf X ( x)dx +
−∞
∞
∫ yf
Y
∞
∞
−∞
−∞
∫ ∫ yf
XY
( x, y )dxdy
( y )dy = E [ X ] + E [Y ]
−∞
La généralisation à la somme d’un nombre quelconque de variables aléatoires est évidente. D’après la démonstration, ce résultat est vrai même si les variables ne sont pas indépendantes. 3.3.4.7.2. Variance La variance de la somme de variables aléatoires indépendantes est égale à la somme de leurs variances : V [ X + Y ] = V [ X ] + V [Y ]
(3-52)
Démontrons-le pour deux variables aléatoires. Rappelons la définition de la variance ou encore moment centré d’ordre 2 : 2 V [ X ] = σ 2 = E { X − E [ X ]}
Pour la somme de deux variables, on a donc :
120
Trafic et performances des réseaux de télécoms 2 V [ X + Y ] = E {( X + Y ) − E [ X + Y ]}
or, comme on vient de le démontrer : E [ X + Y ] = E [ X ] + E [Y ]
et donc : 2 V [ X + Y ] = E {( X − E [ X ]) + (Y − E [Y ])} = 2 2 E ( X − E [ X ]) + (Y − E [Y ]) + 2( X − E [ X ])(Y − E [Y ])
V [X +Y] =
E ( X − E [ X ]) 2 + E (Y − E [Y ])2 + 2 E ( X − E [ X ])(Y − E [Y ])
Le dernier terme de cette équation est la covariance de X et de Y, notée Cov [ X , Y ] : Cov [ X , Y ] = E ( X − E [ X ])(Y − E [Y ])
On a donc le résultat important suivant : V [ X + Y ] = V [ X ] + V [Y ] + 2Cov [ X , Y ]
(3-53)
Résultat qui est exact que les variables soient indépendantes ou non. Etudions le cas de variables indépendantes. Après développement et en notant que : E XE [Y ] = E YE [ X ] = E [ X ] E [Y ]
la covariance s’écrit aussi : Cov [ X , Y ] = E [ XY ] − E [ X ] E [Y ]
Or, de manière générale, on peut écrire :
Probabilités
E [ XY ] =
∞
∞
−∞
−∞
∫ ∫ xyf
XY
121
( x, y )dxdy
et si les deux variables sont indépendantes : E [ XY ] =
∞
∞
−∞
−∞
∫ ∫ xyf
X
( x) fY ( y )dxdy = E [ X ] E [Y ]
(3-54)
La moyenne d’un produit de deux variables aléatoires indépendantes est égale au produit des moyennes (résultat qui peut être aisément généralisé à un nombre quelconque de variables). Et donc dans le cas de variables indépendantes : Cov [ X , Y ] = E [ XY ] − E [ X ] E [Y ] = 0
Et pour la variance, on obtient : V [ X + Y ] = E ( X − E [ X ])2 + E (Y − E [Y ])2 = V [ X ] + V [Y ]
La variance d’une somme de deux variables aléatoires indépendantes est égale à la somme de leurs variances. Ce résultat se généralise aisément au cas d’une somme d’un nombre quelconque de variables aléatoires indépendantes. 3.3.4.8. Intérêt pratique L’intérêt pratique des résultats précédents apparaît immédiatement dans notre domaine d’étude. En effet, lorsque nous aurons à évaluer la loi de probabilité correspondant à la somme de plusieurs variables aléatoires, nous pourrons approximer, voire calculer exactement, la loi par ses moments en sommant les moments individuels. Nous retrouverons aussi l’utilisation de ces propriétés importantes, relatives aux moments de sommes de variables indépendantes, en statistiques, notamment dans la théorie de l’échantillonnage. 3.4. Produit de convolution Nous étudions ici plus précisément les propriétés de cette fonction que nous avons découverte précédemment.
122
Trafic et performances des réseaux de télécoms
3.4.1. Définition Soit deux fonctions f(t) et g(t), on appellera fonction de convolution ou encore produit de convolution de ces deux fonctions, la fonction suivante : τ
f (τ ) = ∫ f (t ) g (τ − t )dt
(3-55)
0
Suivant cette définition, on voit immédiatement son intérêt pratique : ainsi, si f(t) et g(t) représentent respectivement la densité de probabilité du temps de traversée de deux éléments en série dans un réseau, la probabilité que le temps de traversée global soit τ est bien la probabilité que le temps de traversée du premier élément soit t et celui du deuxième τ-t, pour toutes les valeurs de t possibles. Le produit de convolution exprime la densité de probabilité de la somme de variables aléatoires Le concept de fonction de convolution s’applique aussi, bien sûr, à des variables discrètes. Un cas d’application important est celui de ressources communes telles que de la place mémoire (pour une file d’attente par exemple). Dans ce cas, on cherchera la probabilité d’occuper un total de N places avec par exemple deux serveurs travaillant simultanément (comme deux liens de sortie d’un routeur), et connaissant les probabilités p1 et p2 d’occuper n1 = n places avec un serveur et n2 = N-n places avec l’autre serveur : N
p( N ) = ∑ p1 (n) p2 ( N − n) n=0
De manière générale, on notera le produit de convolution de plusieurs fonctions par le symbole suivant : f (t ) ⊗ g (t ) ⊗ h(t ) ⋅⋅⋅
3.4.2. Propriétés 3.4.2.1. Le produit de convolution est commutatif f (t ) ⊗ g (t ) = f (t ) ⊗ g (t )
Probabilités
123
En effet, avec le changement de variable :
θ = τ − t et donc t = τ − θ , et dt = −dθ on a : τ
∫ 0
0
τ
τ
0
f (t ) g (τ − t )dt = − ∫ f (τ − θ ) g (θ )dθ = ∫ f (τ − θ ) g (θ )dθ
Calculons maintenant le produit de convolution de quelques lois importantes. 3.4.2.2. Produit de convolution de lois exponentielles Soit : f (t ) = Ae − at g (t ) = Be − bt
on a : τ
f (τ ) = ∫ Ae − a (τ −t ) Be− bt dt 0
τ
f (τ ) = ABe − aτ ∫ e( a −b ) t dt 0
f (τ ) =
ABe − aτ ( a −b )τ (e − 1) a −b
f (τ ) =
AB − bτ (e − e− aτ ) a −b
3.4.2.3. Produit de convolution de lois de Gauss Cette loi sera décrite par la suite, prenons pour l’instant sa forme simplifiée, dite réduite :
124
Trafic et performances des réseaux de télécoms x2
1 −2 f ( x) = e 2π
Le produit de convolution de deux lois de Gauss s’écrit : f (X ) =
1 2π
∞
∫e
1 − x 2 + ( X − x )2 2
dx
−∞
Or l’expression : u = x 2 + ( X − x)2
s’écrit : u = 2 x 2 + X 2 − 2 xX =
X2 X2 X2 X 2 + 2 x 2 − 2 xX + = + (x 2 − ) 2 2 2 2
et donc, en posant : v=
1 X X (x 2 − )= x− 2 2 2
on obtient : 1 − f (X ) = e 2π
X2 ∞ 4
∫e
− v2
dv
−∞
or : ∞
∫e
− v2
dv = π
−∞
donc :
f (X ) =
1 2 π
e
X 2 − 2
2
(3-56)
Probabilités
125
Le produit de convolution de deux lois de Gauss est une loi de Gauss. Cette propriété est à la base de multiples approximations lorsque l’on étudie des sommes de plusieurs variables aléatoires. En effet, dans la mesure où chaque variable pourra être approximée à une variable gaussienne, ce qui est assez fréquemment le cas lorsque l’on considère des probabilités pas trop éloignées de la moyenne, on pourra évaluer aisément le comportement global par une loi de Gauss dont les moments seront la somme des moments individuels. Nous allons démontrer cette propriété dans les paragraphes suivants. On verra en outre, au chapitre 5, une autre propriété très importante qui s’applique, elle, à un grand nombre de variables indépendantes : le théorème central limite, qui exprime que leur somme tend vers une loi de Gauss, quelle que soit leur loi individuelle. On n’insistera jamais trop sur l’importance de la loi de Gauss… Nous abordons maintenant les techniques, dites des transformées, qui permettent la manipulation de variables aléatoires. Essentielles, elles nous permettront par la suite de résoudre de nombreux problèmes tels que des systèmes d’équations différentielles de probabilités d’états (transformée de Laplace), d’obtenir les solutions de problèmes de files d’attente à partir de leurs relations stochastiques (fonction caractéristique) et aussi d’obtenir aisément les moments des différentes fonctions de probabilité (fonction caractéristique, fonction génératrice). 3.5. Transformée de Laplace L’intérêt de cette transformée, comme pour les autres transformées que nous verrons après, est essentiellement de décomposer la fonction originale en une somme (ou intégrale) de fonctions exponentielles élémentaires facilement manipulables. Dans notre domaine, nous l’utiliserons pour la résolution des équations d’état en fiabilité et en théorie des files d’attente (voir chapitres 6 et 7) ainsi que pour ses propriétés relatives au calcul des moments de sommes de variables aléatoires. Nous allons voir notamment que des résultats, comme les résultats précédents, peuvent être obtenus beaucoup plus aisément par l’utilisation des transformées de Laplace.
126
Trafic et performances des réseaux de télécoms
3.5.1. Définition La transformée de Laplace d’une fonction f(t) est : F * (s) =
∞
∫
f (t )e − st dt
(3-57)
−∞
Dans la plupart de nos cas d’application, nous aurons des fonctions telles que : f (t ) = 0 si t < 0
et alors, en faisant attention que la limite inférieure correspond en réalité à 0-, on écrira : ∞
F * ( s ) = ∫ f (t )e − st dt 0
3.5.2. Propriétés 3.5.2.1. Propriété fondamentale Une propriété fondamentale de la transformée de Laplace est relative au produit de convolution que nous venons de traiter et qui s’énonce ainsi : la transformée du produit de convolution de fonctions est égale au produit de leurs transformées. Soit, pour deux fonctions f(t) et g(t) : F * { f (t ) ⊗ g (t )} = F * ( s )G * ( s )
En effet : F * { f (τ )} =
∞
τ
∫ ∫ τ
f (τ − t ) g (t )dte− sτ dτ
=0 t =0
F * { f (τ )} = F * { f (τ )} =
∞
∞
t =0
=t
∫ τ∫
∞
∫
t =0
f (τ − t )e − s (τ −t ) dτ g (t )e − st dt
g (t )e− st dt
∞
∫ τ
−t =0
f (τ − t )e − s (τ − t ) dτ
(3-58)
Probabilités
127
et donc : F * { f (t ) ⊗ g (t )} = F * ( s )G * ( s )
Résultat qui se généralise aisément. On en déduit donc aussi que la transformée de Laplace de la densité de probabilité de la somme de variables aléatoires indépendantes est le produit de leurs transformées de Laplace. Ce type de résultat sera démontré encore plus directement à l’occasion de l’étude des propriétés des fonctions caractéristiques. 3.5.2.2. Propriété de dérivation On a immédiatement à partir de la définition de la transformée : df (t ) ⇔ sF * ( s ) dt
et : d n f (t ) ⇔ s n F * (s) dt n
(3-59)
(en se rappelant cependant que nous avons posé f (t ) = 0 si t < 0 ). 3.5.2.3. Propriété d’intégration t
∫
f (t )dt ⇔
−∞
F * ( s) s
et pour l’intégration d’ordre n : t
t
−∞
−∞
n ∫ ⋅⋅⋅ ∫ f (t )dt ⇔
F * (s) sn
(3-60)
(en rappelant encore que nous avons posé f (t ) = 0 si t < 0 ). 3.5.2.4. Transformées des fonctions usuelles Nous donnons ci-après quelques résultats de transformées des fonctions les plus utiles dans notre domaine. On établit ainsi un
128
Trafic et performances des réseaux de télécoms
ensemble de paires de fonctions constituées de la fonction originale et de sa transformée. La fonction obtenue par la transformation inverse de la transformée de Laplace sera appelée fonction originale. En fait, elle sera retrouvée très souvent par inspection de cet ensemble de paires, d’où son importance. 3.5.2.4.1. Fonction échelon unité Par définition : 1 0
µ (t ) =
t≥0 t<0
Outre sa signification propre (valeur de 1 si t ≥ 0 ), cette fonction nous permettra d’exprimer par exemple qu’une fonction de répartition de probabilité n’existera qu’à partir de l’instant t = 0. Ainsi la fonction notée e −at µ (t ) est une fonction exponentielle qui n’existe qu’à partir de t = 0. On a :
µ (t ) ⇔
1 s
(3-61)
On pourra vérifier ci-après ce résultat en considérant la fonction exponentielle et sa transformée pour le cas limite où a = 0. 3.5.2.4.2. Fonction delta de Dirac (unité d’impulsion) Par définition : ∞
∫ δ (t )dt = 1 , avec δ (t ) défini entre −ε
et +ε
−∞
Cette fonction nous fournit essentiellement un moyen de traiter une discontinuité dans une fonction. Par exemple, elle permettra pour une variable discrète de définir sa densité de probabilité aux points particuliers où elle existe. Un autre exemple est celui de la valeur à l’origine. Ainsi, un équipement peut avoir en opération une fiabilité obéissant à une loi exponentielle, mais avec aussi une certaine
Probabilités
129
probabilité de fonctionner à l’instant d’origine. Cette probabilité à l’origine sera décrite par une fonction de Dirac. Par application directe de la définition de la transformée, on obtient : ∞
∫ δ (t )e
− st
dt = 1
0
soit :
δ (t ) ⇔ 1
(3-62)
et de même :
δ (t − θ ) ⇔ e − sθ
(3-63)
On en déduit la propriété importante : f (t ) ⊗ δ (t − θ ) ⇔ F * ( s )e − sθ
et donc : f (t ) ⊗ δ (t − θ ) = f (τ − θ )
La convolution avec un delta de Dirac décalé dans le temps décale aussi la fonction dans le temps. On note aussi la fonction de Dirac comme suit : u0 (t ) = δ (t )
et : t
u−1 (t ) =
∫ u ( x)dx 0
−∞
On a alors : u−1 (t ) = µ (t )
130
Trafic et performances des réseaux de télécoms
c’est-à-dire que la fonction échelon est l’intégrale de la fonction impulsion de Dirac. Et, de manière générale pour les intégrales et dérivées d’ordre n de ces deux fonctions, nous aurons les relations suivantes : u− n (t ) =
t n −1 1 ⇔ n s (n − 1)!
(3-64)
un (t ) =
d un −1 (t ) ⇔ s n dt
(3-65)
3.5.2.4.3. Fonction exponentielle Ae − at µ (t ) ⇔
A s+a
(3-66)
3.5.2.4.4. Application Appliquons ces résultats à l’un de nos exemples précédents : f (t ) = Ae − at g (t ) = Be − bt
On a : F * (s) =
A B , G * (s) = s+a s+b
F * ( s )G * ( s ) =
AB AB 1 1 = − ( s + a )( s + b) a − b s + b s + a
et donc en repassant aux fonctions originales et par inspection des résultats précédents (voir fonction exponentielle) : f (τ ) =
AB − bτ e − e− aτ ) ( a −b
Probabilités
131
On retrouve bien sûr le même résultat que dans la section précédente. Etudions maintenant le cas remarquable de la somme de n variables exponentielles identiquement distribuées. La transformée de Laplace devient alors : A F * (s) = s+a
n
dont l’original est : f (t ) =
An t n −1 − at e (n − 1)!
(3-67)
Pour n = 1, la solution est évidemment : f (t ) = Ae − at
Vérifions que pour n = 2 la solution est : f (t ) = A2te− at
On a : ∞
∞
F * ( s ) = ∫ A te e dt = A ∫ te − ( s + a ) t dt 2
0
− at − st
2
0
∞
qui après simple intégration par parties ( ∫ udv , avec u = t et 0
A2 dv = e − ( s + a )t dt ), donne F * ( s ) = . ( s + a) 2
De proche en proche, on vérifiera de même que la solution générale An t n −1 − at est f (t ) = e . (n − 1)!
132
Trafic et performances des réseaux de télécoms
Nous verrons au chapitre 4 qu’il s’agit d’une loi importante : la loi Erlang n. 3.6. Fonction caractéristique, fonction génératrice, transformée en z Ces fonctions jouent un rôle considérable en probabilité et statistiques, grâce en particulier aux propriétés entre elles et les moments de la loi de probabilité, et à la facilité qu’elles offrent pour traiter les sommes de variables aléatoires. Entre toutes, notons le rôle fondamental de la fonction caractéristique, autre expression de la transformée de Laplace, comme outil de base de la théorie des files d’attente ainsi que nous le verrons dans les chapitres correspondants. 3.6.1. Fonction caractéristique 3.6.1.1. Définition On désigne par fonction caractéristique d’une variable aléatoire X, de fonction de répartition F(x), la fonction suivante :
φ (u ) =
∞
∫e
iux
dF ( x)
(3-68)
−∞
C’est en fait la transformée de Fourier de F(x). Mais nous avons aussi :
φ (is ) =
∞
∫e
− sx
dF ( x) = F * ( s )
−∞
On passera ainsi aisément de la fonction caractéristique à la transformée de Laplace. L’usage en probabilité de cette fonction, introduite par Laplace dans le cas de lois absolument continues, a surtout été développé grâce aux travaux du mathématicien Paul Lévy. On écrira alors cette fonction sous la forme suivante :
φ ( z) =
∞
∫e
−∞
zx
dF ( x) , avec z variable complexe
(3-69)
Probabilités
133
Dans le cas d’une variable discrète, on écrira :
φ ( z ) = ∑ pk e z
k
k
On peut écrire aussi, pour simplifier la notation :
φ ( z ) = E e zx
(3-70)
L’intérêt de la fonction caractéristique est d’une part qu’elle définit complètement la loi de probabilité, d’autre part qu’elle conduit à des relations simples entre elle et les moments de la loi de probabilité (en pratique, on a souvent affaire aux moments), et enfin qu’elle permet des calculs simples sur les sommes de variables aléatoires. Mais aussi nous verrons comment l’utiliser pour la résolution de problèmes complexes de files d’attente, via par exemple la méthode de Pollaczek, et pour la recherche de lois limites. A cet effet, nous présenterons ici succinctement quelques résultats essentiels associés à l’utilisation du théorème des résidus et conduisant à des applications extrêmement simples. 3.6.1.2. Propriétés Cette fonction existe toujours sur l’axe imaginaire, et est telle que φ (0) = 1 , φ (u ) ≤ 1 , φ (u ) est une fonction continue de u et est définie et positive. 3.6.1.3. Formule d’inversion Si F(x) est continue au point x : i∞+δ
1 dz F ( x) = e zxφ (− z ) ∫ z 2π i − i∞+δ
(3-71)
pourvu que cette intégrale converge. C’est une intégrale au sens de Cauchy dans le plan complexe, prise sur la droite x = δ (δ > 0) , parcourue de bas en haut. Ce résultat se démontre à partir de la fonction de Heaviside.
134
Trafic et performances des réseaux de télécoms
3.6.1.3.1. La notion d’indicateur d’événement et la fonction de Heaviside La fonction de Heaviside est définie comme suit : H ( x) = 1 , si x > 0 ; H ( x) =
1 , si x = 0 ; H ( x) = 0 , si x < 0 2
Pour x ≠ 0 on peut écrire : H ( x) =
i∞+δ
1 dz e zx ∫ z 2π i − i∞+δ
(3-72)
qui est, une intégrale de Cauchy dans le plan complexe, prise sur la droite x = δ, parcourue de bas en haut, de moins l’infini à plus l’infini, le contour se bouclant à l’infini. Par la suite, on notera par raison de commodité cette intégrale ∫ , le contour étant situé juste à droite de Cs
l’axe imaginaire pur. Cette fonction nous permet de définir la probabilité d’un événement : si on appelle indicateur d’événement x > 0 une fonction égale à 1 pour x > 0, et égale à 0 dans le cas contraire, soit la fonction H(x), alors on a la relation fondamentale suivante : la probabilité d’un événement est égale à l’espérance mathématique de son indicateur F ( x) = E {H ( x)} . Indicateur d’événement et fonction de répartition Soit maintenant une variable aléatoire X telle que définie précédemment. On a : P ( X ≤ x) = F ( x)
sa fonction caractéristique est :
φ ( z) =
∞
∫e
zx
dF ( x) = E (e zX )
−∞
Soit l’événement ( x − X ) . L’indicateur de l’événement ( x − X ) > 0 est H ( x − X ) , et donc :
Probabilités
F ( x) = E { H ( x − X )}
135
(3-73)
soit : 1 dz 1 dz F ( x) = E ez ( x− X ) = e zx E (e − zX ) ∫ ∫ z 2π i Cz z 2π i Cz
et finalement : F ( x) =
1 dz e zxφ (− z ) ∫ z 2π i Cz
si F(x) est continue au point x. On démontre ainsi l’expression de la fonction inverse de la fonction caractéristique. 3.6.1.3.2. Utilisation de la formule d’inversion Il s’agit ici de calculer l’intégrale. Rappelons qu’une intégrale de Cauchy est telle que si f(z), z étant une variable complexe, est une fonction holomorphe (voir annexe 1) dans le domaine D limité par une courbe fermée C, et si f(z), est continue dans D + C, alors on a pour tout point z0 de D : 1 f ( z) )dz = f ( z0 ) , ∫ 2π i C + z − z0
l’intégrale étant prise dans le sens direct (sens trigonométrique). On montre alors que f(z) est développable en série entière suivant les puissances de (z-z0) à l’intérieur (et sur la circonférence) du cercle C de centre z0, et la série converge tant que z est à l’intérieur de C. On pourra alors appliquer le théorème des résidus pour obtenir les 1 solutions, c’est-à-dire f ( z )dz = ∑ Ri avec Ri résidu au point 2π i C∫+ singulier zi (voir ci-après). La fonction caractéristique est très utile, car il sera souvent plus aisé d’exprimer les fonctions de variables aléatoires par leur fonction caractéristique (dans le cas de sommes de variables aléatoires par
136
Trafic et performances des réseaux de télécoms
exemple), puis d’en déduire la fonction de distribution résultante. Cependant, l’utilisation de la formule d’inversion, son intégration, n’est pas toujours facile (ni possible), des approximations seront parfois nécessaires. Bien souvent, on essaiera aussi de retrouver directement la fonction originale de la fonction caractéristique par simple inspection comme nous l’avons vu avec la transformée de Laplace. On pourra cependant dans de nombreux cas tirer directement parti de la formule d’inversion, d’une part pour en déduire des résultats asymptotiques comme nous allons le voir maintenant, mais aussi pour en déduire des résultats fondamentaux comme nous le verrons avec la méthode de Pollaczek (voir chapitre 7). L’application du théorème des résidus est alors fondamentale. En établissant la loi asymptotique, nous en présenterons rapidement les aspects essentiels. 3.6.1.4. Loi asymptotique Nous cherchons une expression asymptotique de F(x) pour x grand. Ceci nous servira pour la recherche des solutions exactes et approchées, dans la résolution des files d’attente. Repartons de la formule d’inversion et appliquons à cette intégrale le théorème des résidus. Théorème des résidus Rappelons le théorème des résidus : soit z1 un pôle ou un point singulier essentiel isolé de la fonction f(z), (f(z) est holomorphe dans un cercle de centre z1 sauf en z1), on appelle résidu de f(z) en ce point 1 le coefficient R1, de dans le développement de Laurent autour z − z1 de ce point. Soit C une courbe fermée simple décrite dans le sens direct. Si à l’intérieur de C, f(z) n’a d’autre singularité que z1, alors : 1 f ( z )dz = R1 2π i C∫+
En effet, on peut remplacer C par toute autre courbe analogue, un cercle de centre z1 par exemple, et on vérifierait donc que cette
Probabilités
137
expression est bien le coefficient 1/(z- z1) dans le développement en série de Laurent de f(z) (voir annexe 1). Et de manière générale le théorème des résidus est : 1 f ( z )dz = ∑ Ri 2π i C∫+
(3-74)
Calcul des résidus De manière générale, pour avoir le résidu de f(z) au pôle zi, on développera f(z) en série de Laurent autour de zi., et le résidu sera le coefficient de 1/(z- zi). On utilisera aussi le développement en série de Taylor (voir annexe 1) : zi étant un pôle d’ordre n, le résidu en ce pôle est égal au coefficient de (z-zi)n-1 dans le développement en série de Taylor de ψ ( z ) = ( z − zi ) n f ( z ) . Soit : Rn =
1 d n −1 ( z − zi ) n f ( z ) n −1 (n − 1)! dz
En particulier pour un pôle simple z1, si f ( z ) =
P( z ) avec P ( z1 ) ≠ 0 Q( z )
et Q( z1 ) = 0, on a : limite R1 = lim z → z1 R1 =
( z − z1 ) P ( z ) P( z ) = lim z → z1 Q( z ) ( Q( z ) − Q( z1 ) ) /( z − z1 )
P ( z1 ) Q '( z1 )
Exemple 1 . On a un pôle simple z1 = –1 et ( z + 1)( z − 1) 2 un pôle double z2 = 1. Au pôle double en posant z = 1 + h, (h infiniment petit), on a le développement en série de Laurent :
Soit la fonction f ( z ) =
138
Trafic et performances des réseaux de télécoms
1 1 = = h (2 + h) 2h 2 (1 + h ) 2 2 3 1 h h h 1 1 1 1 (1 − + − ⋅⋅⋅) = 2 − + − h ⋅⋅⋅ 2h 2 2 4 8 2h 4h 8 6 f ( z) =
2
1 Le résidu, coefficient de 1/h (i.e. de 1/(z–1)), est donc R2 = − . De 4 1 même au pôle simple en posant z = –1 + h on obtient R1 = (on 4 laisse le lecteur faire l’exercice).
On obtient aussi directement ces résultats par application de la formule générale, et par exemple : 1 1 R1 = [ ( z + 1) f ( z )]z = z =−1 = = , 2 1 ( z − 1) z = z1 =−1 4 1/( z − 1) 2 1 ou encore : R1 = = ( z + 1) ' z = z1 =−1 4
De même : R2 =
−1 d 1 ( z − 1) 2 f ( z ) donc R2 = =− 2 z = z 2 dz 4 ( z + 1) z = z2 =1
Résultat asymptotique Etablissons maintenant le résultat asymptotique recherché. Supposons que notre intégrale ait pour premier point singulier un pôle simple z1 (nécessairement réel), le théorème des résidus appliqué à la formule d’inversion aux pôles z = 0 et z1 donne : i∞+δ
1 R 1 dz F ( x) = 1 + 1 e z1 x + e zxφ (− z ) ∫ 2π i − i∞+δ1 z1 z
avec δ1 < z1, et R1 résidu de Φ(–z) au pôle z1.
Probabilités
139
D’où l’on déduit, pour x très grand, la dernière intégrale tendant vers zéro quand x croît indéfiniment : F ( x) ≈ 1 −
− R1 z1 x −R e , et donc aussi P (> x) ≈ 1 e z1 x z1 z1
(3-75)
qui peut aussi s’écrire, en considérant cette fois Φ(z) et son résidu à son pôle z1 : P (> x) ≈
− R1 − z1 x e z1
(3-76)
Nous verrons plusieurs applications très simples de ce résultat fondamental dans le chapitre 7. On obtient ainsi, bien sûr, la solution exacte lorsque le point singulier est un pôle unique. 3.6.1.4.1. Moments Si dans la définition nous remplaçons e zx par son développement en séries entières, soit : e zx = 1 + x
z z2 zn + x 2 + ⋅⋅⋅ + x n + ⋅⋅⋅ n! 1! 2!
On obtient :
φ ( z ) = 1 + m1
z z2 zn + m2 + ⋅⋅⋅ + mn + ⋅⋅⋅ n! 1! 2!
et donc en dérivant à l’ordre n :
φ n (0) = mn
(3-77)
mn étant le moment d’ordre n par rapport à l’origine comme défini précédemment.
L’utilisation de la fonction caractéristique permettra donc d’obtenir aisément les moments.
140
Trafic et performances des réseaux de télécoms
3.6.1.4.2. Exemple d’application Soit X une variable aléatoire et f ( x) = λ e − λ x , avec f ( x) = 0 si x < 0 . Sa fonction caractéristique est : ∞
∞
0
0
φ ( s ) = ∫ e zx λ e− λ x dx = λ ∫ e( z −λ ) x dx =
λ λ−z
et :
φ '( z ) =
λ (λ − z )
, φ "( z ) =
2
2λ (λ − z ) 3
d’où : E [ X ] = m1 = φ ' (0) =
1
λ
E X 2 = m2 = φ " (0) =
2
λ2
et : 2
σ2 = X2 − X =
1
λ2
3.6.1.4.3. Somme et différence de variables aléatoires indépendantes Soit la variable Y = X1 + X2, X1 et X2 étant deux variables aléatoires indépendantes. Désignons par φ(z), φ1(z), φ2(z), les fonctions caractéristiques respectivement de Y, X1 et X2. Or, par définition, nous avons :
φ ( z ) = E e z ( x + x ) 1
2
donc :
φ ( z ) = E e zx e zx 1
2
Probabilités
141
Et en utilisant les propriété sur les moyennes :
φ ( z ) = E e zx E e zx 1
2
D’où la relation importante :
φ ( z ) = φ1 ( z )φ2 ( z )
(3-78)
De même pour la différence Y = X1 – X2 , on obtient :
φ ( z ) = φ1 ( z )φ2 (− z )
(3-79)
Ces résultats se généralisent facilement au cas de n variables indépendantes. 3.6.1.5. Transformées des fonctions usuelles De la même manière que pour la transformée de Laplace, nous avons pour la fonction caractéristique quelques relations de base, fondamentales pour nos applications. La correspondance avec les transformées de la section précédente est évidente, compte tenu de la relation signalée en introduction : φ (is ) = F * ( s ) . Nous donnerons dans le chapitre 4 un ensemble plus complet des fonctions caractéristiques relatives aux lois usuelles (Poisson, binomiale, etc.). 3.6.1.5.1. Fonction certaine (ou presque sûre) 1 F ( x) = 0
x
C’est typiquement le cas d’une loi de durée de service constante.
φ ( z ) = eaz
(3-80)
3.6.1.5.2. Fonction exponentielle Cette loi nous servira aussi énormément dans les problèmes de files d’attente pour décrire et les durées de service et les temps interarrivées :
142
Trafic et performances des réseaux de télécoms
f ( x) = Ae− ax , si x ≥ 0
0 x<0 F ( x) = − ax 1 − Ae x ≥ 0
φ (z) =
A a−z
(3-81)
3.6.1.5.3. Loi géométrique pn = pq n i (n = 0,1, 2..) , avec q = 1 − p F (n) = 1 − q n +1
φ ( z) =
p 1 − qe z
(3-82)
3.6.2. Fonction génératrice 3.6.2.1. Définition Dans le cas de variables aléatoires discrètes, nous avions :
φ ( z ) = ∑ pk e zx
k
k
Lorsque X ne prend que des valeurs entières positives, il est alors pratique d’introduire le concept de fonction génératrice des pk, définie comme suit : F ( z ) = ∑ pk z k
(3-83)
k
où z est une variable complexe. On l’appelle aussi transformée en z. Cette fonction est définie pour z < 1 , du fait de la relation F (1) = ∑ pk = 1 . k
On a aussi :
Probabilités
φ ( z ) = F (e z )
143
(3-84)
La fonction caractéristique s’obtient à partir de la fonction génératrice par simple changement de variable. 3.6.2.2. Moments De la définition, on déduit aussi directement la propriété importante relative aux moments. En effet, on a : F '( z ) = ∑ kpk z k −1 k
et : F '(1) = ∑ kpk k
donc : E [ X ] = X = m1 = F '(1)
(3-85)
Et aussi : F "( z ) = ∑ k ( k − 1) pk z k − 2 k
d’où : F "(1) = ∑ k (k − 1) pk = X ( X − 1) = X 2 − X k
et donc : 2
σ 2 = X 2 − X = F "(1) + F '(1) − F '2 (1)
(3-86)
3.6.2.3. Transformées usuelles De même que pour la transformée de Laplace, nous avons quelques paires remarquables.
144
Trafic et performances des réseaux de télécoms
3.6.2.3.1. Fonction échelon unité
µk = 1 , pour k = 0,1,2… Et donc : F ( z ) = ∑1z k = k
1 1− z
soit :
µk ⇔
1 1− z
(3-87)
3.6.2.3.2. Fonction géométrique f k = Aa k , pour k = 0, 1, 2, … F ( z ) = ∑ Aa k z k = k
Aa k ⇔
A 1 − az
A 1 − az
(3-88)
(Le lecteur fera aisément le lien avec la formule (3-82).) 3.6.2.4. Convolution Enfin, de même que pour la transformée de Laplace, on démontrerait aisément que : f k ⊗ g k = F ( z )G ( z )
(3-89)
le produit de convolution de fonctions est égal au produit de leurs transformées. Exemple d’application L’exemple du multidébit. Nous allons appliquer la méthode des fonctions génératrices à un problème très important dans le monde du
Probabilités
145
multimédia, celui du mélange de services à différents débits. Supposons que le nombre d’appels (ou services) en cours d’un type donné (de débit donné) obéit à une loi de Poisson. Nous dirons que ces appels sont engendrés par une source poissonnienne. On cherche le débit total demandé par des sources de débits différents. La loi de Poisson étant : p(k ) =
λk k!
e− λ
on a par définition : F ( z) = ∑
λk k!
k
e−λ z k = e−λ ∑ k
(λ z ) k k!
donc : F ( z ) = eλ ( z −1)
Dans le cas où chaque appel engendré a un débit d, on dira qu’un appel utilise d ressources du lien de transmission, par exemple d mégabits/s sur un lien de capacité totale D mégabits/s supposée ici infinie. Si on a k appels simultanément en cours, le nombre de ressources requises, ou débit total demandé, est alors kd. Et donc : p(kd ) =
λk k!
F ( z) = ∑
λk
k
F ( z ) = eλ ( z
Or :
e−λ
k! d
e − λ z kd = e − λ ∑
−1)
k
(λ z d ) k k!
146
Trafic et performances des réseaux de télécoms
λ ( z d − 1) = λ ((1 + z − 1)d − 1) = λ (1 + d ( z − 1) +
d (d − 1) ( z − 1)2 + ⋅⋅⋅ − 1) 2!
donc : F ( z) = e
λ ( d ( z −1) +
d ( d −1) ( z −1)2 +⋅⋅⋅ ) 2!
Cette expression correspondant à une source va maintenant nous servir de référence dans le cas de sources différentes. Soit maintenant plusieurs sources poissonniennes indépendantes de paramètre de débit d1, d2, … On a immédiatement : F ( z ) = F1 ( z ) F2 ( z ) + ⋅⋅⋅ = ∏ eλi ( z
di
−1)
et : F ( z) = e A
avec : A = (λ1d1 + λ2 d 2 + ⋅⋅⋅)( z − 1) + (λ1d1 ( d1 − 1) + λ2 d 2 (d 2 − 1) + ⋅⋅⋅)( z − 1)2 + ⋅⋅⋅ 2!
ce qui nous donne tous les paramètres de la loi résultante, et qui n’est donc pas une loi de Poisson par comparaison avec le résultat précédent pour une seule source. Cependant, on peut remarquer qu’en posant :
λ1d12 + λ2 d 2 2 δ= λ1d1 + λ2 d 2 on obtient : A=
(λ1d1 + λ2 d 2 + ⋅⋅⋅) δ (δ − 1) ( z − 1)2 + ψ ( z − 1) δ ( z − 1) + 2! δ
Probabilités
147
et donc : F ( z) = e
( λ1d1 + λ2 d 2 +⋅⋅⋅ ) δ (δ −1) 2 δ ( z −1) + 2! ( z −1) +ψ ( z −1) δ
Expression qui en négligeant les termes en z–1 de puissance supérieure à 2, est comparable à celle relative à une seule source. Le système à deux sources de débits différents équivaut donc à une (λ d + λ2 d 2 + ⋅⋅⋅) source poissonnienne de paramètre λ = 1 1 et de débit
δ λ1d12 + λ2 d 2 2 . Ce résultat se généralise aisément à un nombre δ= λ1d1 + λ2 d 2 quelconque de sources.
Le lecteur notera que, dans le cas de sources de même débit d = d1= d2..., on retrouve bien sûr la loi de Poisson de paramètre λ = λ1+ λ2... Interprétation physique Pour mieux comprendre ce résultat, nous pouvons aussi traiter le problème par le biais des moments. Pour une source seule nous avons, d’après la définition des moments : X = d ∑ kpk = λ d X 2 = d 2 ∑ k 2 pk = d 2 ( λ 2 + λ )
et donc : m = λd 2
σ 2 = X 2 − X = λd 2 Grâce aux propriétés des variables indépendantes, on a pour nos deux sources de débits différents une loi dont les moments sont : m = λ1d1 + λ2 d 2
σ 2 = λ d12 + λ d 2 2
148
Trafic et performances des réseaux de télécoms
si on veut maintenant approximer cette loi par une source unique obéissant à une loi de Poisson de paramètres λ et δ , on doit écrire :
λδ = λ1d1 + λ2 d 2 et :
λδ 2 = λ d12 + λ d 2 2 et donc :
λ1d12 + λ2 d 2 2 δ= λ1d1 + λ2 d 2 et :
λ=
(λ1d1 + λ2 d 2 )
δ
On retrouve le résultat précédent : en approximant le résultat exact obtenu à partir de la transformée en z, nous ne faisons qu’approximer à une loi de Poisson par simple ajustement des seuls deux premiers moments. Cette approximation permet d’assimiler le phénomène complexe du multidébit à un processus poissonnien simple, de taux d’arrivée réduit d’appels à débit unique δ. Nous verrons dans nos applications ultérieures à l’ingénierie des réseaux IP l’intérêt de tels résultats.
CHAPITRE 4
Lois de probabilité
Les phénomènes gouvernés par le hasard présentent évidemment une grande diversité se traduisant par la mise en œuvre de nombreuses classes de lois de probabilité pour les représenter. On décrit dans ce chapitre certaines de ces lois, les plus importantes et les plus utilisées dans notre domaine, en donnant leurs principales caractéristiques (fonction de distribution, moments, transformée), et en indiquant les « circonstances » qui pousseront à adopter telle ou telle loi. L’ingénieur mettra en œuvre ces lois dans différentes circonstances. Par exemple, une campagne de mesure a permis de construire une distribution expérimentale du phénomène étudié, et on cherchera à construire un modèle rendant compte des observations. Il s’agira d’ajuster une loi statistique à cette distribution, de façon plus ou moins empirique. Ou encore, il s’agira de choisir a priori un modèle d’un processus, pour un système en projet par exemple. Le choix d’une hypothèse de fonction de répartition pourra se faire en invoquant une raison, intuitive ou mathématique, qui justifiera l’adoption a priori d’une loi (par exemple, durée de service exponentielle ou constante). Le choix sera naturellement fortement appuyé sur l’expérience. Enfin se présentera le besoin d’analyser un processus de comportement connu ou donné et décrit par une loi donnée (ce peut être le résultat d’une des étapes précédentes). Il s’agira alors d’étudier les propriétés découlant de cette loi (fonction de
150
Trafic et performances des réseaux de télécoms
distribution d’une variable, moments, etc.), pour en déduire par exemple des probabilités de succès, d’échec. Selon les cas, les phénomènes se représentent par des lois discrètes (nombre d’arrivées dans une fenêtre d’observation ; nombre de pannes, etc.) ou continues (temps de service ou autres durées). Notant X la variable aléatoire, sa loi sera donc de type discret, définie par une distribution : pi = P { X = i}
(4-1)
ou continue, définie par la fonction de répartition ou la densité de probabilité : P ( x) = P { X ≤ x} , f ( x) =
d P( x) dx
(4-2)
4.1. La loi uniforme (discrète) La loi uniforme est la loi discrète la plus simple à envisager. Imaginons une variable discrète (on en notera les valeurs possibles 1, 2, …, sans perte de généralité), dont chaque occurrence se produit avec la même probabilité : on parle d’équiprobabilité, et il s’agit d’une hypothèse de modélisation assez fréquente. Le lancement d’un dé non truqué en est l’exemple le plus évident, chacune des faces (1, 2, …, 6) sortant avec la même fréquence : le modèle probabiliste consiste à donner à chaque événement élémentaire (sortie d’un nombre) la même probabilité 1/6. Une variable discrète comprise entre les valeurs a et b prend b − a + 1 valeurs. Elle obéit à une loi uniforme, notée U(a,b), si sa distribution de probabilité est : P( X = k ) =
1 , a≤k ≤b b − a +1
On calcule aisément la moyenne :
(4-3)
Lois de probabilité
151
a −1 k 1 b = − k k = ∑ ∑ b − a +1 1 k =a b − a + 1 1 k =b
m = ∑ kP ( X = k ) = ∑
1 b(b + 1) − (a − 1)a a + b = 2 2 b − a + 1
moyenne : m =
a+b 2
(4-4)
Le même genre de calcul, utilisant la formule donnant la somme des n n(n + 1)(2n + 1) carrés : ∑ k 2 = donne le deuxième moment, puis la 6 1 variance, au prix de calculs fastidieux mais élémentaires. variance : Var =
(b − a )(b − a + 2) 12
(4-5)
On examinera plus loin la version continue de la loi uniforme. 4.2. La loi binomiale La loi binomiale intervient dans de nombreuses applications des probabilités. Supposons par exemple que l’on observe un lot de pièces soumises à un contrôle de qualité. Supposons que chaque pièce puisse être défectueuse, avec une probabilité p. Les phénomènes qui rendent la pièce défectueuse ou non sont tels que l’état d’une pièce (défectueuse ou correcte) n’influence pas celui des autres pièces. Le tirage d’une pièce au hasard dans le lot extrait une pièce défectueuse avec probabilité p. Maintenant, supposons que le contrôle porte sur un lot de N pièces, combien de pièces défectueuses observera-t-on ? Plus précisément, puisque l’expérience est de nature aléatoire, quelle probabilité aura-t-on d’observer 0, 1, 2, … pièces défectueuses parmi les N choisies ? Ce problème est un dénombrement classique de l’analyse combinatoire. Tout tirage répondant au critère consistera à extraire k pièces défectueuses, et N–k correctes. Il y a plus d’une façon d’obtenir un tel événement. Par exemple, si on note 1 une pièce correcte et 0 une pièce défectueuse, les tirages : 110011, 111100, 001111, etc.
152
Trafic et performances des réseaux de télécoms
aboutissent tous à « 2 pièces défectueuses sur 6 ». Chacune de ces expériences élémentaires a une probabilité d’occurrence p k (1 − p ) N − k (il faut que, k fois et k fois seulement, un défaut ait été détecté). Mais l’ordre dans lequel les pièces défectueuses sont prélevées n’a pas d’importance, la probabilité de l’événement sera la somme des probabilités individuelles (les événements sont clairement exclusifs), qu’il s’agit de dénombrer. Il s’agit de placer k boules dans N urnes, de sorte que chaque urne ne contienne qu’une boule au plus. Il y a N façons de choisir la première urne, N-1 de choisir la seconde, etc. soit au total N ( N − 1)( N − 2)...( N − k + 1) = N !/( N − k )! possibilités. Mais l’énumération a compté k ! fois chacune des configurations (l’urne 1, si elle est remplie, a pu l’être à chacun des k placements, etc.). N N! Finalement, on se trouve en présence de = tirages k !( N − k )! k pour notre événement, et : N P (k ) = P (k parmi N ) = p k (1 − p ) N − k k
C’est la loi du binôme (ainsi nommée parce que le N correspond au développement de [ p + (1 − p )] ). On moments de cette distribution, par exemple en écrivant caractéristique et en utilisant les résultats généraux moments à ses dérivées (voir chapitre 3).
(4-6) terme P(k) calcule les la fonction reliant les
On obtiendra la fonction caractéristique de la façon suivante : pour un seul tirage, elle s’écrit : φ ( z ) = E (e zx ) = q + pe z puisque le résultat est x = 1 avec probabilité p, et 0 sinon. Donc pour N tirages indépendants (puisque la fonction caractéristique de la somme de variables aléatoires indépendantes est le produit des fonctions caractéristiques individuelles, voir chapitre 3) :
φ ( z ) = (q + pe z ) N
(4-7)
dont on déduit : Moyenne : m = ∑ kP (k ) = φ '( z )( z = 0) = N (1 − p + pe z ) N −1 pe z ( z = 0) = Np
(4-8)
Lois de probabilité
Variance : Var = ∑ k 2 P( k ) − m 2 = ϕ "(0) − (φ '(0) ) = Np(1 − p ) 2
153
(4-9)
La figure 4.1 donne un exemple de forme de la densité de probabilité de la loi binomiale. 0 ,2 5
P(k)
0 ,2 0 ,1 5
N = 1 5 , p = 0 .3 0 ,1 0 ,0 5 0 0
1
2
3
4
5
6
7
k
8
9
10 11 12 13 14 15
Figure 4.1. Histogramme d’une distribution binomiale
La loi binomiale intervient fréquemment dans les calculs mettant en jeu des éléments indépendants. Dans le domaine du trafic, elle intervient entre autres comme un cas limite de la loi d’Engset, qui donne la probabilité d’encombrement dans les concentrateurs de lignes d’abonnés. Pour la somme de plusieurs variables, nous avons la propriété suivante. THÉORÈME.– Si deux variables discrètes X et Y suivent des lois binomiales de paramètres respectifs (N, p) et (M, p), alors X + Y suit une loi binomiale de paramètres (N+M, p). La preuve en est immédiate : la fonction caractéristique de la somme des variables est le produit des fonctions caractéristiques individuelles, d’où le résultat. 4.3. La loi multinomiale La loi multinomiale généralise la loi binomiale. Supposons que l’on distingue m types possibles dans la population (m types de pannes,
154
Trafic et performances des réseaux de télécoms
pour reprendre l’exemple précédent), de sorte que le type k soit en proportion pk (avec évidemment ∑ pk = 1 ). On cherche la probabilité d’observer, lors d’un tirage de N objets, n1 objets de type 1, etc., nm objets de type m, avec n1 + n2 + ... + nm = N . On a : P (n1 , n2 ,..., nm ) =
N! p n1 . p n2 ... p nm n1 !n2 !...nm !
(4-10)
Les usages de cette loi sont nombreux. Imaginons par exemple que l’on cherche la répartition des trafics des sources connectées à un élément de réseau : clairement, ces trafics (exprimés en erlangs) sont distribués entre 0 et 1. On peut définir des catégories, selon les usages du service (abonné professionnel, résidentiel). Pour deux catégories, la répartition sera binomiale. Pour plusieurs catégories (correspondant à des catégories socio-économiques ; typiquement : inférieur à 0.03, de 0.03 à 0.05, …, supérieur à 0.12), la distribution du nombre d’abonnés dans chaque catégorie, pour une population donnée, suivra une loi multinomiale. On utilisera ainsi ce type de distribution lorsque l’on dimensionnera une unité de raccordement d’abonnés. De façon générale, on rencontrera cette loi chaque fois qu’il s’agira de traduire le comportement d’un mélange de population limitée composée d’individus aux caractéristiques différentes. 4.4. La loi géométrique Une distribution discrète sera dite géométrique si : pk = (1 − p ) p k , 0 < p < 1, k = 0,1,...
(4-11)
Considérons par exemple un protocole de transport de données avec détection et correction des erreurs. Chaque paquet a une probabilité p d’être erroné. Si le paquet est transmis correctement, aucune retransmission n’est nécessaire : l’événement a la probabilité 1 − p . Une erreur peut être corrigée par la transmission suivante : probabilité p(1 − p ) . Dans le cas général, on observera k retransmissions si les k premiers envois sont erronés, le k + 1 ème étant correct : P (k retransmissions) = (1 − p ) p k
Lois de probabilité
155
Les moments de cette distribution s’évaluent facilement. Ainsi, la moyenne sera : d m = ∑ kpk = ∑ kp k (1 − p ) = p(1 − p )∑ kp k −1 = p(1 − p ) ( ∑ p k ) = dp p(1 − p )
d 1 p . = dp 1 − p 1 − p
Ce même calcul peut être répété pour la variance. En fait, il montre encore une fois l’intérêt de faire appel aux transformées (fonctions caractéristiques ou fonctions génératrices), qui fournissent les moments par simples dérivations successives. On illustrera l’usage comparé des deux approches. Dans le cas de la loi géométrique, la fonction génératrice s’écrit : 1− p 1 − pz
(4-12)
p 1− p
(4-13)
p (1 − p) 2
(4-14)
B ( z ) = ∑ z k pk = ∑ ( zp ) k (1 − p) =
dont on déduit immédiatement : Moyenne : m = ∑ kpk = B '( z ) z =1 = Variance : Var = ∑ (k − m)2 pk =
De la même manière, on a la fonction caractéristique :
φ ( z ) = ∑ e zk pk =
1− p 1 − pe z
(4-15)
dont on déduit les moments comme précédemment par dérivation, cette fois en z = 0, avec : m = φ '( z )( z = 0) et Var = ϕ "(0) − (φ '(0) )
2
(On laisse au lecteur le soin de vérifier ce résultat.)
156
Trafic et performances des réseaux de télécoms
On trouve parfois cette loi présentée sous une forme légèrement différente : supposons que dans l’exemple précédent on ait songé à estimer la probabilité de k transmissions au total. On voit facilement que cette fois il faut écrire : P (k transmissions) = (1 − p ) p k −1
4.5. La loi hypergéométrique Reprenons l’expérience qui a conduit à la loi binomiale : le tirage au hasard dans une population d’un élément ayant un type donné avec une probabilité donnée. Imaginons une expérience sur une population de taille finie H, dans laquelle une proportion p est du type choisi (c’est-à-dire qu’il y a M = Hp éléments du type choisi). L’expérience, qui consiste à tirer au sort N éléments, est conduite selon le mécanisme « sans replacement » (c’est-à-dire que l’on ne réintroduit pas les éléments déjà prélevés pour le tirage suivant), dit aussi tirage exhaustif. A chaque nouveau tirage, la population a une taille qui diminue et la proportion d’éléments du type donné va se modifier. On ne peut pas utiliser la loi binomiale, qui suppose une proportion constante. Il faut faire appel à la loi hypergéométrique. La probabilité d’extraire k éléments du type T au cours du tirage de N éléments dans une population de taille H contenant M éléments de type T (proportion p = M / H ) est : M H − M k N −k P (k ) = H N
(4-16)
pour max (0, N + M − H ) ≤ k ≤ min( M , N )
C’est le quotient du nombre de façons de réaliser l’événement au cours du tirage (choisir k parmi les M, et en choisir N–k parmi les autres) par le nombre de tirages possibles. Les moments de cette distribution sont :
Lois de probabilité
Moyenne : N
M = Np H
Variance : σ 2 = N
M ( H − M )( H − N ) H −N = Np (1 − p ) é H ( H − 1) H −1
157
(4-17) (4-18)
On comparera avec une loi binomiale, de même paramètre p, sur lequel on prélève N éléments. Les moyennes sont identiques, et pour les variances : Var ( HyperG ) H − N = Var ( Binom) H −1
(4-19)
Lorsque la taille de la population augmente indéfiniment ( H → ∞ ), ce rapport tend vers 1 : si effectivement la taille est très grande, le prélèvement des N éléments ne change pas significativement la composition du bloc restant, et on s’attend bien à ce genre de limite. En d’autres termes, la loi hypergéométrique tend vers une loi binomiale quand la population croît vers l’infini. 4.6. La loi de Poisson Une variable discrète, prenant toutes les valeurs possibles de 0 à l’infini, obéit à une loi de Poisson de paramètre λ si sa distribution a la forme : P(k ) =
λk k!
e−λ
(4-20)
Le paramètre λ , sans dimension, caractérise la loi. On rencontre la loi de Poisson dans diverses circonstances. En particulier, si un flux arrive selon un processus de Poisson (voir chapitre 7), alors le nombre des arrivées observées dans une fenêtre de longueur T sera distribuée selon une loi de Poisson de paramètre Λ = λT . Cela fait de cette loi discrète une loi fondamentale dans le domaine du télétrafic, notamment quand il s’agit de décrire les arrivées de messages, appels, sessions dans les systèmes de communication. Les conditions qui autorisent l’usage de cette loi sont détaillées au chapitre 7.
Trafic et performances des réseaux de télécoms
On écrira la fonction caractéristique, dont les moments découlent :
φ ( z ) = ∑ ekz i
λk k!
e − λ = eλ ( e
Z
−1)
(4-21)
Moyenne : m = ∑ kpk = φ '( z = 0) = λ e z eλ ( e
z
−1)
=λ
Variance : Var = ∑ (k − m)2 pk = λ
(4-22) (4-23)
Les moments centrés d’ordre supérieur sont :
µ3 = λ , µ 4 = λ + 3λ 2 .
(4-24)
Loi de Poisson
P(k )
158
0,2 0,18 0,16 0,14 0,12 0,1 0,08 0,06 0,04 0,02 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
k
Figure 4.2a. Histogramme de la distribution de Poisson (λ = 5)
Les figures 4.2a et b illustrent l’allure de la distribution. Il s’agit d’une distribution discrète, et l’histogramme a la forme de la figure 4.2a. On a adopté une forme lissée pour la figure 4.2b. Des variables obéissant à une loi de Poisson se combinent simplement.
Lois de probabilité
159
0 ,2 5
λ=3 λ=5
0 ,2
λ=10
0 ,1 5
0 ,1
0 ,0 5
0 0
2
4
6
8 10 12 14 16 18 20
Figure 4.2b. Allure (lissée) pour différents coefficients
THÉORÈME.– Soit deux variables X et Y, obéissant à des lois de Poisson de paramètres respectifs λ et µ. Alors, X + Y obéit à une loi de Poisson de paramètre λ + µ. Comme l’a vu au chapitre 3, la preuve en est immédiate, la transformée (Laplace, fonction caractéristique...) de la somme étant le produit des transformées individuelles. Cette propriété est à retenir car nous aurons souvent affaire en trafic à la somme de flux obéissant à des lois de Poisson. Relation avec la loi binomiale La loi de Poisson est utilisée avec profit comme loi limite de la loi binomiale, lorsque la taille de la population croît indéfiniment, à moyenne constante. Considérons une loi binomiale, de moyenne donnée (que l’on notera A) et dont la population grandit (et donc p = A/N tend vers 0) : N A P ( X = k ) = k N
k
A 1 − N
N −k
160
Trafic et performances des réseaux de télécoms
En développant le coefficient du binôme, et en réarrangeant les termes judicieusement, on obtient : N
P( X = k ) =
−k
Ak A A N N −1 N − k +1 × ... × 1 − 1 − × × k! N N N N N
Faisons tendre N vers l’infini, en gardant A constant (et donc p tendant vers 0). Alors : A → 0; N
N
A −A 1 − → e ; N
k
A N N −1 N − k +1 × × ... × →1 1 − → 1; N N N N
Et donc : P( X = k ) →
Ak − A e k!
La limite de la loi binomiale dont la population grandit, à moyenne constante, est donc bien la loi de Poisson (l’intérêt de l’approximation est que la loi de Poisson est plus aisée à manipuler numériquement). En pratique, l’approximation est valable dès que N > 40 et p < 0.1. La loi de Poisson s’utilise aussi, comme nous le verrons plus tard, comme loi limite de plusieurs autres lois telles que la loi d’Erlang. D’où son application dans de nombreux domaines comme les statistiques et la fiabilité (par exemple, pour le calcul des lots de maintenance), mais aussi dans le domaine du trafic. En particulier, nous verrons dans le chapitre 7 une interprétation très intéressante d’un système à N clients et R serveurs, qui nous permettra d’expliciter la relation naturelle entre loi de Poisson, loi binomiale et loi d’Engset. 4.7. La loi uniforme (continue) La loi uniforme est le cas le plus simple de loi continue et correspond au passage à la limite du cas discret. Une variable aura une distribution uniforme entre a et b si la probabilité qu’elle prenne une valeur dans un intervalle de largeur l quelconque est l/(b-a). Puisqu’on est en présence d’une loi continue, on écrira sa densité de probabilité :
Lois de probabilité
f ( x)dx = P ( x ≤ x < x + dx) =
dx ; b−a
161
(4-25)
ainsi que sa distribution : P ( x) = 0 x < a x−a = a≤ x
(4-26)
P(x) 1
x a
b
Figure 4.3. Fonction de répartition de la loi uniforme
Les applications de cette loi sont multiples. Ce peut être la modélisation de durées de service particulières, par exemple si l’instant de service se représente périodiquement avec une période constante T pour des arrivées aléatoires (mise en paquet d’un échantillon de parole). Mais c’est aussi la loi qui servira comme base en simulation (et pour toutes les méthodes de Monte Carlo en général), pour la génération des variables aléatoires distribuées selon une loi donnée. La fonction caractéristique de la loi uniforme est :
φ ( z) =
ebz − e az (b − a ) z
(4-27)
d’où l’on déduit aisément (en développant en série les exponentielles par exemple) :
162
Trafic et performances des réseaux de télécoms
moyenne : E ( X ) = φ '(0) =
a+b et 2
Var ( X ) = φ "(0) − [φ '(0)] = 2
(b − a )
(4-28)
2
12
(4-29)
4.8. La loi de Gauss (loi normale) La loi normale (ou loi de Gauss) est probablement la distribution de probabilité la plus célèbre et la plus utilisée. Elle doit une grande partie de sa popularité aux travaux consacrés à la mesure et à la théorie des erreurs de mesure. Sa justification, dans cette utilisation, se fonde sur le théorème central limite, que l’on énoncera au chapitre 5, et qui montre que la somme d’un grand nombre de variables indépendantes et identiquement distribuées tend vers cette loi, quelle que soit la distribution de ces variables. Par exemple, les erreurs de mesures sont multiples et s’ajoutent, l’erreur autour de la « vraie » valeur sera donc distribuée selon la loi normale. Ses applications dans notre domaine sont multiples, allant des études de fiabilité à la simulation, en passant par les files d’attente. En effet, de nombreux phénomènes physiques (nombre de pannes sur un parc de matériel, nombre de clients en attente dans un pool commun à plusieurs serveurs, etc.) ont une loi de distribution approchant une loi normale car résultant de la somme d’un grand nombre de variables indépendantes, justifiant ainsi l’application du théorème central limite. De façon formelle, une variable aléatoire X obéit à une loi normale, de moyenne m et d’écart-type σ que l’on note traditionnellement N (m, σ 2 ) si sa distribution de probabilité est donnée par : P ( X ≤ x) =
1 σ 2π
∫
x
−∞
e−( x −m)
2
/ 2σ 2
dx, −∞ < x < ∞
(4-30)
Le coefficient précédant l’intégrale permet de normaliser (de sorte qu’on ait bien P ( X ≤ ∞) = 1 comme il se doit). Le terme σ, l’écarttype, rend compte de l’aplatissement de la densité autour de la
Lois de probabilité
163
moyenne (voir figure 4.4). On appelle aussi dispersion relative ou coefficient de variation l’expression σ r =
σ
m
.
0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0
σ=1 σ=3
-4
-3
-2
-1
0
1
2
3
4
Figure 4.4. Densité de la loi normale
Cas de la somme de plusieurs variables Conformément aux propriétés de sommes de variables indépendantes telles que démontrées dans le chapitre 3, il est aussi intéressant de noter dès à présent le résultat suivant qui permet de manipuler les sommes de variables normales. THÉORÈME.– Soit deux variables normales X = N (m1 ,σ 1 ) et Y = N (m2 , σ 2 ) . La variable somme X + Y est distribuée selon une loi normale N (m1 + m2 , σ 12 + σ 22 ) . Ce résultat se généralise bien sûr au cas quelconque de n variables. On notera en particulier que pour n variables identiques, la dispersion relative de la somme (son coefficient de variation) devient
σr =
σ
. Pour n très grand, la dispersion relative devient très m n faible, la variable somme tend vers une variable presque sûre. On constate l’étalement de la distribution lorsque l’écart-type s’accroît (voir figure 4.5).
164
Trafic et performances des réseaux de télécoms
1 0.5 0 -4
-3
-2
-1
0
1
2
3
4
Figure 4.5. Fonction de répartition de la loi normale (écart-type = 1)
En fait, on utilisera rarement la loi normale sous cette forme. Si X est distribuée selon une loi N (m, σ 2 ) , alors il est clair que X − m est de moyenne 0 et de variance identique à X. C’est la loi centrée. Et de même il est clair que ( X − m) / σ sera de variance unité : c’est la loi réduite, ou loi de Laplace. Sous cette forme, elle présente un caractère « universel », qui autorise à la tabuler. La loi réduite s’écrit : 1 Φ ( x) = 2π
∫
x
−∞
e
−
x2 2
x2
1 −2 dx, ϕ ( x) = e 2π
(4-31)
et sa fonction caractéristique s’écrit :
ϕ (z) = e
z2 2
(4-32)
Il est difficile de calculer explicitement Φ ( x) , il faut recourir à des tables ou à des programmes numériques de bibliothèques scientifiques. Des approximations, assez efficaces, ont été proposées : Φ ( x) = 1 − ϕ ( x) au 2 + bu + c , u =
1 1 + 0.33267 x
a = −0.1201676
avec b = 0.4361836 c = 0.9372980 L’erreur avec cette formule est de l’ordre de 10–5.
(4-33)
Lois de probabilité
165
Utilisation d’une table On trouvera dans l’annexe 2 une table succincte des valeurs de la distribution d’une variable normale réduite. Tous les ouvrages de statistiques fournissent des tables très complètes auxquelles on pourra se référer si nécessaire. La table donne la valeur des bornes de l’intervalle [− a, a ] , tel que la probabilité qu’une variable normale réduite soit hors de l’intervalle. Autrement dit, l’intervalle contient la variable avec une probabilité 1-P. Ainsi, 1 % des valeurs seront hors de l’intervalle [–2,576, 2,576] et environ la moitié des valeurs seront hors de l’intervalle [–0,615, 0,674]. Du fait de la symétrie de la loi, les probabilités situées de chaque côté des bornes sont identiques : P ( X < −2,576) = P ( X > 2,576) = 0,005
Il s’agit de tables pour une loi réduite. On en déduit les valeurs pour une loi quelconque. Soit par exemple une variable distribuée selon une loi de moyenne 10 et d’écart-type 15. Quelle est la probabilité que cette variable dépasse la valeur 30 ? On écrira : X − 10 30 − 10 > = 2 P ( X > 30) = P 15 15
La probabilité que notre variable dépasse 30 est donc la probabilité que la variable réduite dépasse 2. La table en annexe 2 nous dit que la probabilité correspondante sera de l’ordre de 0.045/2 ≈ 0.023. La loi normale comme loi-limite De nombreuses lois, continues ou discrètes, admettent la loi normale comme limite quand un de leurs paramètres augmente. Ainsi, pour les lois discrètes déjà rencontrées : – loi binomiale : Z = B(n,p), alors ( Z − np) / np (1 − p ) converge vers N(0,1) si n → ∞ ; les conditions pratiques généralement admises sont : p > 0,5 et np > 5, ou p < 0,5 et n(1-p) > 5 ;
166
Trafic et performances des réseaux de télécoms
– loi de Poisson : Z = P(λ), alors ( Z − λ ) / λ converge vers N(0,1) quand λ → ∞ . En pratique, il suffit de satisfaire la condition λ > 10. On verra d’autres résultats de convergence pour les lois continues plus loin. 4.9. La loi du Chi-2 Soit une collection de variables X 1 , X 2 ,..., X n , indépendantes et réparties selon une loi normale réduite. 0,18 0,16 0,14 0,12
n=5
0,1
n=10
0,08
n=20
0,06 0,04 0,02 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 Figure 4.6. Fonction densité de la loi du Chi-2
La variable χ 2 = X 12 + X 22 + ... + X n2 suit une loi du Chi-2 à n degrés de liberté (on écrit χ n2 ).Cette distribution possède la propriété importante que la somme de deux variables de Chi-2, à n et m degrés de liberté, est un Chi-2 à n+m degrés de liberté. Elle est très utilisée en statistiques, dans le test d’hypothèses ou l’estimation d’intervalles de confiance (voir chapitre 5). Elle sera notamment mise en œuvre pour estimer les taux de défaillance opérationnels des composants, lors du suivi de la fiabilité des équipements en exploitation. La densité a la forme suivante :
Lois de probabilité
e
−
χ2
n
−1
x2 pour χ 2 ≥ 0 fn (χ 2 ) = n n 2 2 Γ( ) 2 2
167
(4-34)
Moyenne : m = n
(4-35)
Variance : Var = 2n
(4-36)
Comportement limite Une variable de Chi-2 étant composée d’une somme de variables indépendantes, il est clair qu’elle doit tendre vers une variable normale quand le degré de liberté augmente. Il est possible d’être plus précis et de démontrer le résultat suivant. THÉORÈME.– Soit X n une variable distribuée selon une loi de Chi-2 à n degrés de libertés. Lorsque n croît : Xn − n
2n
→ N (0,1) quand n → ∞
(4-37)
4.10. La Loi de Student Soit un ensemble ( X , X 1 , X 2 ,..., X n ) de n + 1 variables aléatoires indépendantes et normales centrées (de même variance). Posons : Y=
1 X X i2 , t = ∑ n Y
(4-38)
La variable t obéit à une loi de Student, dite à n degrés de liberté. Cette loi intervient dans la théorie de l’estimation pour évaluer les intervalles de confiance et en particulier pour des tailles d’échantillons limitées. La fonction densité s’écrit :
168
Trafic et performances des réseaux de télécoms
n +1 n +1 − Γ( ) t2 2 1 2 f n (t ) = . 1 + n nπ Γ( n ) 2
(4-39)
Les moments existent, pour n > 2 : Moyenne : m = 0 , Variance : var =
(4-40)
n n−2
(4-41)
La variance des variables initiales n’intervient pas dans le résultat final. Lorsque de nombre des degrés de liberté augmente, alors la loi de Student tend vers la loi normale réduite (de façon intuitive, la variable Y tend vers une constante égale à 1). 4.11. La loi log-normale Une variable sera distribuée selon une loi log-normale si son logarithme suit une loi normale. Soit Y, distribuée selon N (m, σ 2 ) , alors X = eY est distribuée selon une loi log-normale de densité : f ( x) =
2 2 1 e − (ln x − m ) / 2σ , pour 0 ≤ x < ∞ σ x 2π
(4-42)
Les moments de la distribution de X sont liés à Y : E ( X ) = e m +σ
2
/2
(4-43) 2
Var ( X ) = σ X2 = (eσ − 1)e 2 m +σ
2
(4-44)
On procédera habituellement de façon inverse : les moyenne et variance de X sont connues, et on cherche (m,σ ) pour engendrer un échantillon de la loi. La correspondance est simple à faire :
Lois de probabilité
σ 2 = Log 1 +
169
Var ( X ) E ( X )2
m = Log ( E ( X ) ) −
σ2 2
La justification de l’utilisation de la loi log-normale est dans le principe du cumul multiplicatif. La loi normale intervient naturellement, puisque la somme de variables indépendantes conduit à cette loi. Supposons alors un phénomène dont l’amplitude résulte du produit de causes indépendantes. Le logarithme de la variable transforme les produits en sommes, permettant de se rattacher encore au théorème central limite. La loi log-normale est ainsi invoquée dans l’analyse de nombreux phénomènes économiques (liés aux revenus, aux consommations, etc.), dans lesquels les phénomènes élémentaires se multiplient, plutôt qu’ils ne s’additionnent. 4.12. L’exponentielle et les distributions qui en dérivent 4.12.1. La loi exponentielle La loi exponentielle jouit d’une position toute particulière dans le domaine de la fiabilité et du trafic. On indiquera dans les chapitres correspondants les raisons qui expliquent son usage fréquent. La loi exponentielle dépend d’un paramètre, noté traditionnellement µ dans le domaine du trafic, et sa densité de probabilité s’écrit sous la forme : f ( x) = µ e − µ x , x ≥ 0
(4-45)
Sa fonction de répartition s’écrit : F ( x) = 1 − e − µ x
(4-46)
Rappelons la forme de sa fonction caractéristique (voir chapitre 3) :
φ ( z) =
µ µ−z
Les moments de la distribution exponentielle sont :
(4-47)
170
Trafic et performances des réseaux de télécoms
Moyenne E ( x) =
1
(4-48)
µ
Variance Var ( x) =
1
(4-49)
µ2
La figure 4.7 donne (courbe k = 1) la forme de la densité de la loi exponentielle, cas particulier de la loi d’Erlang-k. 4.12.2. La loi d’Erlang-k Une variable dont la valeur est la somme de k variables aléatoires de même distribution exponentielle obéit à une distribution dite d’Erlang-k (ou Erlang-n). On utilisera cette distribution pour représenter de façon approximative une distribution inconnue dont le coefficient de variation est inférieur à 1, permettant ainsi par exemple de représenter certaines durées de service, depuis une loi de service constante jusqu’à la loi de durée de service exponentielle. Prenons la configuration simple k = 2 . Notons X la variable, somme des deux variables X 1 , X 2 de distributions de probabilité B1 et B2 . La distribution B de la variable X est donnée par la convolution de B1 et B2 : P ( X ≤ x) = P ( X 1 + X 2 ≤ x) = ∫
x
u =0
B1 ( x − u )b2 (u )du
Les variables X 1 , X 2 sont distribuées selon une loi exponentielle : P ( X ≤ x) = 1 − e− µ x − µ xe− µ x
Plus généralement, on montre (voir chapitre 3) que la mise en cascade de k variables exponentielles de même paramètre µ conduit à une distribution : B ( x) = P ( X 1 + X 2 + ... + X k ≤ x) = 1 − e − µ x ∑ j = 0 k −1
( µ x) j j!
(4-50)
Lois de probabilité
171
On appelle cette distribution la distribution d’Erlang-k, et la loi de probabilité ci-dessus est la loi d’Erlang-k. Puisqu’il s’agit d’une somme de variables aléatoires indépendantes, moyenne et variance s’obtiennent facilement, comme la somme de la moyenne et de la variance de chaque variable exponentielle : Moyenne de la variable : k / µ
(4-51)
Variance de la variable : k / µ 2
(4-52)
Le coefficient de variation est 1/ k .
(4-53)
La transformée de Laplace de la distribution peut d’ailleurs aider à retrouver directement ces résultats. Puisqu’il s’agit de la somme de k variables exponentielles, B est une convolution, ce qui va permettre d’écrire directement : µ B * (s) = µ+s
k
(4-54)
D’où l’on déduit les moments (dérivation de la transformée en s = 1), mais aussi la densité de probabilité en revenant à l’original : f ( x) = µ e
−µx
( µ x)
k −1
(k − 1)!
(4-55)
Avec cette loi, le coefficient de variation c = 1/ k est toujours plus petit que 1, sauf pour k = 1, où on retrouve évidemment l’exponentielle. Cette propriété explique que cette loi sera souvent mise en œuvre, chaque fois qu’il faudra rendre compte de mécanismes de services à faible dispersion relative. On peut même choisir une valeur de k très grande, pour fournir une approximation d’une loi de durée constante. On peut en effet vérifier que, en faisant tendre k vers l’infini, tout en gardant k / µ constant, la limite obtenue correspond bien à la loi de service constante. La loi d’Erlang-k nous permettra de modéliser toute une gamme de lois de probabilité allant de la loi exponentielle à la quantité presque sûre. L’intérêt de ce genre d’approximation sera clair après l’introduction des processus
Trafic et performances des réseaux de télécoms
markoviens : une loi d’Erlang garde la propriété de Markov, à la différence d’une loi de durée constante. On démontrera élégamment ce résultat à partir de la transformée de Laplace. On réécrit, en posant a = k / µ constant : k
k / a as B * ( s) = = 1 + k k/a+ s as lim k →∞ B * ( s ) = lim 1 + k
−k
et donc :
−k
= e − as
qui est bien la transformée d’une loi constante de paramètre a. 1,2 1
k=1
0,8
k=2 k=5
0,6 0,4 0,2
2, 8
2, 4
2
1, 6
1, 2
0, 8
0, 4
0 0
172
Figure 4.7. Fonction densité de la loi d’Erlang-k pour différents k
En pratique, comme pour la loi normale, on pourra utiliser cette loi en introduisant un nouveau paramètre X = µ x / k , tel que la moyenne de la nouvelle variable X soit égale à 1 : on obtient alors la loi réduite qui a pour expression : f ( X ) = ke
− kX
( kX )
k −1
( k − 1)!
(4-56)
Lois de probabilité
173
dont la fonction caractéristique est : z k
φ ( z ) = (1 − ) − k
(4-57)
et les moments sont : E ( X ) = 1 , Var ( X ) = 1/ k
(4-58)
On peut généraliser cette loi en remplaçant le paramètre k (entier positif) par un réel. On retrouve alors la loi Gamma (loi du χ2 à k degrés de liberté en statistiques) que nous présentons plus loin. La figure 4.7 montre la forme des densités de probabilité pour différentes valeurs de k. 4.12.3. La loi hyperexponentielle Lorsque l’on doit représenter une loi de service dont le coefficient de variation est supérieur à 1, on fera appel aux lois hyperexponentielles. On en verra un usage dans le chapitre 7. Examinons le cas de la loi hyperexponentielle « de base », qui dépend de trois variables, notées habituellement α , µ1 , µ2 . Elle s’écrit :
(
)
(
P ( X ≤ x) = α 1 − e − µ1 x + (1 − α ) 1 − e − µ2 x
)
(4-59)
Le calcul de la transformée de Laplace est simple, il suffit de faire la somme des transformées des deux exponentielles : B(s) =
αµ1
s + µ1
+
(1 − α ) µ 2 s + µ2
(4-60)
On en déduit immédiatement moyenne et variance : α 1−α α 1−α α 1−α − + var = 2 + m= + 2 µ µ 2 µ1 µ 2 µ2 µ 1 2 1
2
174
Trafic et performances des réseaux de télécoms
α 1−α 2 2 + µ µ2 2 −1 Coefficient de variation : c 2 = 1 2 α 1−α µ + µ 1 2
Dans le cas général, la loi correspond à une combinaison de n exponentielles :
(
)
P ( X ≤ x) = ∑ α k 1 − e − µk 1 x , avec k
∑α
k
=1
(4-61)
k
et les moments sont donnés par : Moyenne : m =
α α α ∑ µkk , variance : var = 2∑k µkk2 − ∑k µkk
2
(4-62)
k
Coefficient de variation : c 2 =
2∑
αk µk2
αk ∑ µk
2
−1
L’inégalité de Cauchy-Schwartz affirme que
(4-63)
( ∑ a b ) ≤ ∑ a .∑ b 2
i i
2 i
2 i
.
Son application à l’expression précédente, dans laquelle on a choisi ai = α i , bi = α i / µi , montre que le coefficient de variation est toujours supérieur à 1. On utilisera donc cette loi comme représentative d’une distribution plus dispersée qu’une distribution exponentielle. 4.12.4. Généralisation : la loi de Cox La loi de Cox généralise les familles Erlang et hyperexponentielle. On la visualisera grâce au schéma suivant : ensemble de serveurs exponentiels, dans lequel le « service » que représente la loi parcourt un chemin aléatoire.
Lois de probabilité α1 1 − α1
α2 µ1
αn−1 µ2
1 − α2
1 − α n-1
175
αn µn-1
1 − αn
µn
Figure 4.8. Réseau de serveurs exponentiels engendrant un loi de Cox
Il a été montré que cette formulation était la forme la plus générale possible de combinaison de variables exponentielles, et qu’elle permettait de représenter de façon exacte toute loi de probabilité dont la transformée de Laplace s’écrivait comme un quotient de polynômes. Elle permet donc de représenter, de façon approchée, toute loi de probabilité possible (le degré d’approximation dépendra du nombre de termes retenu). La transformée de Laplace s’écrit immédiatement : i
B ( s ) = 1 − α1 + ∑ ∏ i ≤ n j =1
α jµ j (1 − α i +1 ) s + µj
(4-64)
4.12.5. La loi Gamma Une variable suit une loi Gamma, que l’on note γ (α , β ) , si sa densité de probabilité est : f ( x) = e − x / β
xα −1 , α , β > 0, x ≥ 0 β α Γ(α )
(4-65) ∞
dans laquelle Γ désigne la fonction Gamma : Γ(α ) = ∫ xα −1e − x dx 0
(pour une valeur entière, on a Γ(n) = ( n − 1)! ). On l’utilisera sous cette forme directe, ou sous la forme réduite avec β = 1 (ce qui revient simplement à effectuer un changement d’échelle : si X suit une loi γ (α , β ) , alors la variable Y = X / β suit une loi γ (α ,1) – que l’on note le plus souvent γ (α ) . Moyenne : m = αβ
(4-66)
Variance : Var = αβ 2
(4-67)
176
Trafic et performances des réseaux de télécoms
Réciproquement, si on connaît la moyenne et la variance, on en déduit les paramètres β = Var / m , α = m 2 / Var . Si α = 1, c’est une distribution exponentielle. Plus généralement, γ ( k , β ) , pour k entier, est une distribution d’Erlang-k . Si k est entier et β = 2 , c’est une loi de Chi-2 à 2k degrés de liberté. Si deux variables, X et Y, sont distribuées selon des lois Gamma de même paramètre – respectivement γ (α , β ) et γ (α ', β ) –, alors Z = X + Y obéit encore à une loi Gamma γ (α + α ', β ) . La loi Gamma sera souvent utilisée pour décrire des lois de distribution variées dont la forme analytique exacte est inconnue ou trop complexe pour être utilisée numériquement. Elle constitue une extension de la loi d’Erlang-k à des configurations de paramètres non entiers et permet d’atteindre toutes les configurations de variance (supérieure ou inférieure à la moyenne). On vérifie que pour des valeurs entières de n on retrouve l’expression déjà présentée pour la loi d’Erlang-k avec le simple changement de k en n et le changement de variable x en θ = kx/n. En général, c’est sous cette forme que sera le plus souvent utilisée la loi Gamma. f (θ ) = ne− nθ
( nθ )
n −1
(4-68)
(n − 1)!
C’est aussi une forme réduite, on a :
φ ( z ) = (1 − z / n) − n
(4-69)
m = 1 , Var = 1/ n
(4-70)
4.13. La loi de Weibull Une variable obéit à une loi de Weibull si sa distribution est :
β x f ( x) = δ δ
β −1
e
x − δ
β
, F ( x) = 1 − e
x − δ
β
(4-71)
Lois de probabilité
177
1.4
1.2
β=0.8
1
0.8
0.6
β=1
0.4
β=2
0.2
0
0
0.5
1
1.5
2
2.5
3
3.5
4
Figure 4.9. Densité de la loi de Weibull
La loi de Weibull est surtout utilisée en fiabilité, où on introduit R(t) la fonction de fiabilité, probabilité que le système soit en bon fonctionnement à la date t. C’est la distribution complémentaire (voir chapitre 6) : R (t ) = 1 − F (t ) = e
t −γ − η
β
(4-72)
Elle représente des distributions avec paramètre dépendant du temps. Exemple : la croissance de la fiabilité des équipements en début de vie avec β < 1 (taux de défaillance décroissant en fonction du temps), le taux de défaillance constant en période de vie utile avec β = 1, γ = 0 (loi exponentielle), et un taux de défaillance croissant en fin de vie avec β > 1 (voir chapitre 6). Mais on l’utilise aussi en trafic pour décrire des lois inter-arrivées complexes, comme par exemple la distribution de temps inter-arrivées entre flots d’informations IP. Les moments de la loi de Weibull sont :
178
Trafic et performances des réseaux de télécoms
Moyenne m = δ Γ(1 + 1/ β ) ,
(4-73)
Variance Var ( x) = δ 2 Γ(1 + 2 / β ) − Γ(1 + 1/ β ) 2
(4-74)
4.14. La loi logistique La loi logistique s’introduit naturellement à l’occasion de la modélisation de l’évolution d’un caractère d’une population et en particulier, dans notre domaine, lors du déploiement d’un service nouveau : c’est en effet le modèle classique du développement d’un bien d’équipement, ou pour nous d’un service de communication ; pour fixer les idées, on pourra songer au téléphone portable. Soit x le taux d’équipement des utilisateurs potentiels à l’instant t. C’est la proportion d’usagers équipés. On définira s comme étant le taux de saturation de ce bien (ce peut être 100 %, voire plus si on raisonne par foyer : par exemple 2 lignes de téléphone par foyer donneraient 200 %). La dérivée dx/dt mesure le taux de croissance du bien d’équipement. Supposons d’abord que la demande puisse être satisfaite immédiatement : le taux d’équipement suit instantanément la demande. Supposons maintenant que l’on puisse considérer que la demande évolue proportionnellement au nombre d’usagers déjà équipés. Supposons aussi qu’elle soit proportionnelle au nombre d’usagers restant à équiper. La première hypothèse est habituellement référencée sous le nom d’effet de club (tel service vu comme indispensable, par effet de mode) ou d’utilité (avoir le téléphone est d’autant plus utile qu’un plus grand nombre de personnes sera atteignable). La seconde hypothèse revient à définir un désir individuel de souscription, le flux de nouvelles demandes étant donc proportionnel à la taille de la population concernée. Le même genre d’hypothèses intervient en épidémiologie (x désignant alors la proportion d’individus contaminés). Avec ces hypothèses, et k désignant un coefficient de proportionnalité, que l’on prendra constant, le phénomène doit obéir à l’équation d’évolution :
Lois de probabilité
179
dx = kx( s − x) dt
La solution de celle-ci est simple à calculer : x=
s s ou x = − k ( t − t0 ) − kst 1 + Ae 1+ e
(4-75)
Dans cette équation, A représente la constante d’intégration. La seconde forme, équivalente, fait intervenir t0 , l’époque de demiéquipement (c’est l’instant où x = s/2). 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
0
50
100
150
200
Figure 4.10. La loi logistique
On utilise assez fréquemment un changement de coordonnées, en x ) . On parle de prenant comme variable non plus x, mais Log( s−x coordonnées Logit. On vérifie qu’alors la courbe logistique se réduit à une droite. La figure 4.10 montre l’allure typique de la courbe. On n’a pas ici réellement un modèle explicatif, mais plutôt un cadre descriptif : en pratique, on effectue quelques observations, et l’on ajuste au mieux les paramètres pour serrer les observations. La
180
Trafic et performances des réseaux de télécoms
validité de ce modèle dépend d’un certain nombre d’hypothèses (celles qui fondent le modèle, ainsi que la constance de k, problématique s’agissant de phénomènes sociaux, etc.). La figure 4.10 montre la forme de la courbe, pour s = 1, k = 0,05, t0 = 100 . 4.15. La loi de Pareto Une variable suit une loi de Pareto si sa fonction de distribution est donnée par : a
b F ( x) = 1 − , avec a, b > 0, x ≥ b x
(4-76)
La densité s’en déduit, par dérivation : f ( x) =
dF ab a = dx x a +1
(4-77)
L’identification de cette loi se fait aisément, si on la trace en coordonnées log-log : log( F ( x)) = a log(b) − a log( x)
cela sera simplement une droite de pente – a. Moyenne :
ab a −1
(4-78)
Variance :
ab 2 (a − 2)(a − 1)2
(4-79)
La loi de Pareto, introduite initialement en statistiques, a trouvé une application pour la description de certains trafics Internet. On a pu montrer que certaines des caractéristiques des flux circulant sur le réseau se représentaient parfaitement par la loi de Pareto. C’est le cas notamment des longueurs des fichiers échangés. Le caractère « fractal » des trafics Internet trouverait là une partie de son origine. Il s’agit de la propriété selon laquelle les caractéristiques statistiques du
Lois de probabilité
181
trafic se retrouvent à l’identique sur plusieurs échelles de temps. On parle aussi de self-similarité. La figure 4.11 montre la forme que prend la distribution complémentaire de la loi de Pareto, en axes logarithmiques (la graduation de l’axe des abscisses est le logarithme décimal de x). la courbe « b = 2350, a = 1.04 » correspond à l’ajustement sur une série d’observations de tailles de fichiers échangés sur Internet (mesures rapportées dans [CRO 97]). 1
b=2350, a=1.04
0.1
b=100, a=2
0.01
0.001
0.0001
0
1
2
3
4
5
6
7
Figure 4.11. La loi de Pareto
4.16. Résumé des principaux résultats Les moyennes sont notées m et les variances Var. µ3 , µ 4 donnent les moments centrés d’ordre 3 et 4. On donne l’expression de la fonction génératrice notée B(z) et de la fonction caractéristique φ ( z ) . Le lecteur trouvera un certain nombre de tables de ces lois en annexe 2.
182
Trafic et performances des réseaux de télécoms
4.16.1. Lois discrètes Loi uniforme discrète U(a,b) P(k ) =
1 , a≤k ≤b b − a +1
B( z ) =
z a − z b +1 e az − e( b +1) z , φ ( z) = (b − a + 1)(1 − z ) (b − a + 1)(1 − e z )
m=
a+b (b − a )(b − a + 2) , Var = , 2 12
µ3 = 0, µ 4 =
(b − a) 4 (b − a)3 (b − a)(b − a + 1) + + 80 20 30
Loi binomiale B(p, N) N P (k ) = P (k parmi N ) = p k (1 − p) N − k , k = 0,..., N k B ( z ) = (1 − p + pz ) N , φ ( z ) = (1 − p + pe z ) N m = Np , Var = Np(1 − p ) , µ3 = Np(1 − p )(1 − 2 p ) ,
µ4 = Np(1 − p ) 1 + (3N − 6) p − (3N − 6) p 2 Loi géométrique pk = (1 − p ) p k , 0 < p < 1, k = 0,1,... B( z ) =
m=
1− p 1− p , φ (z) = 1 − pz 1 − pe z
p p , Var = 1− p (1 − p) 2
Lois de probabilité
183
Loi hypergéométrique M H − M k N −k P (k ) = pour max (0, N + M − H ) ≤ k ≤ min( M , N ) H N m = Np , Var = Np(1 − p )
H −N H −1
Loi de Poisson P(k ) =
λk k!
e−λ
B ( z ) = eλ ( z −1) , φ ( z ) = eλ ( e
Z
−1)
m = λ , Var = λ , µ3 = λ , µ4 = λ + 3λ 2
4.16.2. Lois continues On a indiqué la densité et la distribution, chaque fois que leurs expressions étaient simples. Uniforme U[a,b) 0 x − a dx ; avec P ( x) = f ( x)dx = P ( x ≤ x < x + dx) = b−a b − a 1
φ ( z) =
ebz − e az (b − a ) z
( b − a ) , µ = 0 , µ = (b − a)4 a+b , Var = m= 4 3 2 12 80 2
x
184
Trafic et performances des réseaux de télécoms
Loi normale N (m, σ ) P ( X ≤ x) =
φ ( z) = e
zm +
1
∫ 2π
σ
x
−∞
e−( x −m)
2
/ 2σ 2
dx, −∞ < x < ∞
( zσ )2 2
(la moyenne et la variance définissent la loi), µ3 = 0, µ4 = 3σ 4 Loi du Chi-2 à n degrés de liberté e
−
χ2
n
−1
x2 pour χ 2 ≥ 0 fn (χ 2 ) = n n 2 2 Γ( ) 2 2
φ ( z ) = (1 − 2 z ) − n / 2 m = n Var = 2n
Loi de Student n +1 n +1 ) 2 − 2 t 2 f n (t ) = . 1 + n nπ Γ( n ) 2 Γ(
1
m = 0 , Var =
n , µ3 = 0 n−2
Loi log-normale f ( x) =
1
σ x 2π
m = e m +σ
2
/2
e − (ln x − m ) 2
2
/ 2σ 2
, Var = (eσ − 1)e 2 m +σ
2
Lois de probabilité
Loi exponentielle f ( x) = µ e − µ x , F ( x) = 1 − e − µ x
φ ( z) = m=
1
µ
µ µ−z 1
, Var =
µ
2
, µ3 =
2
µ
3
, µ4 =
9
µ4
Loi d’Erlang-k F ( x) = P ( X 1 + X 2 + ... + X k ≤ x) = 1 − e− µ x ∑ j = 0 k −1
f ( x) = µ e
( µ x)
−µx
( µ x) j j!
k −1
(k − 1)!
µ φ ( z) = µ−z
k
m = k / µ , Var = k / µ 2
Loi hyperexponentielle
(
)
P ( X ≤ x ) = ∑ α k 1 − e − µk 1 x , φ ( z ) = k
m=
α
α
α
∑ µkk , var = 2∑ µk2 − ∑ µkk k
k
k
Loi Gamma f ( x) = e − x / β
xα −1 , α , β > 0, x ≥ 0 β Γ(α ) α
α µ
∑ µkk −kz
, avec
k
2
c2 =
2∑
∑α k
αk µk2
αk ∑ µk
2
−1
k
=1
185
186
Trafic et performances des réseaux de télécoms
m = αβ , Var = αβ 2
Loi de Weibull
β x f ( x) = δ δ
β −1
e
x − δ
β
, F ( x) = 1 − e
x − δ
β
m = δ Γ(1 + 1/ β ) , Var ( x) = δ 2 Γ(1 + 2 / β ) − Γ(1 + 1/ β ) 2
Loi de Pareto a
f ( x) =
m=
ab a b , F ( x) = , avec a, b > 0, x ≥ b a +1 x x
ab ab 2 , Var = (a − 2)(a − 1)2 a −1
CHAPITRE 5
Statistiques
Toute action sur les systèmes qu’a en charge l’ingénieur passe par une connaissance aussi précise que possible du contexte dans lequel fonctionnent (ou vont fonctionner) ces systèmes et de leur comportement dans cet environnement. Cette connaissance ne peut évidemment pas être déduite du seul raisonnement et il est nécessaire d’effectuer des mesures pour l’acquérir. Dans le domaine des performances, ces mesures permettront, d’une part, de recueillir les données nécessaires aux études prévisionnelles, mais aussi de vérifier la bonne tenue des objectifs visés. Ainsi, pour les études de fiabilité, on observera la durée de vie des équipements, la disponibilité du service. Dans les études de trafic, sur un réseau en exploitation ou lors d’essais en laboratoire, on mesurera le trafic offert mais aussi les taux de rejet, les temps de réponse, etc. On procédera aussi à des mesures semblables pendant les phase d’étude, à l’occasion de simulations. Comment présenter, synthétiser ces mesures, quelles informations en déduire, en un mot comment les interpréter ? Les méthodes de la statistique descriptive vont aider à répondre à ce besoin. Il sera impossible de procéder à des campagnes de mesure exhaustives. On demandera aux méthodes de la statistique mathématique des outils permettant de guider l’analyse des résultats, de la façon la plus judicieuse. Ainsi, on cherchera à évaluer le degré de confiance à associer à l’estimation d’une caractéristique de la
188
Trafic et performances des réseaux de télécoms
population étudiée, en fonction de la taille de l’échantillon : il s’agit de la théorie de l’estimation. Enfin, nous serons bien souvent confrontés à la nécessité de prendre des décisions, en vérifiant une hypothèse, par exemple en comparant deux échantillons, ou, en particulier dans notre domaine, en testant la conformité à une loi de distribution de paramètres donnés. La théorie des tests d’hypothèses, autre partie de la statistique mathématique, nous permettra de traiter ces problèmes. La statistique s’intéresse à un ensemble d’éléments que l’on appelle population. Sur chaque élément, on étudie une grandeur caractéristique, appelée caractère, et qui varie d’un élément à l’autre. Ce peut être par exemple dans notre domaine, la durée de communication, la longueur de messages, la durée de fonctionnement avant la panne, le nombre de ressources occupées à différents instants d’observation dans une simulation etc. L’idée implicite se trouvant derrière l’approche statistique est qu’il existe une régularité sousjacente à la population étudiée : celle-ci se caractérise par une valeur définie du paramètre étudié, la valeur observée sur chaque élément étant distribuée selon une loi de probabilité « autour » de cette valeur, forcément inconnue. 5.1. La statistique descriptive Une campagne de mesure produit un nombre important de données, souvent disparates, et dont l’interprétation se révèle toujours problématique. Le premier écueil à leur utilisation est la visualisation : comment représenter de façon synthétique des volumes énormes de données ? comment faire apparaître les relations entre ces données, comment interpréter l’influence des variables de commande ? C’est le but de la statistique descriptive que de donner des outils d’aide à cette vision synthétique. On ne saurait sous-estimer l’importance de cette discipline. Les analyses que fait le spécialiste peuvent être habiles et décisives, elles ne convaincront que les experts capables de les suivre. Pour les autres, il importe de fournir une illustration, convaincante et synthétique, des conclusions de l’analyse. Selon l’adage, un bon schéma vaut mieux qu’un long discours.
Statistiques
189
5.1.1. La visualisation des données La visualisation directe des données obtenues lors d’une série de mesures est un point très important, trop souvent négligé. De nombreuses techniques existent, rendues accessibles par les logiciels spécialisés. L’enjeu en est « qualitatif » avant tout, il s’agit de donner à l’utilisateur une impression synthétique, visant à lui faire comprendre le phénomène « d’un seul coup d’œil ». L’histogramme est certainement l’outil le plus utilisé. Supposons dans un premier temps que nous étudiions une variable discrète (pour fixer les idées, prenant des valeurs entières, 0, 1, 2, 3…). Nous comptons le nombre nk des mesures ayant fourni la valeur k, c’est-à-dire la fréquence de cette valeur. L’histogramme prend l’allure de la courbe 5.1. On y lit que la valeur 0 s’est rencontrée sur un élément, que cinq éléments ont fourni la valeur 6, qu’un maximum semble s’esquisser vers 8, et que les mesures sont bien groupées entre 2 et 13. Peut-être la valeur 15 est-elle un point aberrant ; ici, le nombre de mesures est bien trop faible pour l’affirmer.
Nombre d'occurences
Histogramme (variable discrète) 10 9 8 7 6 5 4 3 2 1 0 0
2
4
6
8
10
12
14
16
Valeur observée
Figure 5.1. Histogramme, montrant les valeurs observées d’une variable discrète
Le cas d’une variable continue se révèle un peu plus délicat à traiter. Le tracé précédent devient impossible, puisque les valeurs sont des nombres réels qui vont se répartir sur tout l’axe sans que deux valeurs
190
Trafic et performances des réseaux de télécoms
ne soient identiques. Une première approche consistera à tracer un graphique des fréquences cumulées : le plus souvent on le fera en regroupant les différentes mesures en classes, par commodité. On définira I classes, [ xi , xi +1 [ , i = 1,..., I . L’effectif de la classe i sera composé de toutes les mesures dans l’intervalle i : ni = # Elts( x, t.q. xi ≤ x < xi +1 )
La distinction sur les inégalités (stricte ou large) est de peu d’importance dans la mesure où les variables sont continues. La fréquence relative de la classe i sera le rapport f i = ni / N , N désignant le nombre total des valeurs. On représente alors l’ensemble des valeurs sous la forme de la courbe de fréquence cumulée : i
i +1
j =1
j =1
F ( x) = ∑ f j xi ≤ x < xi +1 , et F ( xi +1 ) = ∑ f j
(5-1)
La courbe aura l’allure d’une suite de segments de droites.
1
x1 x2
xI-1
xI
Figure 5.2. Construction de la fonction de répartition d’une variable continue
On pourra alors utiliser une représentation en histogramme, analogue au cas discret, à condition de vérifier la loi des aires, qui seule peut garantir le bien-fondé des commentaires que l’on tirera du graphique :
Statistiques
191
Chaque classe i sera représentée sur l’histogramme par un rectangle dont la surface (et non la hauteur) est proportionnelle à ni . Dans le cas de classes de même amplitude, la distinction surface/hauteur est sans objet. Dans le cas général, cette règle se justifie : – elle seule donne à l’ordonnée le sens d’une « densité empirique », – elle permet une comparaison non biaisée des fréquences des différentes classes, – elle rend l’histogramme stable aux changements de classe (l’allure se conserve, si on regroupe des classes, par exemple). Cette représentation est d’autre part conforme à la représentation sous la forme d’un diagramme des fréquences cumulées. D’autres représentations Les techniques de la statistique descriptive sont nombreuses, elles utilisent toutes les ressources de la visualisation, la plus expressive possible. Les logiciels de bureautique offrent des ressources d’accès facile permettant de les mettre en œuvre. On consultera la bibliographie. On ne saurait trop insister sur l’importance de cette étape de la visualisation, par laquelle le spécialiste a l’opportunité de diffuser les résultats auprès de publics réclamant une présentation d’accès immédiat, synthétique et intuitive. 5.1.2. Les variables statistiques La visualisation des données mesurées et de leurs relations est une première étape dans leur utilisation. Le désir apparaît alors de quantifier la vision qualitative apportée par la visualisation directe. L’hypothèse implicite dans ce contexte sera le plus souvent que les phénomènes étudiés obéissent à des lois statistiques (lois de probabilités), que l’on pourra chercher à identifier. Ce qui sera délicat. Dans un premier temps, on cherchera à calculer des paramètres globaux qui résumeront le mieux possible l’ensemble des données recueillies, et ici sans hypothèse sur la loi sous-jacente. 5.1.2.1. Les fractiles Sur la courbe des fréquences cumulées sont visibles directement les fractiles de la population étudiée. Soit F l’histogramme cumulé de la
192
Trafic et performances des réseaux de télécoms
variable X : F ( x) représente la proportion d’individus mesurés inférieurs à x. Un α-fractile (on parle aussi de percentile, ou de quantile) sera le nombre u tel que F (u ) ≤ α , F (u + ε ) > α . On le lit directement sur la courbe (voir figure 5.3). On pourra utiliser cette notion pour éliminer des points extrêmes. Dans le cas fréquent où le caractère étudié ne peut pas être borné a priori, on définira par exemple l’étendue du phénomène comme l’intervalle compris entre les fractiles à 0.001 et 0.999. On s’intéresse souvent, dans des études économiques, aux quartiles (valeurs à 25, 50 ou 75 %). La médiane est le fractile à 50 % : elle divise la population en deux moitiés de même effectif. 1 0.75
0.25 u25
u75
Figure 5.3. Les fractiles d’une fonction de répartition
5.1.2.2. La moyenne empirique Des indicateurs synthétiques qu’on peut extraire de l’ensemble des mesures, le plus commun est la valeur moyenne (on parle de moyenne empirique pour souligner qu’il s’agit d’une estimation, sur l’échantillon). Elle est notée le plus souvent sous la forme x ou mˆ (cette notation est spécifiquement destinée à distinguer la valeur observée de la valeur théorique « vraie »). n
mˆ = x =
∑x i =1
i
n
n étant évidemment la taille de l’échantillon.
(5-2)
Statistiques
193
5.1.2.3. La variance empirique Pour mesurer la dispersion, c’est-à-dire l’écart par rapport au comportement moyen, représenté par la moyenne, on utilise habituellement la variance empirique, définie comme :
σˆ 2 =
1 n ( xi − x) 2 ∑ n i =1
(5-3)
La variance est le carré de l’écart-type, notée σ. Là encore, la notation σˆ met en avant le fait qu’il s’agit d’une estimation d’après les mesures (par opposition à σ , qui désigne la valeur de l’écart-type de la distribution de la population, forcément inconnue). 5.1.2.4. Les moments De façon générale, on note µk le moment d’ordre k de la distribution. On fait habituellement appel aux moments centrés par rapport à la moyenne – ici, la moyenne empirique :
µˆ k
∑ (x =
i
− mˆ )
k
n
(5-4)
(la moyenne est le moment d’ordre 1). 5.1.2.5. Le mode Le mode sera donné par le maximum de l’histogramme : c’est la valeur la plus fréquemment observée. Lorsqu’un seul maximum est observé, on parlera de distribution unimodale. On veillera à ne pas confondre mode, médiane et moyenne. Le mode est directement visible sur l’histogramme ; la médiane divise la population en deux populations de même effectif, et la moyenne en deux populations de même « poids ». Dans le cas de distributions unimodales, les deux allures suivantes sont possibles : – mode < médiane < moyenne (distribution étalée vers la droite) ; – moyenne < médiane < mode (distribution étalée vers la gauche).
194
Trafic et performances des réseaux de télécoms
Mode < médiane < moyenne
Moyenne < médiane < mode
Figure 5.4. Moyenne, mode, médiane d’une fonction de répartition
5.1.2.6. Autres caractérisations Moyenne et variance ne suffisent évidemment pas à caractériser entièrement une distribution. Des indicateurs supplémentaires ont été proposés, qui permettent de rendre compte de certaines « allures » de la fonction de densité. Ces coefficients sont dérivés des moments de la loi. Là encore, les indicateurs issus des mesures sont des valeurs notées « empiriques », par rapport aux caractéristiques « vraies » des distributions. Pour simplifier les notations, on omet dans ce qui suit les « ^ », qui identifient les valeurs empiriques. – γ1 =
µ3 ou β1 = γ 12 3 σ
(5-5)
Ces coefficients, appelés skewness (respectivement, coefficient de Fisher ou de Pearson), rendent compte de la symétrie de la fonction. Ils sont nuls pour une distribution symétrique. – β2 =
µ4 , γ = β2 − 3 µ22 2
(5-6)
Ces coefficients rendent comptent de l’aplatissement de la courbe (kurtosis). Pour une loi normale, µ3 = 0 , µ 4 = 3σ 4 (voir chapitre 4), et donc γ 1 = γ 2 = 0 .
Statistiques
195
Revenu / habitant (US$)
20 000 10 000 5 000
2 000 1 000 500
200 100 0,1
0,2
0,5
1
2
5
10
20
50 100
Nombre de lignes pour 100 habitants Figure 5.5. Relation entre niveau des revenus et l’équipement en lignes téléphoniques
5.2. Corrélation et régression Lorsqu’un phénomène met en jeu plusieurs variables aléatoires, il est fréquent de s’interroger sur les relations entre ces variables. Si on observe une population humaine, on s’attend à trouver une relation floue entre la taille et le poids d’un individu. De même, la catégorie socio-économique d’une famille (telle qu’elle se traduit dans le revenu annuel) aura une relation avec la consommation téléphonique. Et bien évidemment l’activité en trafic d’un usager d’un réseau de
196
Trafic et performances des réseaux de télécoms
télécommunication, tout comme l’usage préférentiel de certains services, seront en relation avec sa catégorie socio-professionnelle (abonné résidentiel, petite et moyenne entreprise, grande entreprise...). On retrouve aussi ces relations dans le domaine de la fiabilité. Ainsi, dans un contrôle de fabrication, on songera également à relier les taux de rejet aux conditions de la fabrication. Ou encore dans le suivi de la fiabilité opérationnelle des équipements, en cas de taux de défaillances anormaux, on tentera de relier ce phénomène à certains lots de fabrication, etc. Il est possible d’illustrer graphiquement cette relation, en portant sur un graphe l’ensemble des couples (x, y) des deux variables. La figure 5.5 en est un exemple classique. C’est la courbe de Jipp qui montre la relation entre le revenu par habitant et le taux d’équipement en postes de téléphonie fixe. On remarque la tendance, qui n’est évidemment pas une relation mathématique stricte. On parle d’une corrélation entre les deux variables. L’interprétation de la tendance dépasse le cadre des statistiques. Il peut s’agir d’une relation causale directe (le phénomène X provoque Y) ou d’un schéma plus complexe (X et Y sont conséquences d’une troisième variable cachée). 5.2.1. Coefficient de corrélation empirique On mesure ce phénomène de relation par un coefficient de corrélation empirique. C’est un nombre compris entre –1 et 1, dont la définition est :
ρˆ =
∑(X ∑( X
i
i
−X
− X )(Yi − Y )
)
2
.
∑ (Y − Y )
(5-7) 2
i
Lorsque le coefficient de corrélation est nul, on parle de variables indépendantes. 5.2.2. La courbe de régression Lorsque deux variables X et Y sont corrélées, un modèle explicatif consiste à les relier par une relation causale Y = f(X). Rappelons bien qu’une corrélation n’est cependant pas la garantie d’une relation de causalité. On effectue une régression. La relation peut se révéler complexe, on supposera ici un modèle linéaire : Y = aX + b . Il est en
Statistiques
197
théorie souvent possible de se ramener à un modèle linéaire, grâce à un changement de variable approprié. Il sera possible également d’envisager des modèles plus complexes (modèle quadratique, par exemple). La méthode des moindres carrés Nous adoptons un modèle linéaire et nous cherchons à estimer les paramètres de la régression. Pour cela, nous procédons à une série de mesures, fournissant N couples ( xi , yi ) . Des erreurs se mêlent au modèle, parce que le modèle que l’on se donne est incomplet (d’autres facteurs interviennent, qui ne sont pas pris en compte dans celui-ci). On va représenter ces « erreurs » par une variable, et on écrira : ˆ i + bˆ + ei yi = ax
(5-8)
(on est bien en présence d’estimateurs des paramètres du modèle). La méthode des moindres carrés va estimer les paramètres du modèle en minimisant la distance entre l’observation et le modèle. Cette distance s’écrit :
(
ˆ i − bˆ ∆ = ∑ yi − ax
)
2
On détermine les coefficients en calculant et en annulant les dérivées partielles : ∂∆ = 0 soit ∂aˆ
∑ x (y
∂∆ = 0 soit ∂bˆ
∑
i
i
ˆ i − bˆ) = 0 , et − ax
∑x y i
i
ˆ =0 ˆ 2 − Nbx − Nax
ˆ i − bˆ) = 0 , et Ny − Nax ˆ − Nbˆ = 0 . ( yi − ax
Les deux équations fournissent la solution cherchée :
∑x y aˆ =
i i − x. y Sy N = ρˆ Sx x2 − x 2
(5-9)
ˆ bˆ = y − ax
( S x , S y désignent les écarts-types empiriques des deux variables).
198
Trafic et performances des réseaux de télécoms
La droite de régression passe par le centre de gravité du nuage de points, et son coefficient directeur est directement lié à la corrélation entre les variables. L’erreur résiduelle peut se calculer, on l’exprime plutôt sous la forme de la variance des ei . On trouve après quelques calculs : 2
Se =
(
(
1 y 2 − y 2 − aˆ 2 x 2 − x 2 N −2
))
Le coefficient N – 2 assure que l’estimateur est sans biais (nous préciserons ce concept un peu plus loin). f(x) 100% 99,9
m = 60 σ = 15
99 98
+ +
+
+ + +
+
+ +
++
+
+ +
90
+
80 70
+ +
60 50 40 30 20 10 2 1
0,1 10
20
30
40
50
60
70
80
90
100
Figure 5.6. Droite de Henry pour une distribution empirique
Statistiques
199
REMARQUE.– PAPIERS À ÉCHELLE SPÉCIFIQUE. La courbe de Jipp a été tracée avec une graduation logarithmique sur l’axe des ordonnées. Dans le cas général, si la relation entre deux quantités n’est pas linéaire, on peut faire appel à des graphes tracés selon des axes adaptés. C’est notamment le cas du papier gausso-arithmétique, qui permettra de tester empiriquement très facilement le caractère normal (gaussien) d’une distribution. L’axe des ordonnées est tracé sur une échelle telle que la distribution d’une loi normale sera alors une droite : la droite de Henry. Dans le cas d’une normalité approchée, le tracé permet d’avoir une visualisation de la proximité avec la loi normale. On peut lire directement sur le dessin (voir figure 5.6) la valeur des moments : la moyenne est l’intersection de la droite avec l’ordonnée égale 50 %. La dispersion est la demi différence entre les abscisses à 84 % et 16 %, ou bien l’inverse de la pente. 5.3. Echantillonnage et techniques de prédiction La visualisation des résultats est une étape importante mais qui ne couvre pas tous les besoins de l’analyste. Dans le cas habituel, ces mesures sont prélevées sur une fraction limitée de la population : soit que celle-ci est de taille infinie, soit qu’il est impossible d’augmenter le nombre des mesures (éléments non disponibles, cas de mesures destructives, ou très généralement pour une simple question de coût). Le problème est alors d’estimer certaines caractéristiques de la population d’origine, dite population mère, à partir de ces données incomplètes. L’ensemble sur lequel a porté les mesures (le sondage, dans le vocabulaire sociologique) sera nommé un échantillon, et des règles de calcul probabilistes seront appliquées pour prédire la forme générale et la valeur des paramètres de la population mère. Afin de pouvoir appliquer les règles de calcul des probabilités, il est indispensable que chaque élément (on dit aussi individu) de l’échantillon soit prélevé sur la population de façon « aveugle » : c’est-à-dire qu’un élément est choisi indépendamment des précédents (on dit de façon aléatoire). Il sera le plus souvent difficile de garantir cette propriété. Le tirage aléatoire est un élément important de notre activité, que l’on retrouvera en fiabilité, en observation de trafic, comme en simulation. A cet égard, nous en décrirons quelques règles dans le chapitre 8.
200
Trafic et performances des réseaux de télécoms
Avant d’aborder les techniques de traitement des échantillons, considérons deux résultats fondamentaux à la base de la statistique mathématique : a) Moyenne et variance d’un échantillon : soit un échantillon aléatoire de taille N, extrait d’une population mère de taille infinie, ou d’une population de taille finie, si le tirage est pratiqué avec remise (on parle alors de tirage non exhaustif). La moyenne empirique mˆ , que l’on déduit de l’échantillon, est une variable aléatoire de moyenne m et de variance σ 2 (mˆ ) égale à σ 2 / N , avec m et σ2 respectivement moyenne et variance de la loi parente (celle de la population mère). Ce qui s’écrit aussi : E (mˆ ) = m
σ (mˆ ) =
(5-10a)
σ N
,
ou, E (mˆ − m)2 = σ 2 (mˆ ) =
(5-10b)
σ2 N
On vérifie aisément ce résultat : soit un échantillon aléatoire de N éléments Xi. Appliquons les résultats obtenus au chapitre 3 sur la somme de variables aléatoires indépendantes. On a : 1 ( X 1 + X 2 + ... X N ) N 1 1 et donc E (mˆ ) = [ E ( X 1 ) + E ( X 2 ) + ...E ( X N )] = Nm = m N N mˆ =
De même, on a : X X 1 ( X 1 + .. X N ) = Var ( 1 + ... N ) = N N N 2 1 N σ [Var ( X 1 ) + ..Var ( X N )] = 2 Var ( X ) = N2 N N
σ 2 (mˆ ) = Var
Statistiques
201
b) Théorème central limite. Nous traitons maintenant de la loi applicable à la moyenne de l’échantillon et non plus seulement de ses moments. Le théorème central limite revêt une importance capitale en statistique. Il justifie en grande partie l’usage intensif que l’on fera de la loi normale. Il permet d’autre part d’asseoir les approximations sur une base rigoureuse. Sa démonstration, que nous omettrons ici, s’appuie sur les fonctions caractéristiques. THÉORÈME.– Soit un ensemble de N variables X 1 , X 2 ,... X N , indépendantes et distribuées selon une même loi arbitraire, de moyenne µ et de variance finie σ 2. Alors, la variable : X=
1 N ∑ Xi N i =1
tend, quand N croît, vers une variable normale, de moyenne µ et de variance σ 2 / N . Ce qui élargit notablement le résultat précédent : il s’en suit que l’on peut dire aussi que si l’on extrait un échantillon aléatoire de taille N d’une population mère obéissant à une loi quelconque de moyenne m et d’écart-type σ, la moyenne de l’échantillon mˆ tend vers une variable gaussienne de paramètre m et dispersion σ / N , lorsque la taille de l’échantillon croît indéfiniment. En pratique, l’approximation est assez vite de bonne qualité (dès que N est supérieur à 30, dans de nombreuses situations). Par contre, l’hypothèse d’indépendance entre les variables est fondamentale. Nous pouvons maintenant aborder le traitement des échantillons. Deux grandes techniques permettent de traiter les données issues d’un échantillon : l’estimation et les tests d’hypothèses. L’estimation d’un paramètre, ponctuelle ou par intervalle, basée sur l’hypothèse a priori d’un modèle probabiliste n’est pas toujours suffisante. Elle ne permet pas en effet de prendre une décision d’acceptation ou de refus, et on est souvent amené à remettre en cause l’hypothèse de départ. La technique des tests d’hypothèses répond à ce problème.
202
Trafic et performances des réseaux de télécoms
Enfin, les essais ou les observations (en fiabilité, en simulation, par exemple) étant forcément limités en durée ou en nombre, il se posera le problème de la prise en compte du dernier intervalle de temps ou du dernier résultat. On distinguera les essais tronqués, pour lesquels la durée d’essai est limitée indépendamment du nombre d’événements observés, et les essais censurés, pour lesquels le nombre d’événements à obtenir est fixé d’avance, la durée d’essai n’étant alors pas limitée. 5.4. L’estimation Les mesures étant effectuées sur une fraction limitée de la population, le problème est alors d’estimer certaines caractéristiques de la population, à partir de ces données incomplètes que constitue l’échantillon. C’est l’objet des techniques d’estimation. Dans notre contexte, on sera amené à postuler l’existence d’une certaine homogénéité de la population, se traduisant par l’existence d’une loi de probabilité, servant de distribution de probabilité au paramètre étudié. Le problème est donc posé de la façon simple suivante : étant donnée une population, dont un caractère est distribué selon une loi de probabilité dépendant d’un paramètre p, estimer la valeur numérique de ce paramètre au moyen d’une mesure sur un échantillon de taille limité. Puisque la mesure porte sur un échantillon de taille limitée, il sera impossible de donner une réponse certaine. On va introduire la notion de risque (ou à l’inverse de confiance qu’on place dans l’estimation), et on exprimera le résultat sous la forme d’un intervalle de confiance dans lequel le paramètre a une probabilité donnée de se trouver : avec un risque d’erreur α, le paramètre p se trouve dans l’intervalle :
[ pmin , pmax ] Clairement, plus on cherche une réponse précise (un intervalle de confiance étroit), plus il faut s’attendre à un risque d’erreur important. On retrouve ici le dilemme général des instituts de sondage.
Statistiques
203
En relation avec cette notion de confiance, on distingue ainsi deux ensembles de techniques d’estimation : l’estimation ponctuelle et l’estimation par intervalle. L’estimation ponctuelle vise simplement à donner une valeur approchée du paramètre de la loi à partir de ceux obtenus sur l’échantillon (c’est par exemple le simple calcul de la valeur moyenne de l’échantillon). Cette évaluation néanmoins conduit assez souvent à des valeurs différant notablement de la vraie valeur du paramètre. Pour éviter les conséquences de cette possible erreur, on procède à une estimation par intervalle. L’estimation par intervalle de confiance consiste à former un intervalle aléatoire entourant l’estimation ponctuelle. Ces intervalles, fonction des observations, sont donc des variables aléatoires, et l’estimation consistera à déterminer un intervalle qui contient la « vraie » valeur du paramètre avec une certaine probabilité, appelée degré de confiance. 5.4.1. Estimation ponctuelle Plaçons-nous dans le cas où le caractère de la population est distribué selon une loi de probabilité donnée, mais dépendant d’un paramètre inconnu. Il s’agit d’estimer ce paramètre, a, au travers de la série de mesures. Soit un échantillon de n valeurs xi issu d’une population dont la loi de probabilité dépend d’un paramètre a. Rappelons que l’on désigne par â la valeur de l’estimateur obtenue à partir des valeurs xi de l’échantillon. Dans la mesure où le choix de l’estimateur est correct on aura : Limn→∞ (aˆn ) = a
n étant la taille de l’échantillon et aˆn la valeur de l’estimateur obtenue après n mesures. L’estimateur est dit alors convergent. L’estimateur â est dit sans biais lorsque quel que soit n on a : E(â)=a. E(â) étant l’espérance mathématique de â. (En toute rigueur, il faudrait aussi exiger l’égalité pour les autres moments. On se contente le plus souvent de cette définition.)
204
Trafic et performances des réseaux de télécoms
Un estimateur convergent et sans biais est dit estimateur absolument correct. Comment choisir un estimateur ? Il est tentant d’identifier la valeur du paramètre au travers des caractéristiques de la série des mesures. Soit par exemple à estimer les paramètres moyenne et variance d’une loi. Il sera alors possible de calculer la moyenne et la variance empiriques de l’échantillon. Comment déterminer la qualité de tels estimateurs ? Différentes méthodes peuvent être utilisées, telles que la méthode des moindre carrés (déjà évoquée) et la méthode du maximum de vraisemblance. De manière générale, on déterminera le meilleur estimateur par la méthode du maximum de vraisemblance. Appelons f(x1, x2, ..xn,) – ou f ( xi ) pour abréger – la densité de probabilité de l’ensemble des observations xi (c’est-à-dire la probabilité d’observer les valeurs x1, x2, ..xn, sans spécification de l’ordre d’occurrence ; on choisit comme meilleur estimateur l’expression de â qui rend f(x1, x2, ..xn,) maximal c’est-à-dire tel que : dLog ( f ( x1 , x 2 ,..xn ) = 0 (équation de vraisemblance) da
(5-11)
On démontre que l’estimateur â ainsi défini est convergent. Cependant, nous n’obtiendrons pas toujours un estimateur sans biais, comme nous allons le voir ci-après. L’estimation sera dite correcte mais non absolument correcte. Pour la rendre absolument correcte, il faudra ajuster l’estimateur. Les deux principaux résultats relatifs aux estimateurs sont les suivants. Moyenne Un estimateur absolument correct de la moyenne est tout simplement la moyenne empirique de l’échantillon : mˆ =
1 n ∑ xi n i =1
(5-12)
On vérifie aisément que E (mˆ ) = m quel que soit n est un estimateur sans biais.
Statistiques
205
Variance Un estimateur absolument correct de la variance est : s2 =
1 n ∑ ( xi − mˆ )2 n − 1 i =1
(5-13)
s2 est appelé variance empirique de l’échantillon. Il s’agit d’un ajustement empirique. Le lecteur attentif observera en effet le terme (n-1) au dénominateur au lieu de n. Ceci est dû au fait que si l’on ( xi − mˆ )2 ∑ 2 prend la variance de l’échantillon , σˆ = , on obtient : n E (σˆ 2 ) =
n −1 2 σ n
C’est un estimateur biaisé. Pour corriger ce biais, les statisticiens ont fait la substitution : s2 =
n σˆ 2 n −1
On vérifie aisément ce résultat. On a : (n − 1) s 2 = ∑ ( xi − mˆ ) = ∑ [ ( xi − m) − (mˆ − m)] 2
2
Développons et prenons l’espérance de cette expression. On a successivement et en utilisant les résultats précédents sur la moyenne (5-9) et la variance (5-10) d’un échantillon : E ∑ ( xi − m) 2 = ∑ E ( xi − m) 2 = nσ 2 2 E ∑ ( xi − m)(mˆ − m) = 2 E (mˆ − m)∑ ( xi − m) = 2 E (nmˆ − nm)2 = 2σ 2 n E ∑ (mˆ − m)2 = E n(mˆ − m) 2 = nE (mˆ − m) 2 = σ 2
2 E [ (mˆ − m)( nmˆ − nm)] =
et finalement : E (n − 1) s 2 = nσ 2 − 2σ 2 + σ 2 = (n − 1)σ 2 , donc E ( s 2 ) = σ 2
206
Trafic et performances des réseaux de télécoms
On remarquera que ces résultats, une fois encore, ne présupposent pas que la variable est distribuée selon une loi donnée. Montrons maintenant dans le cas important de la loi normale que ces estimateurs sont bien les meilleurs estimateurs. Estimateurs de la moyenne et de la variance d’une loi normale a) Soit à estimer à partir d’un échantillon, la moyenne m d’une loi normale de paramètres (m, σ), où σ est connu. Déterminons le meilleur estimateur convergent par la méthode du maximum de vraisemblance. On a f ( xi ) =
1 (σ 2π )
e n
−
1 n 2 ∑ ( xi − m ) 2σ 2 i =1
On en déduit aisément : dLog ( f ) 1 n = 2 ∑ ( xi − m) σ i =1 dm
et au maximum de vraisemblance : dLog ( f ) =0 dm m = mˆ
d’où mˆ =
1 n ∑ xi n i =1
On vérifie que E (mˆ ) = m quel que soit n. C’est un estimateur sans biais et convergent, donc absolument correct. b) On démontrerait de même que le meilleur estimateur de la variance, quand m est connu, est :
σˆ 2 =
1 n ∑ ( xi − m)2 n i =1
c) Le cas général est celui où on ne connaît ni m ni σ. On utilise alors les seules caractéristiques de l’échantillon. On a :
Statistiques
σˆ 2 =
207
1 n ( xi − mˆ ) 2 . ∑ n i =1
On retrouve alors pour la variance notre problème de biais. La variance de l’échantillon donne bien un estimateur convergent mais biaisé. On le corrigera par la substitution déjà présentée : s2 =
n σˆ 2 . n −1
On retrouve le même type de résultat dans le cas important d’une distribution exponentielle, comme montré dans l’exemple suivant. Exemple d’application : estimation de la vie moyenne d’un équipement A titre d’exercice étudions le cas concret des essais de durée de vie moyenne en fiabilité, la loi de mortalité étant supposée exponentielle (voir chapitre 6). On étendra aisément le raisonnement à d’autres types d’observations impliquant la loi exponentielle (appels, etc.). Soit à estimer la durée de vie moyenne θ, de n éléments en essais. La durée de vie moyenne étant une moyenne son estimation est :
θˆ =
1 n T ti = , ∑ n i =1 n
(5-14)
où n est le nombre d’éléments en essai, ti est la durée de vie de chaque élément, et T est la durée totale de fonctionnement. En pratique, il est nécessaire de limiter à la fois la durée de l’essai et le nombre de défaillances observées. On retrouve les notions d’essais tronqués et censurés. Dans le cas d’essais tronqués, la durée est limitée à tmax. Si sur n éléments en essais (n – k) fonctionnent jusqu’à tmax , alors :
θˆ =
1 T ( t1 + t2 + ...tk + (n − k )tmax ) = , k k
(5-15)
avec T durée cumulée de l’essai. Il faut qu’il y ait au moins une défaillance, sinon on devra utiliser l’estimation par intervalle de confiance.
208
Trafic et performances des réseaux de télécoms
On estimera le nombre d’éléments à mettre en essai par la simple formule : t k = n 1 − exp(− max ) θ
Ainsi, pour estimer un taux de défaillance de λ = 1/θ = 10-6/h, en observant 30 défaillances au bout de 8 760 heures (environ 1 an), il faudra environ 3 450 éléments. On voit ici toute la difficulté de l’estimation avec des éléments fiables, ou en d’autres termes pour des événements rares. Dans le cas d’essais censurés, on arrête l’essai à la kième panne. On a alors :
θˆ =
1 T ( t1 + t2 + ...tk + (n − k )tk ) = , k k
(5-16)
avec T durée cumulée de l’essai. 5.4.2. Construction d’un intervalle de confiance L’estimateur du maximum de vraisemblance donne un « bon » moyen d’estimer le paramètre inconnu. Il n’en reste pas moins que l’expérience est entachée d’une certaine imprécision : si l’on recommence la mesure, ou si on la prolonge, le résultat obtenu sera différent. On est alors conduit à s’interroger sur la précision de cette mesure. Il s’agit ici non plus seulement de donner une valeur estimée du paramètre p étudié, mais de déterminer un ensemble de valeurs entourant l’estimation ponctuelle, et composant un intervalle qui contient la « vraie » valeur du paramètre avec une certaine probabilité. On se trouve en présence d’un paramètre p, qui possède une valeur constante (ça n’est pas un nombre aléatoire !), mais inconnue. Un estimateur a été choisi, qui est, lui, une variable aléatoire, ayant sa propre loi de distribution dépendant de la loi de distribution de la population mère, dépendant elle-même du paramètre p inconnu ! Ainsi on verra un peu plus loin que l’estimateur de la moyenne d’une loi de Gauss obéit lui-même à une loi de Gauss de même moyenne. On note comme d’habitude pˆ l’estimateur.
Statistiques
209
Soit H la distribution de probabilité de l’estimateur. On se donne un réel α compris entre 0 et 1 (on le décomposera : α = α1 + α 2 ). Il est possible de calculer en fonction de ces valeurs, une limite inférieure et une limite supérieure de l’estimateur, c’est-à-dire un intervalle I tel que : P ( pˆ ∈ I ) = 1 − α = 1 − (α 1 + α 2 )
le terme α étant le risque associé à l’intervalle. Plus précisément, on va déterminer à partir de H (ou h, la densité) deux valeurs u1 , u2 telles que P (u1 < pˆ ) = α 1 et P(u 2 > pˆ ) = α 2 (voir figure 5.7). On peut choisir α1 = α 2 = α / 2 , mais tout autre choix est légitime. h
α1 α2
u1
pˆ
u2
Figure 5.7. Répartition du risque pour le calcul de l’intervalle de confiance
pˆ
H2
u2 D(α) H1 p*0 u1
p2
p
p1
Figure 5.8. Courbes limitant la région d’acceptation
210
Trafic et performances des réseaux de télécoms
La forme de la courbe dépend du paramètre inconnu p, et donc u1 , u2 en dépendent aussi : on notera u1 = H1 ( p), u2 = H 2 ( p ) . Les deux courbes délimitent une portion du plan, fonction du risque choisi, qu’on notera D(α ) . Choisissons un point sur l’axe des ordonnées : p0* . Ce point détermine deux intersections avec les courbes, que l’on note p1 et p2 , et correspondant aux fonctions réciproques : p2 = H 2−1 ( p0* ), p1 = H1−1 ( p0* ) . Ces fonctions sont le plus souvent malaisées à écrire explicitement, mais peuvent s’obtenir par calcul numérique. Considérons maintenant les trois relations : ( p, pˆ ) ⊂ D (α ) u1 < pˆ < u 2 p1 ( pˆ , α ) < p < p 2 ( pˆ , α )
Ces relations délimitent le même ensemble, précisément D. Les éléments ont donc la même probabilité : P ( p1 < pˆ < p 2 ) = 1 − (α 1 + α 2 ) = 1 − α
L’expérience d’estimation consiste à faire une campagne de mesures ( x1 , x2 ,..., xn ) , dont on déduit une valeur pˆ , ainsi que p1 et p2 , via le jeu des courbes ci-dessus. L’expérience de mesure fournit le résultat, dans un intervalle, avec un risque d’erreur que l’on peut limiter. Les exemples qui suivent vont rendre clair le principe et en montrer l’application pratique. Exemple : estimation de la moyenne d’une loi normale Une variable obéit à une loi normale, dont on connaît la variance, et dont on veut estimer la moyenne. L’estimateur ponctuel comme vu n
précédemment est mˆ = ∑ xi . Or on a aussi montré que pour des i =1
échantillons de taille n, l’estimateur suit une loi normale de moyenne
Statistiques
m et de variance σ2/n. Dès lors le paramètre « u », tel que u =
211
mˆ − m
σ/ n
,
obéit à la loi normale réduite. On note habituellement − u1 et u 2 les limites de l’intervalle de confiance aux risques α1 et α2 telles que P (u < −u1 ) = α 1 , P (u > u 2 ) = α 2 . Et donc : mˆ − m P − u1 < u = < u 2 = 1 − α , σ/ n
(5-17)
soit encore : σ σ = 1 − α < m < mˆ + u 2 P mˆ − u1 n n
(5-18)
On choisira par exemple un risque réparti symétriquement : α1 = α 2 = 0.025, soit u1 = u2 = 1.96, soit un intervalle de ±2σ / n environ. On a présenté cet exemple dans le cas où la variable obéit à une loi normale. Dans le cas d’une variable dont la loi est inconnue, on pourra mettre à profit le théorème central limite pour estimer un intervalle de confiance sur la moyenne grâce au même schéma. Le théorème affirme en effet que l’estimateur que constitue la moyenne empirique tend vers une loi normale, de moyenne m (la vraie moyenne) et de variance σ 2 / n , avec σ la variance (inconnue le plus souvent) de la population. On aura alors à estimer la variance. Exemple : application à la fiabilité, loi du Chi-2 Nous reprenons notre exemple d’estimation de la durée de vie moyenne d’éléments de durée de vie obéissant à une loi exponentielle. Nous considérons alors que la distribution des défaillances de l’ensemble de la population obéit à une loi de Poisson. Ce cas correspond à un essai tronqué pour lequel les éléments défaillants sont remplacés immédiatement. Appelons comme d’habitude θ la durée de vie moyenne d’un élément, soit n le nombre d’équipements en essais, et tmax la durée de l’essai. Dans le cas de la loi de Poisson, la
212
Trafic et performances des réseaux de télécoms
probabilité d’avoir plus de r défaillances (on prend ici la variable r car c’est le terme généralement utilisé pour la loi du Chi-2, à laquelle nous allons aboutir) pendant une durée θ, est : r ( k )i − k P (i ≤ r ;θ ) = ∑ e , avec k= T/θ , et T = n t max, durée cumulée de i =0 i ! l’essai. Or, on a l’égalité suivante : ∞
( k )i − k kr tr e = e − k (1 + k + ... ) = ∫ e − t dt r! r! i =0 i ! k r
P (i ≤ r ;θ ) = ∑
et donc, en posant t = u/2 : P (i ≤ r ;θ ) =
∞
u r −u / 2 ∫ r !2r +1 e du 2k
on reconnaît la forme de la loi du Chi-2 : en effet en posant u = χ 2 et ν = 2r + 2 , on obtient : P (i ≤ r ;θ ) =
ν −1 2 1 2 2 ( ) χ e− χ / 2 d χ 2 ∫2 k 2ν / 2 Γ(ν / 2) ∞
(5-19)
Cette intégrale représente donc la probabilité que le χ 2 à 2(r+1) degrés de liberté soit supérieur à 2k. Et donc : P (i ≤ r ;θ ) = P ( χ 22r + 2 > 2k )
(5-20)
On en déduit les limites inférieures et supérieures aux seuils α1 et α2 : 2T
χ
2 2 r + 2;α1
<θ <
2T
χ
2 2 r ;1−α 2
(5-21)
et notamment pour un intervalle centré tel que α1 = α2 = α/2 : 2T
χ
2 2 r + 2;α / 2
<θ <
2T
χ
2 2 r ;1−α / 2
(5-22)
Statistiques
213
Le tableau 5.1 résume les principaux résultats sur ce type important d’essais, y compris les essais censurés. Essai tronqué à t, N pièces, r défaillances Sans Durée cumulée T Avec remplacement remplacement T = t1 + t2 T = Nt +…(N-r)t Estimateur θ = T/r ponctuel (r = 0, θ = 3T) Limite inférieure 2T θi = 2 au degré de confiance (1-α) Intervalle de confiance au degré de confiance (1-α)
χ 2 r + 2;1−α
2T
χ 22r + 2;α / 2
<θ <
Essai censuré à tr, r défaillances, N pièces Sans Avec remplacement remplacement T = t1 + t2 T = Ntr +…(N-r+1)tr θ = T/r (r = 0, θ = 3T) 2T θi = 2
χ 2 r ;1−α
2T
2T
χ 22r ;1−α / 2
χ 22r ;α / 2
<θ <
2T
χ 22r ;1−α / 2
Tableau 5.1. Essais tronqués et censurés : intervalles de confiance avec la loi du Chi-2
Nous donnerons un exemple d’applications à des situations réelles dans le chapitre 9. Le lecteur pourra aussi trouver des tables du Chi-2 en annexe 2. Estimation d’une proportion Soit à estimer la proportion p d’éléments défectueux contenus dans une population. Supposons la population de taille infinie. L’expérience consistera à tirer un échantillon de taille N, les tirages étant supposés indépendants, et à compter le nombre de pièces défectueuses k. Le calcul montre que, conformément à l’intuition, l’estimateur au maximum de vraisemblance de p est le rapport pˆ = k / N . Sous les hypothèses d’indépendance, la distribution du nombre de pièces défectueuses dans l’échantillon obéit à la loi de Bernoulli (si la population était de taille finie, il aurait fallu opter pour une loi hypergéométrique). La distribution de probabilité du nombre des éléments défectueux s’écrit :
214
Trafic et performances des réseaux de télécoms
N P (k parmi N ) = p k (1 − p ) N − k k
(5-23)
On peut, numériquement, tracer les deux courbes qui limitent la région D(α). La probabilité d’observer un nombre de pièces défectueuses inférieur à k sera : k N P (k , j ) = ∑ p j (1 − p ) N − j j =0 j
Si on fixe le risque α1 , la courbe H1 sera obtenue en « inversant » cette relation : ceci est possible numériquement (voir plus loin). On se placera le plus souvent dans le cas asymptotique où la loi peut être remplacée par la loi normale (voir chapitre 4) : dans le cas où p > 0.5 , il faut Np > 5 (ou bien, si p < 0.5 , N (1 − p ) > 5 ). On remplacera alors la loi binomiale par une loi normale, de moyenne m = Np et de variance Np (1 − p ) . On se ramène alors au cas d’estimation du paramètre de la loi normale. Si on choisit un risque α réparti symétriquement, on calculera la valeur uα (= u1= u2) et on écrira l’intervalle de confiance : pˆ − uα
pˆ (1 − pˆ ) ≤ p ≤ pˆ + uα N
pˆ (1 − pˆ ) N
(5-24)
Lorsque les conditions d’utilisation de la loi normale ne sont pas satisfaites, on se ramène à la loi de Poisson : on a vu au chapitre 4 que la loi binomiale pouvait en effet être remplacée (dès que N ≥ 40, et p < 0.1 ) par une loi de Poisson, de paramètre Np . Comment construire les courbes H1 et H2 ? Le problème est difficile et ne se traite que numériquement. On peut cependant construire l’approximation suivante, dans l’hypothèse de l’approximation normale. L’intervalle est donné par la formule cidessus. Les limites H1 et H2 sont les points tels que : pˆ − u (α )
pˆ (1 − pˆ ) pˆ (1 − pˆ ) = p; p = pˆ + u (α ) N N
Statistiques
215
c’est-à-dire les solutions de l’équation quadratique : pˆ (1 − pˆ ) N
( p − pˆ ) 2 = u 2
Limites de l'Intervalle de Confiance
La figure 5.9 montre l’allure de l’intervalle de confiance pour un risque de 5 % selon la valeur mesurée. 1 0.8 0.6 0.4 0.2 0
0
0.2
0.4
0.6
0.8
1
Proportion observee Figure 5.9. Limites de l’intervalle de confiance pour l’estimation d’une proportion
Estimation du paramètre d’une loi de Poisson On se pose le problème de déterminer le paramètre λ d’une loi de Poisson. Rappelons la forme de la loi : P(k ) =
λk k!
e−λ
(5-25)
Ce sera le cas, par exemple, d’un test de pièces défectueuses dans la configuration d’un taux de rejet faible, de sorte que la distribution de Bernoulli sera remplacée par la loi de Poisson, comme signalé cidessus.
216
Trafic et performances des réseaux de télécoms
Ce sera le cas également lors de l’observation d’un flux, supposé poissonnien de paramètre a, observé sur une fenêtre de mesure de largeur T : on a alors λ = aT . L’expérience consiste à réaliser plusieurs expériences (on observe m fenêtres de durée T, par exemple, fournissant les valeurs k1 , k2 ,...km ). L’estimateur au maximum de vraisemblance est donné par :
λˆ =
k1 + k2 + ... + km m
(5-26)
On peut utiliser un abaque ou bien construire numériquement les fonctions H −1 . 5.5. Le test d’hypothèse Le test d’hypothèse a comme objet de décider si une hypothèse émise sur une population doit être retenue. Selon la nature de l’hypothèse, plus spécialement si on peut ou non formuler l’hypothèse sous forme quantitative, on distinguera des tests paramétriques ou non paramétriques. Par exemple, tester que les observations des instants d’arrivée constituent un échantillon d’une loi de Poisson, ou que les durées observées constituent un échantillon d’une loi exponentielle, constituent des tests non paramétriques. Mais tester que les observations constituent un échantillon d’une loi de Poisson ou d’une distribution exponentielle de moyenne m, d’écart-type σ, constitue un test paramétrique. 5.5.1. Exemple : test de la moyenne d’une loi normale On introduit ici l’approche générale sur un exemple simple. Soit à contrôler une production, dont un paramètre X est distribué selon une loi normale de paramètres m et σ. On suppose σ connu, le test portera sur m. Par exemple, on teste l’hypothèse « m supérieur à 10 ». Il s’agit d’un « test simple ». On procède au prélèvement d’un échantillon de taille N, et on calcule la moyenne empirique X sur l’échantillon. On a démontré dans la section consacrée à l’échantillonnage que la moyenne empirique est distribuée selon une loi normale, de moyenne m et d’écart-type σ / N . Dès lors, conformément à (5-24), on a :
Statistiques
σ σ P X < m − u1 = α 1 et P X > m + u 2 =α2 N N
217
(5-27)
Il est clair qu’on acceptera certainement l’hypothèse « m supérieur à 10 » si on mesure une moyenne X égale à 12, voire à 9.5, mais on trouvera étonnante une valeur trop faible. Pour effectuer le test, on se donnera une valeur pour α 1 dont on déduit u1 . Par exemple, prenons α = 0.01 . La table de la loi normale donne, pour α = 0.01 décomposé en deux risques symétriques α 1 = α 2 = 0.005 , u1 = u2 = 2,32 . Supposons un échantillon de taille N = 100 et un écart-type σ = 5 . La
{
}
formule se traduit par P X < 10 − 1,16 = 8,84 = 0,01 . Imaginons que le résultat de l’expérience donne une valeur X = 9,5 . Cette valeur apparaît conforme à l’hypothèse. A l’inverse, imaginons que le résultat soit X = 7,5 . La probabilité d’observer une telle valeur est très faible, si l’hypothèse est vraie. On sera donc conduit à rejeter l’hypothèse. La procédure est rigoureuse, mais il demeure cependant un risque d’une erreur dans la décision, dans la mesure où un résultat même très peu probable est cependant possible. La prise en compte de ce risque apparaît à travers le schéma général de test suivant. « Vérité »
H0 vraie
H1 vraie
J’accepte H0
Bon choix
Erreur de 2ème espèce
Je refuse H0 et j’accepte H1
Erreur de 1ère espèce
Bon choix
Décision prise
Tableau 5.2. Test d’hypothèse
Soit X la variable sur laquelle va porter le test. On va tester une hypothèse H0, qui se formulera par exemple X = X 0 , ou bien X < X 0 , ou autre. Il faut réaliser que, puisqu’on teste un caractère statistique de la population, le risque de se tromper ne peut pas être éliminé. On se donne un risque de première espèce α (les Anglo-saxons parlent d’une error of type 1). C’est le risque de rejeter l’hypothèse H0 alors qu’elle
218
Trafic et performances des réseaux de télécoms
est vraie. Mais il est également possible d’accepter l’hypothèse, alors même qu’elle est fausse. D’où l’introduction d’un risque de seconde espèce β. Plus précisément, on introduit une contre-hypothèse H1, et on teste H0 contre H1. Le risque de seconde espèce sera le risque de rejeter H1 alors qu’elle est vérifiée. On peut schématiser la procédure par le tableau 5.2. La courbe d’efficacité d’un test Le principe : soit une population sur laquelle on prélève un échantillon de n observations, on veut considérer la population comme conforme si par exemple la proportion de valeurs caractéristiques supérieures à une certaine valeur est inférieure à Pmax. Par exemple le temps de réponse doit être dans 95 % des cas inférieur à Tmax, c’est-à-dire dans au plus Pmax = 5 % des cas supérieur à Tmax. On refuse dans le cas contraire. La courbe d’efficacité est la courbe donnant la probabilité d’accepter le test (sur la base de l’échantillon) comme bon pour une population avec une proportion de valeurs satisfaisante p réelle mais inconnue. Probabilité d’acceptation 1 1-α
Courbe d’efficacité théorique
Pmax Courbe d’efficacité réelle
β P1
P2
1
p
Figure 5.10. Courbe d’efficacité
Statistiques
219
La courbe d’efficacité est représentée en figure 5.10. Si l’échantillonnage était exhaustif, on aurait bien sûr des certitudes : – probabilité d’accepter = 1 si p> Pmin – probabilité d’accepter = 0 si p< Pmin C’est ce que représente la courbe d’efficacité théorique. Du fait de l’échantillonnage, on a un risque d’accepter à tort β , mais aussi un risque de refuser à tort, α. C’est ce que représente la courbe d’efficacité réelle. Le risque d’accepter à tort est celui d’accepter au vu de l’échantillon alors que la proportion réelle p de valeurs supérieures à Tmax dans la population est supérieure à la valeur P2 que l’on s’est fixée. De même, le risque de refuser à tort est celui de refuser alors que la population réelle a une proportion p inférieure à P1 que l’on s’est fixée. En statistiques, on appelle couramment ces risques respectivement risque client et risque fournisseur. C’est typiquement le cas, dans les télécommunications, d’un opérateur et d’un équipementier. 5.5.2. Test du Chi-2 : uniformité d’un générateur Imaginons la mise au point d’une expérience de simulation par événements discrets. Le simulateur fait usage d’un générateur de nombres pseudo-aléatoires, uniformément répartis sur l’intervalle (0,1). On se reportera au chapitre 8 pour les détails. Nous nous posons le problème de tester la qualité du générateur, et plus spécialement son uniformité. Le test du Chi-2 permet de répondre à cette question. On va diviser l’intervalle (0,1) en n intervalles identiques (par exemple, n = 10, les intervalles ayant une largeur de 1/10). L’expérience consiste à tirer N nombres au hasard et à les répartir dans les intervalles. Si l’hypothèse d’uniformité est vérifiée, la probabilité qu’un tirage soit dans un des intervalles est 1/n, on s’attend donc à trouver de l’ordre de N/n éléments dans chaque intervalle. On énoncera donc l’hypothèse (H) : le générateur est uniforme. Si c’est le cas, le nombre des tirages dans chaque intervalle est distribué selon une loi de Bernoulli :
220
Trafic et performances des réseaux de télécoms
N 1 P (k ) = p k (1 − p ) N − k , avec p = n k
(5-28)
La moyenne est Np, la variance Np(1 – p). Sous les hypothèses habituelles, on remplacera la distribution de Bernoulli par la loi normale. Si on note k j le nombre des tirages observé dans l’intervalle j, alors
k j − Np Np(1 − p )
=
kj − N /n
N 1 1 − n n réduite. Il s’ensuit que la variable :
Z=
∑ j
( k j − N / n) 2 N 1 1 − n n
est distribué selon la loi normale
∑ (k j − N / n)2
≅
j
N /n
(5-29)
est distribuée comme une variable de Chi-2 à n–1 degrés de liberté. On choisira un risque d’erreur α (par exemple 5 %), et on testera la condition Z < uα . Par exemple, pour 5 %, la variable à 9 degrés de liberté donne une limite à 16.92 : on accepte l’hypothèse si le nombre trouvé est inférieur à cette valeur. 5.5.3. Tester la corrélation Rappelons le schéma esquissé à l’occasion de la discussion de la corrélation : il s’agit de déterminer si deux variables sont ou non corrélées. On calcule le coefficient empirique ρˆ . Une série de mesures donne une valeur de ρˆ proche de 0. Comment accepter la conclusion « pas de corrélation », c’est-à-dire « variables indépendantes » ? On va faire un test d’hypothèse. L’hypothèse est « absence de corrélation », soit ρ = 0 . S’il en est ainsi, on peut montrer que, quand la taille de l’échantillon grandit, alors la variable ρˆ tend vers une loi normale, de moyenne nulle et de variance 1/ n : c’est en fait le théorème central limite, dont on retrouve ici une marque de son importance. On acceptera alors l’hypothèse, avec un risque α , si :
ρˆ N < xα ( xα désigne évidemment le quantile correspondant).
(5-30)
CHAPITRE 6
Fiabilité
Dans ce chapitre, nous présentons les principaux éléments de la théorie de la fiabilité et plus généralement de ce qu’on appelle la sûreté de fonctionnement. La sûreté de fonctionnement joue un rôle important dans les systèmes et réseaux de télécommunications. Car c’est en effet une de leurs toutes premières missions que d’assurer la continuité du service, en particulier dans les situations d’urgences d’appels aux secours (médecin, pompiers), et bien sûr dans des cas extrêmes tels que les situations de catastrophes ou de conflits. La tenue de tels objectifs nécessite la mise en place d’architectures « secourues ». Ceci a un coût, et il faut donc en évaluer l’efficacité. Les techniques permettant cette évaluation sont celles de la théorie de la fiabilité. L’objet de ce chapitre est de les présenter avec, à l’appui, de nombreux exemples. 6.1. Définition de la fiabilité La fiabilité selon la définition des normes telles que celles de l’IEC (Commission électrotechnique internationale), exprime la probabilité qu’un système accomplisse la fonction requise pendant une durée donnée. L’échec de cette mission correspondra à la défaillance du système. On calculera la probabilité de bon fonctionnement jusqu’à la date t.
222
Trafic et performances des réseaux de télécoms
Dans le domaine des télécommunications, au sol en particulier, où les systèmes sont réparables et pour lesquels il est demandé une très grande permanence du service, on parlera plutôt de disponibilité. Ce sera la probabilité que le système soit dans un état de bon fonctionnement à un instant t indépendamment des états pris auparavant (il peut y avoir eu défaillance et réparation). Ce qui caractérisera un système sera donc, d’une part, sa probabilité de défaillance et, d’autre part, sa probabilité à tout instant d’être en service. La disponibilité étant généralement très grande, proche de 1, pour des raisons pratiques on quantifiera surtout le complément de cette probabilité qu’on appellera indisponibilité et qui s’exprimera en 10− x . 6.2. Taux de défaillance et courbe en baignoire On appellera taux de défaillance instantané λ(t) la probabilité qu’un système fonctionnant à t passe dans un état défaillant dans l’intervalle infiniment petit dt suivant. Dans la vie d’un système réparable ou d’une population de matériels identiques, l’expérience montre que l’on devra généralement distinguer trois périodes pour lesquelles le taux de défaillance est différent, qui sont les suivantes. La première période est dite période de jeunesse et présente un taux de défaillance décroissant en fonction du temps. Cette période correspond à des défauts résiduels, non identifiés lors des essais avant la mise en service du produit, et qui seront corrigés avec la mise au point du système (matérielle ou logicielle). La deuxième période correspond à la période dite de vie utile et présente un taux de défaillance sensiblement constant. Pendant cette phase, la plus longue, apparaissent des pannes dites catalectiques c’est-à-dire soudaines et imprévisibles. Ces pannes seront matérielles mais aussi logicielles. En effet, à un certain niveau de défaillance très faible, il n’est pas toujours possible, ni nécessaire, ni rentable, d’identifier la cause de la défaillance et de la corriger.
Fiabilité
223
La troisième période correspond à la période dite de vieillesse ou d’usure et présente un taux de défaillance croissant avec le temps. Elle correspond à une dégradation irréversible du système, soit par dégradation physique des composants, ou par non maintenance des équipements et logiciels dans le cas de systèmes réparables. Cette période est quasiment inexistante avec les systèmes de commutation au sol où les systèmes sont remplacés de manière préventive, par contre ce peut être le cas des systèmes satellites. L’ensemble de ces périodes est représenté par la courbe dite « en baignoire » (voir figure 6.1).
λ(t)
0
1
2
3 t
1 = Période de jeunesse, 2 = Période de vie utile, 3 = Période de vieillesse Figure 6.1. Courbe « en baignoire »
Pour la suite de nos calculs, nous nous intéresserons surtout à la période de vie utile et, comme nous serons surtout concernés par des dispositifs réparables, nous utiliserons aussi le concept de MTBF (Mean Time Between Failures) qui sera égal à l’inverse du taux de défaillance λ constant du système en période de vie utile. Avant d’aborder la modélisation des principales structures, nous allons définir les principales fonctions de fiabilité. 6.3. Fonctions de fiabilité R (t ) est la fonction de fiabilité et représente la probabilité de bon fonctionnement à la date t.
224
Trafic et performances des réseaux de télécoms ∞
M = θ = ∫ R (t )dt
(6-1)
0
est le MTBF et représente donc le temps moyen entre les défaillances d’un système réparable. M est souvent désigné par θ. F (t ) est la fonction de défaillance, F (t ) = 1 − R (t ) .
λ (t ) est le taux de défaillance instantané et correspond à la probabilité de défaillance d’un système entre les instants t et t + dt si le dispositif fonctionnait à t. On a donc : λ (t ) =
dF (t ) 1 . dt R (t )
et donc :
λ (t )dt = −
dR (t ) R (t )
(6-2)
et aussi : t
R (t ) = e
− ∫ λ (τ ) dτ
(6-3)
0
Dans la période de vie utile où λ (t ) = λ est constant, on a : R (t ) = e− λ t et M =
1
λ
(6-4)
On s’intéressera par la suite essentiellement à cette période. Notons cependant que de manière très générale on pourra décrire la fiabilité du produit, pendant l’ensemble de sa durée de vie, par des lois plus complexes comme la loi de Weibull. En effet, posons : R (t ) = e
t −γ − η
β
(6-5)
Fiabilité
225
En identifiant à l’expression générale de la fiabilité, on a : t
R (t ) = e
− ∫ λ (τ ) dτ 0
=e
t −γ − η
β
et donc : t
t −γ η
∫ λ (t )dt = 0
β
d’où :
β t −γ λ (t ) = η η en posant λ0 =
β −1
(6-6)
1
ηβ
λ (t ) = λ0 β ( t − γ )
on a :
β −1
et R (t ) = e − λ0 (t −γ )
β
(6-7)
Ces expressions qui montrent bien que : – le taux de défaillance est décroissant pour β < 1, – le taux de défaillance est constant pour β = 1, et on retrouve la loi exponentielle pour γ = 0, – le taux de défaillance est croissant pour β > 1. 6.4. Fiabilité des ensembles 6.4.1. Fiabilité des ensembles non réparables On appellera ici e tout élément d’un système (baie, carte, composant...). Un élément quelconque sera toujours lui-même décomposable en d’autres éléments. Nous admettrons qu’un élément ne peut avoir que deux états : en fonctionnement (E) ou défaillant ( E ).
226
Trafic et performances des réseaux de télécoms
E et E sont P(E) + P( E ) = 1. La fiabilité R fonctionnement :
deux est
événements
définie
comme
mutuellement la
probabilité
exclusifs : de
bon
R = P(E) = 1 – P( E ) et on appellera Q son complément, c’est-à-dire la probabilité de défaillance : Q = 1 – R. 6.4.1.1. Fiabilité d’éléments en série Des éléments sont dits en série si la défaillance d’un seul d’entre eux entraîne la défaillance de l’ensemble. Le diagramme dit de fiabilité est représenté à la figure 6.2.
E2
E1
Ei
Figure 6.2. Eléments en série
Si E est l’événement défaillance de l’ensemble et Ei l’événement défaillance de l’élément i, on a : E = E1 ∪ E2 ∪ ... ∪ Ei ∪ ...
De l’algèbre des événements, la règle de Morgan nous permet d’écrire : E = E1 ∩ E2 ∩ .... ∩ Ei ∩ ..
ou encore : E = E1 ∩ E2 …
Fiabilité
227
Et en passant aux probabilités et les événements étant considérés comme indépendants entre eux : P ( E ) = Π P ( Ei )
et donc en termes de fiabilité : R = Π Ri
(6-8)
Ce qui s’exprime simplement par la règle suivante : la fiabilité d’un ensemble d’éléments en série est le produit des fiabilités de chacun des éléments. Dans le cas où tous les éléments suivent une loi de défaillance exponentielle de paramètre λi , alors : − λt R (t ) = e ∑ i
(6-9)
Le MTBF de l’ensemble est : ∞
M = ∫ R (t )dt , et donc : 0
M=
1
(6-10)
∑λ
i
6.4.1.2. Fiabilité d’éléments en parallèle Des éléments sont dits en parallèle lorsqu’il faut que tous les éléments soient défaillants pour que l’ensemble soit défaillant. Le diagramme de fiabilité est représenté en figure 6.3. E1
E2
Ej
Figure 6.3. Eléments en parallèle
228
Trafic et performances des réseaux de télécoms
On a alors : E = E1 ∩ E2 ∩ .. ∩ Ej ∩ ...
et donc : P ( E ) = Π P ( Ej )
Soit, puisque Q désigne la probabilité de défaillance : Q = ΠQj
(6-11)
Ce qui s’exprime tout simplement par la règle suivante : la probabilité de défaillance d’un ensemble d’éléments en parallèle est le produit des probabilités de défaillance de chacun des éléments. Rappelons que l’on appelle Q = 1 – R. On peut alors écrire : R = 1 − Π (1 − Rj )
(6-12)
Le système fonctionne aussi longtemps qu’au moins un élément fonctionne. Ce mode d’expression est très utile dans les cas de configurations complexes. Dans le cas où tous les éléments suivent une loi de défaillance exponentielle de paramètre λi , alors : R (t ) = 1 − Π (1 − e − λi t )
(6-13)
Dans le cas simple de deux éléments en parallèle, on obtient le résultat évident : R (t ) = R1 (t ) + R2 (t ) − R1 (t ) R2 (t ) R (t ) = e− λi t + e− λ2t − e − λi t e − λ2t
Le MTBF de l’ensemble est : ∞
M = ∫ R (t )dt , et donc : 0
(6-14)
Fiabilité
M=
1
λ1
+
1
λ2
−
1 λ1 + λ2
229
(6-15)
6.4.1.3. Fiabilité des combinaisons série parallèle Ensemble séries en parallèle Il s’agit d’ensembles tels que l’on a par exemple k fois p éléments en série. Le diagramme de base représenté en figure 6.4.
1 2
k
E1
E2
.. . .
Ep
E1
E2
...
Ep
E1
E2
...
Ep
.
Figure 6.4. Eléments série-parallèle
En raisonnant comme ci-dessus on obtient immédiatement : La fiabilité d’une branche est : p
Rj = Π Ri i =1
La défaillance du système à k branches est : k
Q = Π Qj j =1
et sa fiabilité est R = 1– Q et donc :
230
Trafic et performances des réseaux de télécoms k
p
j =1
i =1
R = 1 − Π (1 − Π Ri )
(6-16)
6.4.1.4. Fiabilité des ensembles parallèles en série Le diagramme de principe est représenté en figure 6.5. 1
i
p
E1
E1
E1
Ej
Ej
…
…
…
Ek
Ej …
Ek
Ek
Figure 6.5. Eléments parallèle-série
La fiabilité d’un ensemble parallèle de k éléments est : k
R = 1 − Π (1 − Rj ) j =1
et la fiabilité des p ensembles en série est :
p k R = Π 1 − Π (1 − Rj) i =1 j =1
(6-17)
6.4.1.5. Fiabilité d’ensembles complexes
On ne donne ici qu’un exemple pour montrer la méthode. Le diagramme de principe est représenté en figure 6.6. La méthode la plus directe est de distinguer deux cas : E5 fonctionne et E5 est défaillant.
Fiabilité E1
231
E3 E5
E2
E4
Figure 6.6. Eléments « maillés »
Si E5 est défaillant, il faut que l’une des deux branches (E1, E3) ou (E2, E4) fonctionne, soit 1 moins la probabilité que toutes les deux ne fonctionnent pas (application des lois des éléments en série). Soit en probabilités : (1-R 5 ) [1-(1-R 1R 3 )(1-R 2 R 4 )]
Si E5 est en fonctionnement, il faut que dans chaque paire (E1, E2) et (E3, E4) un élément au moins fonctionne, soit dans chaque paire 1 moins la probabilité que les deux éléments de chaque paire soient défaillants (application des lois des éléments en parallèle). Soit en probabilité : R 5 [1-(1-R1 )(1-R 2 ))] [1-(1-R 3 )(1-R 4 )]
La fiabilité de l’ensemble est donc la somme de ces deux événements exclusifs. R = (1-R 5 ) [1-(1-R 1R 3 )(1-R 2 R 4 )] +
R 5 [1-(1-R1 )(1-R 2 ))] [1-(1-R 3 )(1-R 4 )]
(6-18)
6.4.1.6. Fiabilité des systèmes redondants non réparables
L’objectif de ces systèmes est d’assurer une plus grande fiabilité qu’un système simple, en particulier dans le cas de missions pour lesquelles les interventions de remplacement des éléments défaillants ne sont pas possibles.
232
Trafic et performances des réseaux de télécoms
Redondance simple ou active L’ensemble sera considéré comme défaillant lorsque tous les éléments en parallèle seront défaillants (redondance simple totale), ou lorsque une certaine proportion d’entre eux seront défaillants (redondance simple partielle). Par exemple, un système de télécommunication (équipements de commutation, routage ou transmission...) sera constitué de plusieurs éléments de traitement travaillant en partage de charge, on pourra alors considérer plusieurs régimes de fonctionnement dégradé selon le nombre de processeurs en panne. Cependant, pour le cas de systèmes au sol, ces équipements sont généralement réparables. Le cas de la redondance simple totale correspond exactement à celui d’éléments en parallèle, il faut que tous les éléments soient défaillants pour que l’ensemble soit défaillant. n
R = 1 − ∏ (1 − Rj ) 1
et donc avec n éléments identiques : R (t ) = 1 − (1 − e − λt ) n
(6-19)
et le MTBF de l’ensemble est : ∞
M = ∫ R (t )dt , et donc : 0
M=
1
n
1
∑ λ i
(6-20)
1
Dans le cas simple de deux éléments en parallèle, on obtient : M=
3 2λ
Redondance partielle ou majoritaire
Dans ce cas, on considère que le système fonctionne quand, parmi les n éléments en parallèle, au moins r éléments fonctionnent. Ce type de
Fiabilité
233
redondance correspond, par exemple, à des équipements de télécommunication (commutation, routage, transmission) où n éléments travaillent en partage de charge et l’on considère des régimes plus ou moins dégradés du système. Le système sera dit à redondance majoritaire lorsqu’il y a en série un élément de décision permettant de détecter le bon fonctionnement ou non d’au moins r éléments parmi n. Dans ce cas, il s’agit surtout de répliquer n fois la même fonction (par exemple, une base de temps ou des équipements d’énergie), l’élément de détection effectue la comparaison des n sorties et le signal fourni est celui de la majorité. Le diagramme correspondant est représenté en figure 6.7. E1
Er
M
… En
Figure 6.7. Redondance majoritaire
Considérons d’abord le système sans l’élément de détection. Sa fiabilité s’exprime simplement à partir de la loi binomiale : n
R = ∑ Cnk R kj (1 − R j )n − k k =r
avec Cnk =
n! k !(n − k )!
Soit, avec une loi de défaillance exponentielle : n
R (t ) = ∑ Cnk e − k λ t (1 − e − λt )n − k k =r
(6-21)
234
Trafic et performances des réseaux de télécoms
Pour le système à redondance majoritaire, l’élément de décision de taux de défaillance λM intervient en série et donc la fiabilité de l’ensemble est : n
R (t ) = e− λM t ∑ Cnk e − k λt (1 − e − λt )n − k
(6-22)
k =r
Dans le cas simple mais fréquent de trois éléments en redondance on obtient : R (t ) = e− λM t e−2 λt (3 − 2e− λ t )
6.4.2. Fiabilité des ensembles réparables
Il s’agit ici de systèmes tels que lorsqu’un élément passe à l’état défaillant, l’action d’un réparateur ou du système lui-même le fait repasser après un certain temps à un état de bon fonctionnement. Le cas le plus simple est celui d’un ensemble de n éléments en redondance simple sur lequel un réparateur intervient à chaque défaillance pour remettre le système à l’état n éléments en service. La période durant laquelle le système se trouve avec seulement n – 1 éléments en service est appelée durée du régime dégradé. 6.4.2.1. Equations d’états
Ce processus de passage d’un état à un autre est tout simplement un processus de naissance et de mort dont l’analyse sera détaillée au chapitre 7. La présente analyse pouvant en être considérée comme une introduction. Appelons i = 1, 2, …. n les différents états du système correspondant à i éléments en service, et P(i, t) la probabilité que le système soit à l’état i à l’instant t. De manière générale, indépendamment de la structure du système, nous pouvons écrire l’équation de base décrivant les probabilités d’état : P (i, t + dt ) = P (i + 1, t )d (i + 1, t )dt + P(i, t ) [1 − d (i, t )dt ]
[1 − r (i, t )dt ] + P(i − 1, t )r (i − 1, t )dt
Fiabilité
235
Cette équation exprime que la probabilité d’être dans l’état i à l’instant (t +dt), P (i, t + dt ) , est égale à : a) la probabilité d’être à l’état (i+1) à l’instant t , P (i + 1, t ) , et qu’il y ait eu une défaillance faisant passer à l’état i pendant l’intervalle de temps dt, d (i + 1, t )dt ; b) plus la probabilité d’être à l’état (i) à l’instant t, P (i, t ) , et qu’il ne s’est produit ni défaillance, [1 − d (i, t )dt ] , ni réparation, [1 − r (i, t )dt ] , pendant l’intervalle de temps dt ; c) plus la probabilité d’être à l’état (i-1) à l’instant t , P (i − 1, t ) , et qu’il s’est produit une réparation faisant passer à l’état i pendant l’intervalle de temps dt, r (i − 1, t )dt . Ceci en négligeant les probabilités d’événements simultanés en dt2. Soit en négligeant toujours les termes en dt2, il vient : P (i, t + dt ) − P (i, t ) = dt P (i + 1, t )d (i + 1, t ) + P (i − 1, t )r (i − 1, t ) − P (i, t ) [ d (i, t ) + r (i, t )]
Et en faisant tendre dt vers 0, et en admettant l’existence de la dérivée de P par rapport à t, on obtient : P '(i, t ) = P (i + 1, t )d (i + 1, t ) + P (i − 1, t ) r (i − 1, t ) − P(i, t ) [ d (i, t ) + r (i, t )]
(6-23)
Ce résultat est aussi retrouvé aisément par la méthode des graphes d’états (graphe de Markov) comme cela sera expliqué au chapitre 7. di i-1 …..
di+1
i ri-1
i+1
ri
Figure 6.8. Graphe des états
236
Trafic et performances des réseaux de télécoms
Les états P(i, t) étant mutuellement incompatibles, on a en outre la propriété suivante :
∑ P(i, t ) = 1 et donc aussi ∑ P '(i, t ) = 0
(6-24)
A ces équations, il faudra aussi rajouter les conditions initiales, c’està-dire à t = 0. En général, tous les éléments sont en fonctionnement à l’origine, et on aura P(n, 0) = 1 si le système est composé de n éléments et P(i, 0) = 0 pour i ≠ 0. Enfin, on admettra aussi en général que le processus de défaillance et de réparation est stationnaire. Les probabilités d(i,t) et r(i,t) sont indépendantes du temps. Le système atteint donc au bout d’un temps très long l’équilibre statistique et on a alors pour tout état i : P '(i, t ) = 0
L’ensemble de ces équations forme un système d’équations différentielles qui va nous permettre maintenant d’étudier la fiabilité de différentes structures redondantes réparables. 6.4.2.2. Fiabilité des systèmes redondants réparables
Nous reprenons les cas considérés précédemment pour les systèmes non réparables et appliquons la méthode précédente aux cas de lois de défaillance et de lois de réparation exponentielles. Ces deux dernières hypothèses traduisent assez bien la réalité comme il sera expliqué dans le chapitre 10. Redondance simple à 2 éléments
Il y a deux éléments en redondance, un seul suffit pour le bon fonctionnement du système. Lorsque i systèmes fonctionnent, la probabilité de défaillance d’un élément de taux de défaillance λ est : d (i , t ) = i λ
La probabilité de réparation, pour un taux de réparation µ est : r (i, t ) = µ
Fiabilité
237
Calculons tout d’abord la disponibilité du système, c’est-à-dire la probabilité à l’équilibre statistique d’être dans l’un des états, un ou deux éléments en service. λ 0
2λ 2
1
µ
µ
Figure 6.9. Redondance simple à deux éléments
Dans le cas de systèmes réparables, ce sera l’un des critères majeurs de qualité de service, car il traduit le degré de permanence du service vis-à-vis de l’utilisateur (exemple : permanence des services de télécommunication pour les appels urgents, pompiers, etc.). On appellera ici l’état i l’état dans lequel on a i éléments en service. Les équations d’état sont obtenues directement à partir du graphe des transitions (voir figure 6.9) : P '(0, t ) = λ P (1, t ) − µ P (0, t ) P '(1, t ) = 2λ P (2, t ) − (λ + µ ) P (1, t ) + µ P(0, t ) P '(2, t ) = µ P (1, t ) − 2λ P (2, t )
A l’équilibre statistique, les probabilités d’état Pi deviennent indépendantes du temps, on a P’(i,t) = 0 et donc :
µ P0 = λ P1 (λ + µ ) P1 = µ P0 + 2λ P2 2λ P2 = µ P1
qui se résument à :
238
Trafic et performances des réseaux de télécoms
2λ
P1 =
µ
P2 , P0 = (
2λ λ )( ) P2
µ
µ
et qui avec : P0 + P1 + P2 = 1
donnent : 2λ 1
P2 = 1+
2λ
µ
+
2λ 2
, P1 =
µ2
2λ 2
µ2 µ P = , 0 2λ 2λ 2 2λ 2λ 2 1+ + 2 1+ + 2 µ µ µ µ
(6-25)
L’état P0 est l’état défaillant et donc la disponibilité du système en termes de service, désignée généralement par le symbole A (Availability en anglais), est donnée par : A = 1-P0
soit : A=
µ 2 + 2 µλ µ 2 + 2 µλ + 2λ 2
(6-26)
Compte tenu des ordres de grandeur, disponibilité très proche de 1, on caractérisera bien souvent le système plutôt par la valeur de son indisponibilité désignée par le symbole I, qui s’exprimera en 10-x. On a bien sûr : I=1–A
Ici, l’état P0 donne la valeur de l’indisponibilité. Du fait des ordres de grandeur respectifs de λ (10-4/h, 10-6/h ) correspondant à des MTBF de quelques années, et de µ (0,1/h ou 0,2/h) correspondant à des temps de réparation de quelques heures, on pourra simplifier l’expression des résultats. On obtient alors :
Fiabilité
I = P0 ≈
239
2λ 2
µ2
En pratique, on aura bien souvent affaire à un mode de réparation tel que on passera directement de l’état de panne totale à l’état de remise en service totale. Le graphe de transition est alors représenté par la figure 6.10. λ 0
2λ 2
1
µ µ Figure 6.10. Redondance avec remise en service totale
On peut écrire directement à partir du graphe les équations suivantes :
µ P0 = λ P1 (λ + µ ) P1 = 2λ P2 2λ P2 = µ P1 + µ P0
qui avec : P0 + P1 + P2 = 1
donnent : 1
P2 = 1+
2λ 2λ 2 + λ + µ µ (λ + µ )
2λ λ+µ
, P1 = 1+
2λ 2λ 2 + λ + µ µ (λ + µ )
,
240
Trafic et performances des réseaux de télécoms
2λ 2 µ (λ + µ ) P0 = 2λ 2λ 2 1+ + λ + µ µ (λ + µ )
et donc : P0 =
2λ 2 3λµ + µ 2 + 2λ 2
(6-27)
A=
3λµ + µ 2 3λµ + µ 2 + 2λ 2
(6-28)
Il est une fois encore intéressant de se référer aux ordres de grandeur, et comme précédemment, puisque µ >>λ, on remarque que : I = P0 ≈
2λ 2
µ2
D’un point de vue pratique, les deux modèles sont équivalents. Redondance à k éléments parmi n
Nous nous intéressons au cas équivalent à celui déjà traité en fiabilité de k éléments parmi N, mais cette fois avec des éléments réparables. Il suffira que k éléments parmi n fonctionnent pour que le système soit considéré comme fournissant le service. Compte tenu des remarques précédentes sur l’équivalence en pratique des modes de réparation, simple ou totale, nous n’allons traiter que le cas de la réparation simple. Le graphe des transitions est représenté en figure 6.11. λ 0
2
1
µ
(n-1)λ
2λ
µ
nλ n-1
n-2
µ
Figure 6.11. Redondance à k éléments parmi n
n
µ
Fiabilité
241
On en déduit aisément, comme dans le cas simple de deux éléments, les relations suivantes entre les probabilités d’état : Pn −1 =
nλ
µ
Pn
nλ (n − 1)λ
Pn − 2 =
µ
µ
Pn =
n! λ 2 Pn (n − 2)! µ 2
et de manière générale : Pn −i =
n! λ i Pn (n − i )! µ i
(6-29)
qui s’écrit aussi : Pj =
n! λ n − j ( ) Pn j! µ
et donc, pour un système de redondance k parmi n : n
A = ∑ Pj j =k
k −1
I = ∑ Pj j =0
Et toujours compte tenu des ordres de grandeur : I ≈ Pk −1 ≈
n ! λ n − k +1 ( ) (k − 1)! µ
(6-30)
Souvent, on aura des systèmes à n éléments avec un seul élément de secours. Ce sera par exemple le cas de processeurs de traitement en partage de charge, ou même de processeurs effectuant des traitements différents, mais avec un secours commun apte à remplacer tout élément défaillant.
242
Trafic et performances des réseaux de télécoms
Dans ce type de système on a alors k = n – 1. Et donc : I ≈ Pn − 2 ≈ n(n − 1)
λ2 µ2
NOTE.– Ce type de système est souvent dit en redondance n + 1. L’expression de I devient alors : I ≈ (n + 1)n
λ2 , ce n’est bien sûr qu’une question de notation. µ2
Cas de systèmes séquentiels
On peut aussi trouver des systèmes à fonctionnement séquentiel. Dans ce cas, un seul dispositif fonctionne à la fois, un autre prenant le relais en cas de panne. La probabilité de défaillance pour tout état i est : d (i , t ) = λ
et le graphe de transition est représenté en figure 6.12. λ
λ 0
2
1
µ
µ
Figure 6.12. Redondance séquentielle
On obtient les relations suivantes :
µ P0 = λ P1 (λ + µ ) P1 = µ P0 + λ P2
λ P2 = µ P1 P0 + P1 + P2 = 1
Fiabilité
243
et donc : A=
µ 2 + µλ µ 2 + µλ + λ 2
(6-31)
Et pour l’indisponibilité :
λ2 µ2 I = P0 = λ λ2 1+ + 2 µ µ
(6-32)
Et toujours compte tenu des ordres de grandeur : I≈
λ2 µ2
Nous remarquons que ce type de redondance donne une indisponibilité plus faible que la redondance simple, conformément au bon sens puisque le secours ne fonctionne qu’en cas de panne de l’autre élément. Cependant, si nous considérons le cas général des systèmes à n éléments avec un élément de secours (redondance de type n+1), on retrouvera aisément une indisponibilité : I ≈ n2
λ2 µ2
à comparer au résultat précédent, I ≈ (n + 1)n
λ2 , pour le cas de µ2
redondance simple. La différence avec le cas de redondance simple n’est plus très significative dès que n est assez grand. Enfin, il faudrait aussi prendre en compte le fait que dans ce type de redondance, des traitements en cours (par exemple : des appels, des paquets, des messages) seront perdus lors de la défaillance d’un élément, car n’étant pas traités en parallèle sur l’élément de secours.
244
Trafic et performances des réseaux de télécoms
Ce type de fonctionnement est rare en télécommunication pour la partie matérielle, car les systèmes y compris le secours sont quasiment en permanence sous tension. Par contre, ce type de modèle s’applique aux défaillances du logiciel dans le cas de systèmes en redondance passive (voir ci-après), les logiciels applicatifs n’étant exécutés que sur l’élément actif. 6.4.2.3. Fiabilité des structures imparfaites
Il s’agit essentiellement de systèmes qui présentent des imperfections au niveau mécanisme de défense. Dans la réalité, les mécanismes de défense mis en œuvre seront bien souvent relativement simples. En outre, l’usage d’approximations justifiées par les ordres de grandeurs des variables, comme vu précédemment, permettra de se ramener à des modèles simples et maîtrisables. Cependant, il faudra prendre soin à ne pas négliger des paramètres critiques, significatifs de la réalité des systèmes, tels que par exemple l’imperfection des mécanismes de défense. Ceci nous amène à traiter des structures simples dans le principe, mais que l’on pourrait qualifier d’imparfaites (en fait réalistes), et qui de ce fait conduisent à des modèles aussitôt plus complexes A cette occasion, il est opportun de rappeler les principaux modes de fonctionnement en redondance. Outre le type de structure : redondance simple, partielle, ou majoritaire, on distinguera la redondance passive dite aussi stand-by et la redondance active dite aussi statique. Redondance passive. Le ou les élément(s) en secours ne sont activés qu’en cas de panne. Cette commutation fait aussi que l’on qualifie ce type de redondance de dynamique. Redondance active. Tous les éléments y compris ceux de secours sont simultanément actifs. Du fait qu’il n’y a pas explicitement de commutation d’élément en cas de panne, ce type de redondance est aussi qualifié de statique. Les systèmes de télécommunication mettent très largement en œuvre tous ces types de redondances pour assurer la disponibilité du service. L’ensemble des moyens matériels et logiciels associés à ces redondances constitue les mécanismes de défense, avec leurs éléments
Fiabilité
245
de décision permettant la détection des pannes, l’isolement de l’élément défaillant et l’écoulement du trafic par les éléments en fonctionnement. Malheureusement, ces mécanismes sont souvent imparfaits. Ce sont ces aspects plus proches des systèmes réels que nous abordons maintenant avec l’exemple suivant. Système redondant avec panne dormante
Dans ce système, l’équipement de secours est en redondance passive et le mécanisme de détection de panne sur le secours est imparfait. Les taux de défaillance de l’élément actif et de celui en secours sont identiques (cas général dans les systèmes de télécommunication, mais l’analyse pourra être aisément étendue à des taux différents). On appellera c le coefficient de couverture des mécanismes de détection. On considère au contraire que toute panne sur l’élément actif (écoulant du trafic) est détectée (ce qui est le cas général car le mauvais fonctionnement apparaît au niveau application). On considère enfin comme négligeable la probabilité de panne double sur l’élément de secours (panne non détectée suivie de panne détectée). Le diagramme des états est alors celui de la figure 6.13. λ(1-c)
1b
λ λ
λ(1+c)
0
1
2
µ µ Figure 6.13. Redondance avec panne dormante
On en déduit le système d’équations suivant :
µ P0 = λ P1 + λ P1b
246
Trafic et performances des réseaux de télécoms
(λ + µ ) P1 = λ (1 + c) P2
λ P1b = λ (1 − c) P2 λ P2 = µ P0 + µ P1 P0 + P1 + P1b + P2 = 1
et donc avec A = 1–P0 A=
3λµ + 2µ 2 − c µ 2 4λµ − λ cµ + 2 µ 2 − c µ 2 + 2λ 2
(6-33)
Si c =1, on retrouve bien sûr le résultat déjà démontré pour le système sans panne dormante : A=
3λµ + µ 2 3λµ + µ 2 + 2λ 2
Pour investiguer l’impact de la détection, il vaut mieux considérer l’expression de l’indisponibilité : I =1− A I=
λµ − λ cµ + 2λ 2 4λµ − λ cµ + 2µ 2 − cµ 2 + 2λ 2
(6-34)
Compte tenu des ordres de grandeur (µ >> λ) : I≈
λµ (1 − c) + 2λ 2 µ 2 (2 − c)
et donc : quand c → 1, I ≈
2λ 2
µ
2
et quand c → 0, I ≈
λ 2µ
L’impact de l’efficacité de la détection est donc considérable (on passe de termes à la puissance 1 à des termes à la puissance 2).
Fiabilité
247
6.4.3. Utilisation de la transformée de Laplace
Jusqu’à présent, nous ne nous sommes intéressés qu’à la disponibilité des systèmes réparables. Calculons maintenant la fiabilité de ces systèmes. Dans ce cas, on cherche la probabilité en fonction du temps de se trouver dans les différents états, et sachant que le système s’arrête lorsqu’il atteint l’état défaillance totale : l’état P0. Il n’y a plus alors remise en service. Comme précédemment, le comportement du système est décrit par son système d’équations différentielles, mais cette fois nous cherchons l’expression des probabilités d’état non plus à l’équilibre statistique mais en fonction du temps. Nous allons présenter, sur un exemple, comment résoudre ce système par l’utilisation de la transformée de Laplace. Reprenons notre cas de redondance simple à deux éléments. Le graphe des états est représenté en figure 6.14. λ 0
2λ 2
1
µ Figure 6.14. Redondance simple (fiabilité)
Et les équations sont : P '(0, t ) = λ P(1, t ) P '(1, t ) = 2λ P (2, t ) − (λ + µ ) P (1, t ) P '(2, t ) = µ P (1, t ) − 2λ P (2, t )
Appelons F*(s) la transformée de Laplace de la fonction f(t). Rappelons que : F * (s) =
∞
∫ f (t )e
0−
− st
dt
248
Trafic et performances des réseaux de télécoms
Relation que nous notons : f (t ) ⇔ F * ( s )
en particulier on a : df (t ) ⇔ sF * ( s ) − f (0− ) , dt t
∫
f (t )dt ⇔
−∞
F * ( s) s
et pour la fonction exponentielle : Ae − at ⇔
A , s+a
et pour la fonction échelon (unité) :
µ (t ) ⇔
1 s
Appliquons la transformée de Laplace aux équations précédentes. On simplifie l’écriture en appelant Pi*, la transformée de P(i, t). Il faut en outre définir les états à l’origine t = 0. On suppose tous les éléments bons à l’origine : P2 = 1, P1 = P0 = 0. On obtient : sP0* = λ P1* sP1* = 2λ P2* − (λ + µ ) P1* sP2* − 1 = µ P1* − 2λ P2*
Ce qui donne : P0* =
2λ 2 s( s 2 + s (3λ + µ ) + 2λ 2 )
(6-35)
Fiabilité
249
Ce qui s’écrit encore avec a1 et a2 racines du dénominateur : P0* =
2λ 2 s( s + a1 )( s + a2 )
a1 =
−(3λ + µ ) + λ 2 + µ 2 + 6λµ −(3λ + µ ) − λ 2 + µ 2 + 6λµ , a2 = 2 2
et donc en passant à l’original de la transformée et en remarquant que : 1 −1 1 1 = ( − ) ( s + a1 )( s + a2 ) a1 − a2 s + a1 s + a2 1 −1 1 1 = ( − ) ( s )( s + a) a s + a s
on obtient : 1 1 1 1 1 −1 −1 1 = − )+ ( − ) ( s ( s + a1 )( s + a2 ) a1 − a2 a1 s + a1 s a2 s + a2 s
et donc : P (0, t ) =
−2λ 2 −e a1t 1 ea2t 1 ( + + − ) a1 − a2 a1 a1 a2 a2
qui avec : a1a2 = 2λ 2
donne : P (0, t ) = 1 −
a1e a2t − a2 ea1t a1 − a2
La fiabilité est donc :
(6-36)
250
Trafic et performances des réseaux de télécoms
R (t ) =
a1ea2t − a2 e a1t a1 − a2
(6-37)
On peut aussi à partir de ce résultat obtenir la moyenne du temps de fonctionnement : ∞
θ = ∫ R(t )dt = − 0
a1 + a2 a1a2
soit :
θ=
3λ + µ 2λ 2
(6-38)
On voit donc combien cette méthode est puissante, mais aussi comment son application à des systèmes complexes peut être laborieuse. Nous verrons ci-après comment traiter de manière numérique, par le biais des méthodes matricielles, certains aspects des systèmes complexes. Cependant, quelle que soit la technique, il sera bien souvent nécessaire de réaliser des approximations pour rendre les calculs faisables, notamment quand il s’agira de trouver la fonction originale. D’où l’importance, même pour les calculs de disponibilité à l’équilibre statistique, de savoir distinguer les états de probabilité négligeables. 6.4.4. Utilisation des matrices
Pour calculer la fiabilité ou l’indisponibilité des systèmes, nous avons jusqu’à présent résolu directement le système d’équations différentielles obtenu à partir des graphes de transition. Il peut être utile de représenter cet ensemble d’équations sous sa forme matricielle et de résoudre directement, soit analytiquement, soit numériquement, l’équation matricielle grâce à des programmes de calcul appropriés. Reprenons l’exemple de la redondance simple à deux éléments. Dans le cas de l’étude de la fiabilité, nous avions le graphe de transition suivant et les équations correspondantes :
Fiabilité
λ 0
251
2λ 2
1
µ P '(0, t ) = λ P(1, t ) P '(1, t ) = 2λ P (2, t ) − (λ + µ ) P (1, t ) P '(2, t ) = µ P (1, t ) − 2λ P (2, t )
Ce système peut s’écrire :
λ 0 P ( o, t ) P '(o, t ) 0 P '(1, t ) = 0 −(λ + µ ) 2λ . P (1, t ) P '(2, t ) 0 µ −2λ P (2, t ) Cette relation matricielle peut être établie directement à partir du graphe, puisque les coefficients de la matrice, aij (i = ligne et j = colonne), sont les taux de transition de l’état i à l’état j. Considérons maintenant la durée T du premier cycle conduisant à l’état de panne. En intégrant l’équation matricielle de 0 à T on a : T
∫ P '(t )dt = P (T ) − P (0) i
i
i
0
et aussi : T
∫ P (t )dt = T , temps moyen passé dans l’état i. i
i
0
On peut donc écrire la relation matricielle, très générale, suivante : T0 P (0, T ) − P (0,0) P (1, T ) − P (1,0) = Λ . T [ ] 1 T2 P (2, T ) − P (2,0)
(6-39)
252
Trafic et performances des réseaux de télécoms
où [ Λ ] représente la matrice des coefficients de transition.
Et, compte tenu des conditions initiales, on obtient pour notre exemple : T0 1 − 0 1 0 − 0 = 0 = Λ . T [ ] 1 T2 0 − 1 −1
dont la résolution du système d’équations correspondant donne : T2 =
λ+µ 1 et T1 = 2 2λ λ
Le temps moyen avant la panne ou MTBF est la somme de T2 et T1, d’où :
θ=
3λ + µ 2λ 2
(6-40)
On retrouve le résultat établi précédemment. Il faut surtout voir dans cette approche la possibilité de résoudre le système matriciel par programme de calcul, pour une résolution numérique (résolution exacte par inversion de matrice, ou méthodes approchées telles que méthode d’Euler et méthode de Runge et Kutta). Ce qui sera particulièrement intéressant dans le cas de systèmes complexes donnant lieu à un grand nombres d’états et d’équations. C’est ce type de résolution que nous allons présenter maintenant. 6.4.4.1. Résolution exacte par inversion
Avant de traiter un exemple, rappelons d’abord succinctement la méthode de résolution exacte par inversion de la matrice. Si on appelle I l’ensemble des états initiaux , et T les durées moyennes recherchées dans les différents états, l’équation matricielle précédente s’écrit :
[ I ] = [ Λ ].[T ]
Fiabilité
253
et donc : T = [ Λ ] .[ I ] −1
A condition bien sûr que la matrice inverse existe, ce qui est très généralement le cas dans nos problèmes réels. En outre, dans nos cas concrets les matrices sont aussi très généralement carrées et donc régulières (toute matrice carrée inversible est régulière). Il existe essentiellement deux grandes méthodes d’inversion des matrices : soit la méthode directe dite des déterminants, soit la méthode par triangularisation dite méthode du pivot de Gauss. Bien que plus coûteuse en calculs, rappelons ici simplement la méthode des déterminants car elle permet aussi de rappeler les notions de base associées aux matrices : a) on permute lignes et colonnes, b) on remplace chaque élément par son cofacteur, c) on divise par le déterminant. La méthode s’applique aussi bien sûr au calcul de la disponibilité. Au préalable, rappelons que le déterminant d’une matrice A d’éléments aij (i = ligne et j = colonne) est obtenu par (en développant par exemple selon la première ligne) : det( A) = A = ∑ (−1) j +1 det( A1, j ) ,
(6-41)
j
où A1,j est la sous-matrice de A, ou cofacteur de l’élément a1 j , obtenue en retirant la première ligne et la jème colonne. Ainsi, dans le cas de base d’une matrice à quatre termes, on a : A = a11a22 − a12 a21 . Comme exemple d’application, considérons le graphe et les équations du système doublé réparable, en détaillant cette fois l’inversion la matrice. On a :
254
Trafic et performances des réseaux de télécoms
λ 0
2λ 2
1
µ
µ
P '(0, t ) = λ P (1, t ) − µ P (0, t ) P '(1, t ) = 2λ P (2, t ) − (λ + µ ) P (1, t ) + µ P(0, t ) P '(2, t ) = µ P (1, t ) − 2λ P (2, t )
Il faut y rajouter la condition de normalisation :
∑P =1 i
i
Ce système peut alors s’écrire : 1 1 P '(o, t ) − µ P '(1, t ) = µ P '(2, t ) 0
1 λ 0 P (o, t ) −(λ + µ ) 2λ . P (1, t ) −2λ P (2, t ) µ 1
A l’équilibre statistique, ou régime établi, les probabilités d’état deviennent constantes et les dérivées s’annulent, on a : 1 1 −µ P0 0 = [ Λ ]. P , avec [ Λ ] = µ 1 0 P2 0 0
1 λ 0 − ( λ + µ ) 2λ µ −2λ 1
On vérifie aisément par ailleurs que seules deux équations sur trois des équations initiales sont indépendantes. En supprimant par exemple
Fiabilité
255
la dernière ligne (somme des deux lignes précédentes), le système se réduit alors à : P0 1 1 0 = Λ . P avec Λ = − µ [ ] [ ] 1 P2 µ 0
1 λ 0 −(λ + µ ) 2λ 1
Son déterminant est : Λ =1
λ 0 −µ 0 −µ λ −1 +1 µ ) 2λ µ −( λ + µ ) − ( λ + µ ) 2λ
Λ = 2λ 2 + 2λµ + µ 2
La permutation donne : 1 − µ t [ Λ ] = 1 λ 1 0
µ −(λ + µ ) 2λ
On remplace chaque terme par son cofacteur, et on obtient la matrice des cofacteurs : ( λ ) −( λ + µ ) 1 − 2λ 1 0 −µ µ c[Λ] = − 0 2λ 1 µ −µ − λ −( λ + µ ) 1 2λ 2 −(3λ + µ ) −λ −µ 2λµ 2λ − µ ) µ2 λ + 2µ λ + µ
− (λ + µ ) 2λ 1 µ 1 2λ
µ − (λ + µ )
1 λ) 1 0 1 −µ = − 1 0 1 −µ 1 λ )
Enfin, on divise par le déterminant, et donc :
256
Trafic et performances des réseaux de télécoms
P0 1 P = 1 c Λ 0 1 Λ [ ] P2 0
On obtient : P0 =
2λ 2 2λµ µ2 , , P = P = 2 1 µ 2 + 2λµ + 2λ 2 µ 2 + 2λµ + 2λ 2 µ 2 + 2λµ + 2λ 2
On retrouve bien sûr les résultats déjà obtenus. Ces calculs, répétonsle, ne présentent d’intérêt que par la possibilité de les automatiser, dans les cas de systèmes complexes, pour des résolutions numériques. Il existe de multiples programmes qui effectuent automatiquement ces calculs. Ils utilisent plutôt des méthodes moins coûteuses en calcul telles que la méthode du pivot de Gauss. 6.4.4.2. Résolution approchée
Ces méthodes sont particulièrement adaptées pour évaluer des valeurs telles que la fiabilité à une date t donnée (comme nous l’avons déjà fait avec les transformées de Laplace). En effet, elles traitent directement le système d’équations différentielles, et en cherchent la solution de manière itérative. On citera deux grandes méthodes : la méthode d’Euler et la méthode de Runge et Kutta. La méthode la plus précise est celle de Runge et Kutta, mais les calculs sont plus nombreux, le principe restant cependant le même. De nombreux programmes de calcul implémentent ces méthodes. Nous rappellerons ici seulement les principes de base à partir de la méthode d’Euler. Soit l’équation y ' = f ( x, y ) , avec les valeurs initiales x0 et y0. On cherche
[ x0 , x ] . On décompose l’intervalle [ xn−1 , xn ] . On écrit alors successivement
la solution dans l’intervalle
en
intervalles élémentaires
en
chaque point, yn = yn −1 + f ( xn −1 , yn −1 )( xn − xn −1 ) , en partant de y1 = y0 + f ( x0 , y0 )( x1 − x0 ) et en progressant par pas jusqu’à la valeur de x désirée. Ce qui revient à approximer la courbe par sa tangente (on écrit en fait y '1 = ( y1 − y0 ) /( x1 − x0 ) ). La méthode est forcément imprécise,
Fiabilité
257
fonction de la valeur du pas, et les erreurs s’accumulent à chaque pas. La méthode de Runge et Kutta procède de la même manière par pas successifs, mais au lieu de la tangente, elle utilise à chaque point le développement de Taylor de la fonction y, généralement à l’ordre 4. (Notons que la méthode d’Euler n’est que l’utilisation du développement de Taylor à l’ordre 1, voir annexe mathématique). La précision est bien meilleure mais au prix d’un temps de calcul plus long. Pour la méthode de Runge et Kutta d’ordre 4, les formules sont les suivantes : 1 yn = yn −1 + (k0 + 2k1 + k3 ) , avec : 6 k h k0 = hf ( xn −1 , yn −1 ) , k1 = hf ( xn −1 + , yn −1 + 0 ) , 2 2 h k1 k2 = hf ( xn −1 + , yn −1 + ) , k3 = hf ( xn −1 + h, yn −1 + k2 ) , et h = xn − xn −1 2 2
6.5. Fiabilité du logiciel
Dans cette section, nous détaillons quelques particularités liées à la prise en compte de la fiabilité du logiciel. Nous devons d’emblée mettre l’accent sur l’importance de cet aspect, car les problèmes de fiabilité des logiciels prennent désormais une part prépondérante dans des systèmes de plus en plus performants du point de vue des services offerts, mais aussi de plus en plus complexes. Quand on évoque la fiabilité du logiciel, bien souvent deux « écoles » se confrontent. La première parlera plutôt de croissance de la fiabilité du logiciel et la deuxième parlera plutôt de taux de défaillance opérationnel du logiciel. En fait, on peut, pour le logiciel comme pour le matériel, considérer différentes phases de vie du système. En période de fabrication et de mise au point des systèmes, le taux de défaillance des logiciels sera décroissant car on corrige les défauts. Puis, en phase de vie « utile », on trouvera plutôt un taux de défaillance logiciel quasi constant, voire passant par des phases croissantes puis à nouveau décroissantes. En fait, cette « variabilité » correspond, pour les produits de télécommunication, à l’introduction de nouvelles versions apportant non seulement des améliorations de
258
Trafic et performances des réseaux de télécoms
fonctionnement aux anciennes versions, mais aussi de nouvelles fonctionnalités, de nouveaux services. Cette perpétuelle évolution apporte des corrections, mais aussi de nouveaux défauts de jeunesse. Et malgré l’effort constant de correction des défauts observés en opérationnel, il en reste toujours un certain nombre associés à des conditions très particulières dont on tolérera l’existence. En fait, de par les redondances, le systèmes tolérera un certain nombre de défauts. On s’attachera surtout à corriger toute faute conduisant à l’arrêt total du système. Enfin, ici non plus on ne peut pas considérer vraiment de période de vieillesse car en général les produits sont remplacés avant d’atteindre cette situation. 6.5.1. Modèle de croissance de fiabilité, période de jeunesse
Nous nous intéressons ici à la croissance de fiabilité liée à la correction progressive de fautes résiduelles dans le système. Nous abordons ce problème dans le cadre de la fiabilité du logiciel, mais plus généralement, nous pouvons considérer que ce phénomène est une caractéristique globale des systèmes de communication, matériels et logiciels, présentant régulièrement la mise en parc de nouvelles versions. Il existe un grand nombre de modèles de croissance : JelinskiMoranda, Shooman, Musa, Littlewood-Verral… Le modèle de Musa semble le mieux correspondre expérimentalement aux cas que nous voulons traiter. Appelons N0 le nombre de défauts résiduels à t = 0, n(τ) le nombre de défauts éliminés à la date t = τ, on a alors :
λ(τ) = K(N0 – n(τ))
(6-42)
K étant un coefficient de proportionnalité traduisant la relation entre l’exécution du code et l’apparition des défaillances suite aux fautes (il n’y aura pas de défaillance sur un code qui ne s’exécute pas, comme déjà précisé précédemment). Le taux de correction étant supposé égal au taux d’apparition des fautes, on a :
Fiabilité
dn = λ (τ ) dτ
259
(6-43)
qui avec la première relation donne : n(τ ) = N 0 (1 − e − Kτ )
(6-44)
et le MTTF (Mean Time To Failure), temps moyen jusqu’à la prochaine panne est : T=
1 λ (τ )
T=
1 1 exp( Kτ ) ou avec T0 = KN 0 KN 0
T = T0 exp(
τ N 0T0
)
(6-45)
Ce MTTF croît bien sûr au cours du temps, jusqu’à la période de vie utile où il devient quasiment constant, avec cependant des caractéristiques de variabilité (pour les raisons expliquées précédemment). En pratique, cette expression nous permet d’évaluer la période de jeunesse et les risques de défaillance pendant cette période. Par exemple, on peut remarquer qu’une multiplication par 3 du MTTF est obtenue au bout d’un temps τ approximativement égal à N0T0, c’est-à-dire N0 fois le MTTF initial de mise en parc ou mise en probation, et une multiplication par 10 au bout d’un temps 2,3 fois plus long, conformément à la loi exponentielle. L’expérience montre que souvent la phase de vie opérationnelle est atteinte après une multiplication par 3 du MTTF initial. Si on appelle θ le MTBF (égal alors au MTTF) de l’équipement en phase de vie utile, la période de jeunesse aura une durée τ = (N0/3)θ. On voit ainsi l’importance du nombre de défauts résiduels dans le système.
260
Trafic et performances des réseaux de télécoms
6.5.2. Modèle en phase de vie « utile »
Il s’agit maintenant d’évaluer l’impact des défaillances dues aux défauts logiciels résiduels sur la disponibilité des systèmes. Dans cette phase de vie du système nous considérerons le taux de défaillance logiciel constant. Nous nous plaçons en période stabilisée, après la livraison de la dernière version du produit et après la période de jeunesse. L’impact des défaillances dues au logiciel devient de plus en plus important dans les systèmes. Cependant, la majorité des défauts logiciels résiduels donnent lieu à des défaillances récupérables très rapidement, grâce aux mécanismes de défense tels que les redémarrages « à chaud ». A cet effet, nous allons étudier sur un exemple simple les impacts relatifs de trois grands types de pannes : des pannes logicielles dites récupérables par simple redémarrage de la machine en faute, des pannes logicielles dites graves, donnant lieu à réinitialisations complète du système par rechargement à partir d’éléments distants, et enfin des pannes matérielles demandant une intervention humaine. Soit un système composé de deux éléments en redondance passive. L’élément maître peut tomber en panne par défaillance matérielle ou logicielle. L’élément en secours ne peut tomber en panne que par défaillance matérielle (on considère qu’il n’exécute pratiquement pas de code). Dans les pannes logicielles, on distingue celles qui sont récupérables par redémarrage automatique, et les autres dites graves. Les deux éléments étant en fonctionnement, si une défaillance logicielle récupérable intervient sur l’élément en service, il y a basculement sur le secours et redémarrage quasi immédiat de cet élément (retour immédiat à l’état 2 éléments en service), par recopie sur l’homologue. Si, ayant basculé sur le secours, une défaillance logicielle récupérable intervient, il y a réinitialisation (par rechargement à partir d’un élément distant), avec cette fois une durée non négligeable mais
Fiabilité
261
cependant réduite au regard de la durée d’intervention humaine en cas de remplacement de matériel. Si on appelle : λm le taux de défaillance matériel, λlg le taux de défaillance logiciel grave, c’est-à-dire qui ne peut être récupéré par un redémarrage automatique de station (ce qui équivaut à une panne matérielle), λlr le taux de défaillance logiciel récupérable, c’est-à-dire qui peut être récupéré par un redémarrage automatique de la station (qui est quasi instantané si possibilité de recopie sur homologue, sinon qui nécessite une durée de réinitialisation de quelques minutes), µm le taux de réparation matérielle (correspondant à une durée d’intervention de quelques heures), µr le taux de réinitialisation, correspondant à une durée de réinitialisation de quelques minutes, On pose :
λ2 = 2λm+λlg λ1 = λm+λlg λ3 = λlr Le diagramme des états représenté en figure 6.15. λ1 λ3 0
0’
λ2 1
µr
2
µm
µm Figure 6.15. Redondance avec défaillances logicielles
262
Trafic et performances des réseaux de télécoms
Les équations sont :
λ2 P2 = µ m ( P1 + P0 ) (λ1 + µm ) P1 = λ2 P2 + µr P0
µm P0 = λ1 P1 µ r P0' = λ3 P1 P0 + P 0' + P1 + P2 = 1
D’où on déduit :
λ1 µm P0 = λ λ λ + µm 1+ 1 + 3 + 1 µm µr λ2
(6-46)
λ3 µr P0' = λ λ + µm λ 1+ 1 + 3 + 1 µm µr λ2
(6-47)
Ces résultats mettent en évidence l’impact relatif des pannes logicielles (λ3) donnant lieu à réinitialisation, (µr). Et la disponibilité du système est : A = 1 − ( P0 + P0' )
λ1 + µ m λ2 A= λ λ λ + µm 1+ 1 + 3 + 1 µm µ r λ2 1+
qui s’écrit encore :
Fiabilité
A=
(λ2 + λ1 ) µ m µ r + µ m2 µ r (λ2 + λ1 ) µm µ r + µ m2 µ r + λ2 λ1µ r + λ3λ2 µm
263
(6-48)
On vérifiera qu’on retrouve bien le système de base (sans panne logicielle) avec, λ3 = 0, µr = 1 et λ2 = 2λ1. Pour voir l’impact du taux de défaillance logiciel, il est intéressant de repasser à l’indisponibilité : I=
λ3λ2 µ m + λ2 λ1µr (λ2 + λ1 ) µm µ r + µ 2 µ r + λ2 λ1µr + λ3λ2 µm
(6-49)
m
Si les pannes logicielles graves sont majoritaires et les pannes logicielles récupérables négligeables (λ3 = 0, µ r = 1), il vient : I≈
λ2 λ1 µ m2
le système se comporte comme avec un taux de défaillance matériel aggravé. Si les pannes logicielles graves sont négligeables, ce qui doit être le cas d’un système bien défendu :
λ2 = 2λ1 = 2λm, il vient : I≈
2λm2
µ
2 m
+
2λm λlr
µm µr
L’impact des réinitialisations est relativement faible compte tenu que µr est bien plus petit que µm. Par exemple, avec une durée de réinitialisation dix fois plus faible que la durée de réparation par intervention humaine, et des taux de défaillances logiciels deux fois plus forts que les taux de défaillance matériel, on n’augmenterait l’indisponibilité que de 20 %. D’où l’importance de l’efficacité des mécanismes de défense.
264
Trafic et performances des réseaux de télécoms
6.6. Calcul des lots de maintenance
Dans cette section, nous évaluons le nombre d’équipements qu’il est nécessaire de posséder en stock de manière à garantir une probabilité de rupture de stock donnée. C’est un autre paramètre important de la qualité de service car il quantifie, cette fois du côté opérateur, une part des coûts de maintenance. Notons aussi que la probabilité de rupture de stock peut influencer de manière parfois non négligeable la disponibilité du service, en particulier lorsque les temps de restauration du stock sont importants (c’est un point qu’il ne faudra pas oublier de vérifier !). 6.6.1. Définitions
Appelons N le nombre total d’équipements dans le district à couvrir par le lot de maintenance. On ne s’intéresse qu’à des équipements identiques et en nombre suffisamment grand. On appelle PR la probabilité de rupture de stock, λ le taux de défaillance d’un équipement, et µ le taux de réapprovisionnement des équipements dans le lot de maintenance (ce taux correspond à la durée de remplacement par le centre de réparation local ou central). Nous allons distinguer essentiellement deux types de stratégies. La première stratégie consiste en un réapprovisionnement périodique du stock de période T (en général assez grand, par exemple 1 an). Ce cas correspond à des matériels installés très loin des usines de production ou des centres de réparation (par exemple à l’étranger). La deuxième stratégie consiste en une demande de réapprovisionnement pour chaque élément du stock au fil de l’eau. C’est dans ce cas que l’on utilisera le taux de réapprovisionnement µ. Ce cas correspond à un centre de réparation assez proche du district et ce peut n’être aussi qu’un stock de premier niveau (lui-même faisant appel à un stock centralisé de deuxième niveau). 6.6.2. Réapprovisionnement périodique
Si le stock est de taille S la probabilité de rupture de stock est la probabilité d’avoir plus de S pannes pendant la période T. On suppose une durée de remplacement des éléments défaillants sur site quasiment
Fiabilité
265
instantanée par rapport à la durée de réapprovisionnement du stock. Dans ce cas, tant qu’il n’y a pas de rupture, le taux de défaillance sur le district reste constant égal à Nλ, et donc aussi le taux de décroissance du nombre d’équipements du stock. On peut donc appliquer simplement la loi de Poisson de paramètre NλT, soit : ( N λT ) k − N λT e k! k =0 S
PR = 1 − ∑
(6-50)
On déterminera la valeur entière de S la plus proche qui permettra de respecter l’objectif pour PR. 6.6.3. Réapprovisionnement au fil de l’eau
Le graphe des états de la figure 6.16 exprime l’évolution du système parc plus stock. Le taux de défaillance du parc devient inférieur à Nλ dès que les S éléments du stock sont épuisés. λ
(N-2)λ S+2
S+N (S+N)µ
Nλ
(N-1)λ S
S+1 (S+2)µ
(S+1)µ
Nλ 2
Sµ
Nλ 1
2µ
0 µ
Figure 6.16. Lot de maintenance : réapprovisionnement au fil de l’eau
On obtient : k
Nλ µ P Pk = 0 k!
k≤S
N! S ! λ Pk = ( N + S − k )! k ! µ
Enfin, en posant :
(k −S )
Ps S ≤ k ≤ N + S
266
Trafic et performances des réseaux de télécoms
α = N pour k ≤ S , et α = N + S − k pour k > S on a l’expression générale : k
λ α = N,k ≤ S N ! (α − N + k ) µ Pk = N P0 , avec α = N + S − k, k > S k! α!
(6-51)
et aussi bien sûr : N +S
N +S
∑P k =0
= 1 et P0 = 1 − ∑ Pk
k
k =1
Et la probabilité de rupture de stock est alors exprimée par la proportion de demandes de remplacement non immédiatement satisfaites : N +S
PR =
∑αP
k
k =S N +S
(6-52)
∑ α Pk k =0
La taille S du stock sera déterminée par la plus petite valeur de S qui satisfera une probabilité de rupture PR inférieure à la valeur souhaitée. Lorsque N est suffisamment grand devant S le taux de défaillance peut être approximé à une constante, et le système modélisé par la loi de Nλ . Poisson de paramètre µ PR ≈
N +S
∞
∑ P ≈ ∑P k =S
k
k =S
k
(6-53)
avec : k
Nλ Nλ µ − µ Pk = e k!
Nous verrons une application de ces formules au chapitre 10.
(6-54)
CHAPITRE 7
Théorie des files d’attente
Dans ce chapitre, nous présentons les principaux éléments de la théorie des files d’attente (ou des réseaux de files d’attente). Issue du calcul des probabilités, comme la fiabilité et les statistiques déjà présentées, son application au domaine des télécommunications pour la résolution des problèmes de trafic a donné lieu à l’essor d’une discipline bien connue : le télétrafic. La théorie des files d’attente a pour objectif de rendre compte des phénomènes d’attente et d’engorgement liés au caractère aléatoire et imprévisible des événements rencontrés (dans notre cas, des requêtes d’établissement de connexions, des paquets IP traversant un routeur, des tâches que doit traiter le processeur d’un serveur, etc.). Au vu de la problématique à traiter telle que présentée dans le chapitre relatif à la qualité de service (délais d’attente à respecter, probabilité de pertes dans les tampons, etc.), on comprend aisément l’importance de cette théorie pour notre finalité : l’évaluation des performances des systèmes et des réseaux. Comme à chaque fois qu’une théorie est proposée, elle offre une vision schématique et simplifiée de la réalité observée. En fait, on utilisera cette théorie sur des modèles, abstractions du monde réel qui capturent l’essence du phénomène à étudier. L’activité de modélisation, qui mène du système réel au modèle à file d’attente, prend ici une importance primordiale.
268
Trafic et performances des réseaux de télécoms
Evidemment, la théorie ne prend pas en compte toute la diversité du réel, ou plutôt, ne sait pas y répondre parfaitement. On aura à mettre en œuvre selon les cas des résultats approchés ou des méthodes sophistiquées. Dans les cas les plus complexes, nous serons amenés à associer à la théorie des méthodes telles que la simulation (voir chapitre 8). 7.1. La station de service élémentaire : clients et serveurs Tout au long de ce chapitre, nous manipulerons deux notions de base : les clients et les serveurs. En théorie des files d’attente, les clients sont les entités qui se déplacent dans un réseau de serveurs, où ils reçoivent un traitement. Lorsque plusieurs clients tentent simultanément d’obtenir un service, certains doivent patienter et attendre dans des files d’attente, ou tampons. Ce vocabulaire est conventionnel, et général. Les clients peuvent être des humains faisant la queue à un guichet pour obtenir un ticket de train (le serveur est l’employé qui délivre les tickets). Dans le domaine qui nous concerne, ils peuvent représenter les paquets qui sont aiguillés vers une ligne de transmission et qui attendent la disponibilité de la ligne (deux paquets pouvant être en contention). Le serveur est alors l’automate d’émission et le temps de service est le temps d’émission. Ce peut être aussi des demandes de traitements à effectuer par un logiciel, qui se présentent devant un processeur d’un système temps réel. Les demandes de prise de circuit, de bande passante, dans un système téléphonique sont un autre type de clients. Dans ce cas, les serveurs forment un groupe : ce sont les circuits ou les liens, qui desservent la direction demandée. La station de service la plus générale est composée d’une file d’attente, de capacité finie ou non, vidée par un ou des serveur(s), et alimentée par un flux de clients (voir figure 7.1). Pour décrire ce système de façon précise, il faut pouvoir spécifier : – le mécanisme d’arrivée des clients dans le tampon (c’est-à-dire, en pratique, à quelle loi de probabilité le processus d’arrivée va obéir ?) ; – le temps de service (c’est-à-dire la distribution de probabilité de sa durée) ;
Théorie des files d’attente
269
– la discipline de service (quand un serveur se libère, quel(s) client(s) choisit-il ?). Discipline de service
Processus des arrivées
1
2
Loi de service
n Attente Séjour
Figure 7.1. La station de service de base
7.2. Processus des arrivées Pour aller plus avant dans l’étude des propriétés du trafic, il va être nécessaire de passer en revue les deux composantes dont il dépend. A savoir, les arrivées des clients et leur service. On observe les arrivées de clients à l’entrée du système. Pour décrire le phénomène, la loi d’arrivée, la première idée venant à l’esprit sera d’utiliser l’intervalle du temps entre arrivées successives ou bien le nombre des arrivées dans un intervalle donné. Pendant la durée T, n(T) arrivées se produisent. On chiffre l’intensité du flux arrivant par le taux d’arrivée dont la définition intuitive est :
λ = limT →∞
n(T ) T
On pourra aussi estimer l’intervalle moyen entre arrivées : c’est l’inverse de la quantité précédente.
270
Trafic et performances des réseaux de télécoms
7.2.1. Processus de renouvellement Dans le cas le plus favorable, la description statistique du temps entre les arrivées est très simple. Supposons que la situation puisse être décrite de la façon suivante. Chaque fois qu’une arrivée se produit, on tire au sort, selon une loi donnée, l’intervalle jusqu’à la prochaine arrivée, de telle sorte que les intervalles successifs soient indépendants les uns des autres. On est alors dans le cas très particulier d’un processus de renouvellement. Il faut comprendre l’intérêt d’une telle notion, mais aussi ce qu’elle a de « particulier ». Soit par exemple (voir figure 7.2) un processus d’arrivée qui résulterait de la superposition de deux processus de renouvellement, indépendants. Processus A Processus B Superposition de A et B 1
2
3
4
5
Figure 7.2. La superposition de A et B n’est pas un renouvellement : l’arrivée de « 4 » suit celle de « 3 », mais « 5 » suit « 2 »
Inutile de remarquer combien cette situation est commune ! Le processus de superposition n’est pas un processus de renouvellement. En effet, pour prévoir l’instant d’arrivée du 4e client, il faut se référer au 3e, par exemple en tirant le temps inter-arrivées. Mais, pour le 5e, son arrivée ne peut être prévue que par référence au 2e, et non au 4e. 7.2.2. Processus de Poisson Supposons que le processus des arrivées obéisse aux règles suivantes : – la probabilité d’une arrivée dans un intervalle [t , t + ∆t[ ne dépend pas de ce qui s’est passé avant l’instant t. C’est la propriété dite sans mémoire ;
Théorie des files d’attente
271
– la probabilité d’apparition d’un client est proportionnelle à ∆t , la probabilité de plus d’un événement étant négligeable (infiniment petit d’ordre supérieur, dans le langage des mathématiques). Le coefficient de proportionnalité est noté λ (intensité du processus). Ce sont là les hypothèses classiques qui conduisent au processus de Poisson. Comment estimer la distribution de probabilité du nombre d’arrivées en un temps donné, à partir des axiomes ci-dessus ? Le raisonnement mis en œuvre est typique de la théorie. Notons Pk (t ) la probabilité de k arrivées dans l’intervalle [0, t[ . On cherchera comment cette probabilité varie avec le temps : on observera k clients dans l’intervalle [0, t + ∆t[ si : – on a observé k arrivées de clients en [0, t[ , et aucune arrivée en [t , t + ∆t[ ; – on a observé k – 1 arrivées en [0, t[ , et une arrivée est survenue en [t , t + ∆t[ ; – on a observé k − n, n > 1 arrivées en [0, t[ , et n arrivées en [t , t + ∆t[ , etc. Mettant ces remarques en équation : Pk (t + ∆t ) = Pk (t ) [1 − λ∆t + o(∆t ) ] + Pk −1 (t ) [ λ∆t + o(∆t ) ]
+ Pk − 2 (t ) [ λ∆t + o(∆t )] + ... 2
Si k = 0, les termes k – 1, etc., disparaissent : P0 (t + ∆t ) = P0 (t ) [1 − λ∆t + o( ∆t )]
Le développement de l’équation précédente (faisant ∆t → 0 , etc.) conduit à : d P0 (t ) = −λ P0 (t ) dt
soit P0 (t ) = ae − λt où a est une constante, inconnue à ce point.
272
Trafic et performances des réseaux de télécoms
Le développement de l’équation générale se fera de manière analogue. On notera, dans le passage à la limite qui conduit à la dérivée (c’est-àdire ∆t → 0 ), la disparition des termes en o(∆t ) / ∆t : Pk (t ) +
soit :
d Pk (t )∆t = Pk (t ) − λ Pk (t )∆t + λ Pk −1 (t )∆t + o( ∆t ) dt
d Pk (t ) = −λ Pk (t ) + λ Pk −1 (t ) dt
La méthode élémentaire consistera à procéder par récurrence : d P1 (t ) = −λ P1 (t ) + λ ae − λt et donc P1 (t ) = λ ate − λt + be− λt dt
La condition évidente P1 (0) = 0 conduit à b = 0 ; on laisse le soin au lecteur d’écrire la seconde itération, qui donne l’intuition de la (λ t ) k − λ t solution générale : Pk (t ) = a e . Ce que l’on vérifie sur k! l’équation générale. Maintenant, on remarque que, puisque un certain nombre d’arrivées se sont produites dans l’intervalle, il faut que : ∞
∑ P (t ) = 1 k =0
k
Qui donne a = 1 . Finalement, la probabilité d’observer k arrivées dans un intervalle de longueur t vaut : Pk (t ) =
(λ t ) k − λ t e k!
(7-1)
La distribution discrète ci-dessus est la loi de Poisson, que l’on écrit traditionnellement, en théorie du trafic, en posant A = λ t : P( X = k ) =
( A) k − A e k!
A est alors le trafic moyen offert pendant la période considérée.
Théorie des files d’attente
273
La fonction de répartition de loi de probabilité de la longueur de l’intervalle entre deux arrivées successives est dérivée de la distribution : la probabilité d’un intervalle entre arrivées supérieur à t est la probabilité qu’aucune arrivée ne se produise entre 0 et t : A(t ) = 1 − e − λ t
Le nombre moyen d’arrivées observé dans tout intervalle de longueur t est : m = λt
et sa variance est aussi :
σ 2 = λt (voir aussi chapitre 3). NOTE.– Le processus de Poisson est un processus de renouvellement. 7.2.3. Où rencontre-t-on les processus de Poisson ? Quand on « ne sait rien » d’un processus d’arrivées, il est assez tentant de lui attribuer les deux propriétés énoncées ci-dessus, et qui conduisent aux formules du processus de Poisson, tant elles semblent générales et raisonnables pour de nombreux systèmes. En réalité, il n’en est rien, et la vérification de ces hypothèses n’ira généralement pas de soi. Le plus souvent, la justification du recours à l’hypothèse poissonnienne repose sur le résultat suivant. THÉORÈME [FEL 71, CIN 75].– Soient k processus de renouvellement indépendants, non nécessairement poissonniens, de taux d’arrivées (λi , i = 1,… , k ) . On note λ = ∑ λi le taux d’arrivée global du processus résultant de leur superposition. Si la somme précédente admet une limite λ * lorsque k augmente indéfiniment, alors le processus superposition tend vers un processus de Poisson de taux λ * .
274
Trafic et performances des réseaux de télécoms
REMARQUE.– L’emploi de la notation λi et de la notion de taux d’arrivée ne préjugent absolument pas d’une hypothèse poissonnienne pour les processus individuels. 7.3. Processus des services Le processus de service pourra être d’une complexité extrême, mais on se borne le plus souvent à supposer que chaque durée de service est indépendante des autres, et qu’elles obéissent toutes à une même loi de distribution : on parle de variables indépendantes et identiquement distribuées (i.i.d.). On décrira cette loi, la loi de service, par sa distribution de probabilité : B ( x) ≡ P {temps de service ≤ x}
L’hypothèse d’indépendance et d’identité de distribution entre services successifs, quoique simplificatrice, correspond à une très bonne approximation d’une majorité de cas réels tels que les durées de communications, de sessions indépendantes, etc. Nous serons cependant amenés à traiter aussi de systèmes traitant des clients dont les lois de services obéissent à des lois de distributions différentes. C’est le cas par exemple de systèmes multiservices, chaque type de service ayant sa caractéristique propre. Dans cette section, nous illustrons ceci par quelques exemples de lois de services classiques. 7.3.1. Le temps de service résiduel Cette notion nous permettra d’expliciter la propriété sans mémoire de certains processus. On se pose la question suivante : si on observe un service qui a déjà atteint l’âge y, quelle est la distribution de la durée X restant à courir jusqu’à la fin de ce service ? La réponse est très simple : dire que X > x secondes restent à accomplir revient à dire que la durée totale sera supérieure à y + x , et savoir que Y = y revient à calculer la probabilité conditionnelle sachant que la durée totale est supérieure à y. On a alors pour la distribution de X :
Théorie des files d’attente
P ( X > x / Y = y ) = P ( service total > x + y / Y > y ) P( service total > x + y ) = P ( service total > y ) =
275
(7-2)
1 − B( x + y) 1 − B( y)
Début du service
Fin du service
Y=y
X
Instant de l’observation Figure 7.3. Calcul de la distribution du temps résiduel
De façon équivalente, la densité sera : P ( X ∈ [ x, x + dx[/ Y ) = b( x + y )dx /(1 − B ( y ))
On en verra une application ci-après. 7.3.2. Loi exponentielle La loi de service la plus populaire est la loi exponentielle, qu’il est traditionnel d’écrire en utilisant comme taux de service la lettre µ : B ( x) = P ( service ≤ x) = 1 − e − µ x , b( x) = µ e − µ x
(7-3)
La loi exponentielle doit une bonne partie de son prestige à la propriété sans mémoire, déjà rencontrée, et qui pourrait ici s’énoncer ainsi : « Savoir que le service a déjà duré 1 heure n’apporte aucun renseignement sur sa fin prochaine. » On remarquera en effet que,
276
Trafic et performances des réseaux de télécoms
pour la loi exponentielle, la densité de l’événement conditionnel (voir formule (7-2)), vaut : b( x / y ) =
µe − µ ( x + y ) e − µy
= µ e − µx = b ( x )
indépendamment de y. L’application de cette absence de mémoire montre que la probabilité d’une fin de service dans l’instant qui vient (dans l’intervalle [t , t + dt[ ) est µ dt , quel que soit l’âge du service. Ce résultat présente un caractère en apparence paradoxal (on le cite dans la littérature sous le terme de paradoxe du taxi, ou du bus). Ainsi, la distribution du temps restant est identique à la distribution initiale, pour une loi exponentielle, et donc aussi sa moyenne. On peut montrer aussi que l’âge (la durée Y sur le schéma) a la même distribution et la même moyenne. Cela signifie que l’intervalle observé a une durée double de la moyenne de la loi ! On dissipera le paradoxe en réalisant que l’observation de l’intervalle introduit un biais. Prenons l’exemple d’un collègue qui vient vous consulter alors que vous êtes en cours de communication téléphonique. Lorsqu’il arrive dans votre bureau « au hasard », il a plus de risques d’y arriver pendant une durée de conversation longue (puisque précisément cet intervalle est long). Ce collègue « prélève » donc, malgré lui, des échantillons de loi exponentielle qui présentent un biais : ils ont une longueur moyenne plus forte ; ici, double. Il n’en reste pas moins que son « bon sens » est quelque peu perturbé. Le même exercice, reproduit avec un service de longueur constante, donnerait un résultat plus conforme à l’intuition naïve : durée restante moitié de la durée totale. C’est que là le processus d’échantillonnage n’influence pas les durées sélectionnées, toutes identiques ! La loi exponentielle se caractérise par ses moments : moyenne de la variable : m = 1/ µ , variance de la variable : σ 2 = 1/ µ 2 .
Théorie des files d’attente
277
On introduit le coefficient de variation, ou de dispersion : rapport de l’écart type du temps de service à sa moyenne : c = σ / m . Ici, on voit que le coefficient de variation vaut 1. 7.3.3. Lois d’Erlang Supposons que le processus de service soit composé d’une cascade de k serveurs élémentaires exponentiels, identiques (c’est-à-dire, de même paramètre µ) et indépendants les uns des autres. Le temps du service est la somme des temps passés dans chaque serveur. Il s’agit bien d’un seul serveur, composé de k étages (un seul client à la fois est autorisé à pénétrer dans le serveur). La durée du service est distribuée comme la somme de k variables exponentielles, indépendantes et de même paramètre. On a déjà rencontré ce cas au chapitre 4 : c’est une loi d’Erlang-k, dont on rappelle la forme : B ( x) = P ( X 1 + X 2 + ... + X k ≤ x) = 1 − e − µ x ∑ j = 0 k −1
( µ x) j j!
(7-4)
Puisqu’il s’agit d’une somme de variables aléatoires indépendantes, moyenne et variance s’obtiennent facilement, comme la somme de la moyenne et de la variance de chaque variable exponentielle : – moyenne de la variable : k / µ – variance de la variable : k / µ 2 – le coefficient de variation est 1/ k Rappelons la propriété de cette loi : son coefficient de variation c = 1/ k est toujours plus petit que 1, et on l’utilisera comme type de système dans lequel la durée du service est moins variable que l’exponentielle. Le cas limite sera, pour k très grand, une durée de service constante. 7.3.4. Loi hyperexponentielle Une autre configuration intéressante est celle de la loi hyperexponentielle. Le mécanisme de « service » se compose de deux
278
Trafic et performances des réseaux de télécoms
serveurs exponentiels de taux différents entre lesquels le client choisit (voir figure 7.4).
Choix d’un service
le serveur « hyperexponentiel »
µ1
α
µ2
1−α
Figure 7.4. Loi hyperexponentielle
A l’entrée dans le serveur, le client « choisit » le service 1 (durée moyenne 1/ µ1 ) avec probabilité α, le serveur 2 avec probabilité 1− α . Un seul client à la fois séjourne dans le serveur. Par exemple, le client est une tâche dans une machine qui selon un critère donné va exécuter un programme ou un autre. On peut enrichir le schéma sur le même principe, en proposant un choix entre n serveurs. On a également présenté la distribution correspondante au chapitre 4. Rappelons la forme pour deux serveurs :
(
)
(
P ( Service ≤ x) = α 1 − e − µ1 x + (1 − α ) 1 − e − µ2 x
)
Le calcul des moyenne et variance donne le résultat suivant : Moyenne : E ( s ) =
α 1− α + µ1 µ2
α 1−α 2 2 + µ1 µ2 2 2 −1 Coefficient de variation : c = 2 α 1−α µ + µ 1 2
Théorie des files d’attente
279
Ce coefficient est toujours supérieur à 1 : une loi sur-variante, telle que l’écart type soit plus fort que la moyenne, sera représentable par une loi hyperexponentielle. Le couple (Erlang-k, hyperexponentielle) fournit le moyen de représenter de façon approchée toute loi dont on connaît la moyenne et la variance. Rappelons la généralisation sous la forme des lois de Cox, qui permettent de représenter toute distribution de probabilité d’une loi de service par une combinaison de serveurs exponentiels. L’exemple à deux composantes se généralise aisément au cas d’un choix entre n services exponentiels : on se reportera au chapitre 4. 7.4. Processus de naissance et de mort 7.4.1. La notion d’état La notion d’état a une base intuitive : décrire l’état d’un système, c’est donner la liste des caractéristiques qu’il possède, mais également donner les éléments qui permettent de prévoir son évolution. En mécanique, par exemple, on décrit l’état d’un point matériel par ses coordonnées ( x, y, z ) et par sa vitesse (vx , v y , vz ) . Ces quantités une fois connues, on peut décrire la position du point, et via les équations de la mécanique et la donnée de l’état initial, la trajectoire qu’il doit suivre. Il en est de même pour un système stochastique, à la différence que la prévision du futur y prend un caractère probabiliste : on ne saura prévoir l’état exact dans quelques secondes, mais seulement sa distribution de probabilité. 7.4.2. Chaînes de Markov Considérons une variable aléatoire X, à espace d’état discret (elle ne prend ses valeurs que dans un espace discret). Pour se fixer les idées, X peut représenter le nombre des clients dans un tampon X = 0,1, 2... On peut noter les états E1, E2, …, Ek, …. Notons t1 , t2 ,..., tn les instants successifs des changements d’état de X, et x1 ,..., xn la suite des états visités. Les tn pourraient être, par exemple, les instants d’arrivée ou
280
Trafic et performances des réseaux de télécoms
de départ dans le tampon. Dans le cas général, l’étude de l’évolution de X est très difficile. Il existe une circonstance capitale, qui est la base de tous les développements qui suivent. Dans le cas général, la valeur de X à l’instant tn +1 dépend de tout le passé, c’est-à-dire de X (t1 ), X (t2 ) , etc. On dira que X obéit à la propriété de Markov si : P[ X (t n +1 ) = x n +1 / X (t n ) = x n , X (t n −1 ) = x n −1 ,...] = P[ X (tn +1 ) = xn +1 / X (tn ) = xn ]
En bref, seul l’état courant à l’instant tn influence l’évolution future du processus, et on peut oublier les états antérieurs. C’est encore une forme de la propriété d’absence de mémoire. Supposons de plus le processus homogène, c’est-à-dire invariable par translation dans le temps. Ceci autorise à introduire la notation : p j , k = P[ X (t n +1 ) = E k / X (t n )] = E j
(sans l’homogénéité, il aurait fallu introduire une notation du genre p (jn,k) ). La propriété de Markov se traduit par : P [ X (tn +1 ) = Ek ] = ∑ p j ,k P[ X (tn ) = E j ]
(7-5)
j
C’est la forme élémentaire d’un résultat fondamental, connu sous le nom d’équation de Chapman-Kolmogorov. Le processus étudié est une chaîne de Markov. 7.4.3. Les processus de naissance et de mort L’étude des processus de Markov les plus généraux est un des grands chapitres du calcul des probabilités. Les besoins très spécifiques de cet exposé conduisent à se limiter au cas très particulier, et très utile, où le processus ne peut faire de « sauts » que vers ses voisins les plus proches. C’est-à-dire que l’état du système évolue depuis Ek vers Ek −1 ou Ek +1 . Le taux de passage de Ek vers Ek +1 est
Théorie des files d’attente
281
traditionnellement noté λk : c’est le taux de naissance. Le taux du passage de Ek vers Ek −1 est le taux de mort µk . Le processus de naissance et de mort a été introduit dans l’étude de l’évolution des populations, l’état faisant référence à la taille de la population. En accord avec cette origine, et pour simplifier l’écriture, on nommera les états plus simplement 1,2,3,..., k , sans perte de généralité. Le problème est simple : nous cherchons à dériver la distribution de probabilité de l’état, c’est-à-dire la fonction Pk (t ) = P[ X (t ) = k ] , l’état initial étant supposé connu. La mise en équation procède de façon assez intuitive. En fait, il s’agit simplement de redécouvrir la dynamique des équations de ChapmanKolmogorov. Plaçons-nous à un instant t, et examinons les possibilités d’évolution. A l’instant t + ∆t , on observera notre processus dans l’état k si : – à l’instant t, l’état était k et rien ne s’est produit dans l’intervalle élémentaire [t , t + ∆t ] ; – à t, l’état était k – 1 et une « naissance » s’est produit durant l’intervalle [t , t + ∆t ] ; – à t, l’état était k + 1 et une « mort » s’est produit durant l’intervalle [t , t + ∆t ] . L’intervalle t + ∆t est supposé « petit ». D’autres événements plus complexes (deux arrivées, une arrivée et un départ, etc.) auront lieu avec des probabilités en o(∆t ) . On écrira donc : Pk (t + ∆t ) = Pk (t )[1 − λk ∆t − µ k ∆t ] + Pk −1λk −1∆t + Pk +1µ k +1∆t +o(∆t )
Cette équation transcrit fidèlement la description des possibilités donnée ci-dessus. A partir de cette forme, on écrit une équation différentielle par les traitements classiques de l’analyse :
282
Trafic et performances des réseaux de télécoms
Pk (t + ∆t ) − Pk (t ) o(∆t ) = −(λk + µk ) Pk (t ) + λk −1 Pk −1 (t ) + µ k +1 Pk +1 (t ) + ∆t ∆t
Un cas particulier : en 0 la transition de « mort » n’existera pas, puisqu’il n’y a pas d’état noté « –1 ». Finalement, le passage à la limite conduit au système différentiel fondamental : d Pk (t ) = −(λk + µ k ) Pk (t ) + λk −1 Pk −1 (t ) + µ k +1 Pk +1 (t ), k > 0 dt d P0 (t ) = −λ0 P0 (t ) + µ1 P1 (t ) dt
(7-6)
Cette équation nous ramène effectivement à l’analogie de la mécanique du point. Si l’état initial est connu, nous pourrons prévoir la distribution pour tout instant du futur. La nécessité de connaître l’état initial semble bien pesante ! Il existe heureusement une classe de systèmes, tels qu’on puisse s’affranchir de sa connaissance. L’analyse de ce processus conduit à distinguer deux cas : – cas 1. Lorsque le temps augmente, les probabilités tendent vers une limite indépendante de l’état initial. On parle de systèmes ayant atteint leur équilibre statistique (ou régime permanent) ; – cas 2. Aucun équilibre n’est atteint, les fonctions Pk (t ) ne possèdent pas d’asymptote. Ce serait notamment le cas de systèmes en surcharge (intuitivement, pour un tel système, le nombre de clients présents augmente indéfiniment, aucun régime stationnaire ne saurait exister). Cette configuration est évidemment toute théorique : en pratique, l’engorgement se traduira par l’abandon des requêtes, et de façon générale par une modification du comportement du système entier. Nous nous limiterons à l’étude de systèmes dans le cas 1, et nous étudierons l’état à l’équilibre. Pour un système dynamique à l’équilibre, un régime permanent existe, tel que les probabilités d’état sont égales à la valeur asymptotique, et donc ne dépendent pas du temps. On réécrira simplement le système ci-dessus, en y annulant toutes les dérivées. La distribution stationnaire sera notée Pk : (λk + µ k ) Pk = λk −1 Pk −1 + µ k +1 Pk +1
λ0 P0 = µ1 P1
(7-7)
Théorie des files d’attente
283
système que l’on résout par récurrence : P1 en fonction de P0 , puis P2 en fonction de P0 , P1 , et ainsi de suite. On achève le calcul par la condition de normalisation, qui stipule simplement que le système doit bien se trouver quelque part :
∑P
k
=1
k
λk-1
λk Etat k
Etat k-1 µ
Etat k+1 µ
k+1
k
Figure 7.5. Evolution de l’état d’un processus de naissance et de mort
Le jeu des équations (7-7) admet une interprétation très fructueuse, illustrée sur la figure 7.5. On peut interpréter le terme de gauche ( λk + µk ) Pk comme un flux de probabilité qui quitterait l’état k . Un terme tel que λk Pk mesure le flux de probabilité montant de k vers k+1. Ce flux est le produit de la probabilité de se trouver dans l’état par le taux de départ montant (sachant que l’on s’y trouve, si l’on veut). La même interprétation vaut pour les autres termes. L’équation dit alors que, pour que les probabilités gardent des valeurs constantes, il doit y avoir égalité entre les flux entrant et sortant des différents états. On met à profit cette interprétation pour écrire très rapidement les équations, à partir d’un diagramme analogue à celui de la figure cidessus. Une manière de procéder particulièrement efficace sera de remarquer que le principe de conservation va jouer pour tout groupe d’états. Notamment, le flux de probabilité sortant du groupe des états 0, 1, 2, … k , c’est-à-dire le flux sortant de k, doit égaler le flux qui y entre venant de l’état k + 1 (voir figure 7.6).
284
Trafic et performances des réseaux de télécoms
0
k
1
k+ 1
(b) (a)
Figure 7.6. Pour écrire les équations d’état, on écrit la conservation au travers de la frontière (a) ou de (b)
La mise en œuvre de l’approche (b) est très efficace. On comparera les mises en équations : (a)
λ0 P0 = µ1 P1 (λk + µ k ) Pk = λk −1 Pk −1 + µk +1 Pk +1 , k ≥ 1
(b) λk Pk = µ k +1 Pk +1 , k ≥ 0
(7-8)
On vérifierait d’ailleurs que la somme, membre à membre, des équations (a) donne le système (b). 7.4.4. La propriété PASTA (Poisson Arrivals See Time Averages) On revient ici sur les propriétés du processus de Poisson. Il bénéficie en effet d’une propriété assez attrayante que l’on désigne sous le terme de propriété PASTA, et qui prend tout son intérêt dans les calculs liés à la qualité de service. Imaginons un système, qui évolue, de telle sorte qu’on ait pu en évaluer les probabilités d’état. On parle en toute rigueur de probabilités d’état stationnaires, pour signifier le fait qu’elles ne dépendent pas du temps (rappelons le passage à la limite fait pour établir les équations d’état, et notons que l’existence de la stationnarité est une propriété à vérifier, un système donné pouvant ne pas avoir d’état stationnaire).
Théorie des files d’attente
285
La signification intuitive de ces probabilités stationnaires est la suivante. On observe le système pendant une durée assez longue Θ. Le système parcourt, selon sa logique, une suite d’états, (on les notes 1, 2, 3, …). On note la durée de passage dans chacun des états, et on effectue le cumul des durées passées dans chacun des états θ (n) . Alors, si la durée d’observation est assez grande :
θ (n) Θ
≈ Pn et plus précisément, Pn = lim Θ→∞
θ (n) Θ
On parle souvent pour les probabilités stationnaires de moyennes dans le temps, pour rappeler la formule. Maintenant, on peut imaginer une autre méthode d’observation du système. On se place dans le cas d’une file d’attente, et on observe les clients qui arrivent à l’entrée du système. Chaque client arrivant va constater un état instantané. Faisons le compte du nombre des clients observant le système dans l’état 0, 1, 2, … Soit q(n) le nombre des arrivant trouvant n clients, et soit N le nombre total de clients participant à l’expérience. On peut calculer le rapport Qk = q (k ) / N , qui est aussi un jeu de probabilités (parce que 0 ≤ Qk ≤ 1,
∑Q
k
= 1) : probabilités aux instants des
arrivées. Dans le cas général, les deux jeux de probabilité sont différents. Mais : si les arrivées se produisent selon un processus de Poisson, alors Pk = Qk : les arrivées poissonniennes voient des moyennes dans le temps : propriété PASTA. On verra plus loin des contre-exemples à ce résultat, lorsque les arrivées ne sont pas poissonniennes, et qui peuvent s’interpréter comme une certaine corrélation entre le système et les arrivées. La propriété PASTA signifie, confirme plutôt, que le processus de Poisson réalise un processus de « hasard pur ». 7.5. Les modèles à files d’attente classiques Nous rappelons brièvement les principaux résultats : on se reportera à un cours spécialisé sur les files d’attente pour plus de résultats.
286
Trafic et performances des réseaux de télécoms
7.5.1. La notation de Kendall Pour identifier un système à files d’attente, le formalisme suivant a été proposé et est unanimement adopté : A/B/n/K/N La première lettre identifie la loi du processus des arrivées, la deuxième le processus des services, avec dans les deux cas les conventions : – M : loi sans mémoire (arrivées poissonniennes ou service exponentiel) ; – D : loi déterministe ; – Ek: loi Erlang-k ; – Hk: loi hyperexponentielle d’ordre k ; – GI : loi générale, les variables successives étant indépendantes ; – G : loi générale, sans hypothèse d’indépendance. Le chiffre n qui suit donne le nombre de serveurs, les lettres qui suivent (facultatives) identifient la taille de la file d’attente et la taille de la population source (si ces valeurs sont omises, elle sont supposées infinies). Par exemple, M/M/1 fait référence au modèle de base : arrivées poissonniennes, service exponentiel, un seul serveur, file d’attente non bornée. M/D/K/K indique un service de durée constante, K serveurs et K places au total (c’est-à-dire pas d’attente : modèle d’Erlang). Dans une file d’attente, un paramètre de première importance est le taux d’utilisation, noté traditionnellement ρ. C’est le produit du taux d’arrivée des clients par le temps de service : ρ = λ E ( s ) . On peut montrer que 1 − ρ donne la probabilité de trouver le serveur inactif. Il faut (pour une file de capacité infinie) que ρ < 1 (condition de stabilité : intuitivement, le travail doit entrer dans le système moins vite que celui-ci ne peut l’écouler).
Théorie des files d’attente
287
7.5.2. Résultats généraux « Résoudre » un système de files d’attente consistera, en fonction des paramètres du système (taux d’arrivée, taux de service), à écrire la distribution du nombre des clients dans le système et du temps d’attente, ou à défaut de prévoir les moyennes de ces quantités. On peut citer quelques résultats de portée générale, indépendants des lois des processus mis en œuvre : – le paramètre ρ est le taux d’activité – la charge supportée, c’est-àdire le trafic offert. La probabilité stationnaire que le serveur soit inactif est P0 = 1 − ρ (voir la discussion des notions de trafics offert et écoulé à ce sujet) ; – les nombres moyens et les temps d’attente sont reliés par la célèbre formule de Little : E ( N x ) = λx E (Wx ) L’indice x signifie que l’on peut donner à ces grandeurs toute interprétation possible : le temps moyen d’attente et le nombre des clients en attente ; ou bien le temps de séjour et le nombre des clients séjournant ; etc. Cette dernière formule est très importante. Une preuve intuitive peut en être donnée, basée sur un raisonnement graphique très simple. Observons l’occupation du système (nombre des clients qui s’y trouvent – on ne fait aucune hypothèse sur le système, ni sur l’état des clients, en attente, en service, ou autre). Chaque fois qu’un client entre ou sort, on met à jour le nombre des présents, et l’évolution de N(t), nombre de clients présents, ressemble à la figure 7.7. N(t) T 1
2
3
4
5
t
2
1
3
4
5
Figure 7.7. Formule de Little
288
Trafic et performances des réseaux de télécoms
Pour estimer le nombre moyen de clients dans le système, on comptera la surface totale interceptée par N(t) : c’est la somme des surfaces apportées par chaque client : ∑ Dk , Dk étant la durée que le client k va passer dans notre système. Le nombre moyen sera alors :
∑D
k
E ( N ) = limT →∞
T
(en effet, la moyenne est définie traditionnellement comme une limite). Maintenant, la somme peut se réécrire, en introduisant le nombre n de clients concernés dans la durée T :
∑D
k
T
=
∑D
k
n(T )
×
n(T ) T
Sous des conditions assez générales, la limite du produit est égale au produit des limites. Le terme n(T)/T est simplement le taux d’arrivée du processus, on le note λ. Le premier terme n’est rien d’autre que le temps moyen que chaque client passe dans le système. Si le système considéré est la file d’attente devant un serveur, on obtient la forme classique de la formule de Little : E ( N ) = λ E (W )
Plus généralement on remarquera aussi que, interprétant le système comme un pool de ressources, on retrouve simplement la notion de trafic en erlangs telle que présentée au début de l’ouvrage : E(N) est le nombre moyen de clients (appels, sessions, etc.) occupant simultanément le pool de ressources, c’est-à-dire le trafic A engendré par un taux d’arrivée λ et une durée de service E(T). On peut particulariser davantage les clients : dans un système avec priorités, la formule relie le nombre et l’attente des clients prioritaires, ou non prioritaires, etc.
Théorie des files d’attente
289
7.5.3. La file M/M/1 C’est le modèle de file d’attente le plus célèbre, à juste titre certainement. Il permet en effet d’illustrer les concepts fondamentaux liés à l’attente devant un serveur, tels qu’on les rencontre dans la plupart des équipements du réseau, qu’il s’agisse des tâches de traitement des appels dans un processeur ou des paquets dans un routeur. 7.5.3.1. Les probabilités d’état Le système est décrit par le processus des arrivées, poissonnien de taux λ, la loi de service exponentielle de taux µ, la file d’attente de capacité infinie. Les clients pourront être supposés servis dans l’ordre de leur arrivée si cela peut aider l’intuition, mais cette hypothèse n’est en fait pas nécessaire. Lorsque n > 0 clients sont dans le système (un en service, n − 1 en attente) à un instant t, la fin de service du client en cours se produit dans l’intervalle [t , t + ∆t ] avec une probabilité µ∆t + o(∆t ) : propriété fondamentale de la loi de service exponentielle. De même, une arrivée se produira dans l’intervalle, avec une probabilité λ∆t + o(∆t ) . On applique à ce système le formalisme et les résultats obtenus plus haut sur le processus de naissance et de mort. L’état est décrit par n, qui représente cette fois le nombre total des clients dans le système. Il évolue selon un processus de naissance et de mort très simple schématisé dans la figure 7.8. λ
λ 0
1 µ
λ 2
µ
λ
...
λ n
µ
n+1
...
µ
Figure 7.8. Evolution de l’état de la file M/M/1
Du diagramme, on déduit les résultats qui suivent. On va ici en donner une démonstration détaillée. Pour les autres systèmes présentés plus loin, l’exercice est laissé au lecteur.
290
Trafic et performances des réseaux de télécoms
L’analyse du système, selon la procédure des équations de ChapmanKolmogorov, aboutit aux équations suivantes :
λ P0 = µ P1 ... (λ + µ ) Pn = λ Pn −1 + µ Pn +1
La sommation terme à terme des équations des rang 0 à n (approche (b) de l’équation (7-8)) conduit à la forme particulièrement simple λ Pn = µ Pn +1 : soit Pn +1 = ρ Pn , et par récurrence Pn = ρ n P0 . La condition de normalisation achève le traitement et, finalement, la probabilité qu’il y ait n clients dans le système, est : Pn = ρ n (1 − ρ ), n ≥ 0, ρ = λ / µ ,
(7-9)
Un client attendra si le serveur est actif à son arrivée, c’est-à-dire si le système contient un ou plusieurs client(s). C’est-à-dire que PW , la probabilité qu’un client ait à attendre, est donnée par : PW = ∑ Pn = ρ n ≥1
En effet, cette expression donne la probabilité qu’un observateur extérieur trouve le serveur occupé : de façon précise, la distribution des Pn est une probabilité stationnaire (moyenne dans le temps), on parle de probabilité d’encombrement dans le temps. C’est aussi, grâce à la propriété PASTA, évoquée plus haut, la probabilité qu’observe le client arrivant, et donc la probabilité de devoir attendre. Les expressions ci-dessus font jouer à ρ un rôle important. On remarquera qu’elles n’ont de sens que sous la condition ρ < 1 . C’est ce que l’on appelle la condition de stabilité, ou condition d’ergodicité. On montre que la condition ρ < 1 est une condition nécessaire et suffisante d’existence des probabilités stationnaires, ce qui est conforme à l’intuition, ce paramètre n’étant rien d’autre ici que le trafic offert. De façon intuitive, ρ > 1 revient à avoir un taux d’arrivée λ supérieur au taux de service µ : le système ne pourrait atteindre un état stable dans cette configuration.
Théorie des files d’attente
291
La distribution du nombre de clients est une distribution géométrique de paramètre ρ, dont on déduit la moyenne et la variance (voir chapitre 4, on conseille aussi au lecteur de refaire ici l’exercice) : E ( n) =
ρ 1− ρ
, σ 2 (n) =
ρ (1 − ρ ) 2
Concernant les attentes : on fait la distinction entre l’attente proprement dite (temps passé entre l’arrivée dans la file et le début du service) et le séjour (temps écoulé jusqu’au départ du système). On note ces quantités W (attente dans la file) et tS (temps de séjour ). De même on distinguera entre les clients dans le système et ceux en attente. Il y a 0 client en attente si le serveur est inactif ou si un seul est présent ; il y en a n en attente s’il y en a n + 1 dans le système : P (n en attente) = ρ n +1 (1 − ρ ), n ≥ 1, ρ = λ / µ , P (0 en attente) = (1 − ρ ) + ρ (1 − ρ ) = 1 − ρ 2
Et en opérant comme pour le cas précédent, on obtient le nombre moyen de clients en attente : E (nW ) =
ρ 2 (1 + ρ − ρ 2 ) ρ2 , σ 2 (nW ) = 1− ρ (1 − ρ ) 2
(7-10)
Des nombres moyens de clients on déduit, via la formule de Little, les temps moyens d’attente et de séjour : E ( Attente) = W =
E ( nw )
λ
=
ρ
1
1− ρ µ E ( n) 1 1 E ( séjour ) = t S = = 1− ρ µ λ
,
(7-11)
Dans beaucoup de problèmes de dimensionnement, on est intéressé par la probabilité de dépasser une certain seuil dans les files, ou le système, on cherche alors la probabilité P ≥ n . Celle-ci s’écrit simplement, pour le système :
292
Trafic et performances des réseaux de télécoms ∞
∞
i=n
i=n
P ≥ n = ∑ Pi = ∑ ρ n (1 − ρ ) = ρ n
(7-12)
et pour la file (service exclu) : P ≥ nw = ρ k +1 . 7.5.3.2. Utilisation de la fonction génératrice La résolution directe par substitution des équations d’état est d’une compréhension immédiate, mais se révèle fastidieuse dès que les expressions deviennent un peu plus complexes. On peut alors astucieusement utiliser les fonctions génératrices, telles que présentées au chapitre 3. Rappelons que la fonction génératrice de la distribution ( Pk , k = 0,…) est la fonction de la variable complexe : P ( z ) = ∑ k z k Pk .
On se place dans le domaine z < 1 , de sorte que la fonction P(z) existe : il s’agit d’une fonction analytique de la variable complexe. Son intérêt est lié à l’usage de ses dérivées, qui donneront directement les moments de la variable (voir chapitre 3). Comment utiliser ces propriétés ? Reprenons le cas élémentaire de la file M/M/1 : on a écrit le système des équations :
λ P0 = µ P1 ... (λ + µ ) Pk = λ Pk −1 + µ Pk +1
Dès lors, à partir du jeu des équations, on calcule la forme de la fonction génératrice par application de la définition : dans ce cas élémentaire, on multiplie chacune des équations de rang k par z k , puis on effectue la somme membre à membre :
λ P0 + ∑ (λ + µ ) Pk z k = µ P1 + ∑ ( λ Pk −1 + µ Pk +1 )z k k ≥1
k ≥1
λ P ( z ) + µ ( P ( z ) − P0 ) = λ zP ( z ) +
µ z
( P( z ) − P0 )
Théorie des files d’attente
293
Une manipulation algébrique simple conduit au résultat : P( z ) =
µ P0 P0 = µ − λz 1− ρz
(7-13)
La condition de normalisation s’écrit ici P (1) = 1 , soit P0 = 1 − ρ . De cette expression très synthétique, on déduit les dérivées première et seconde, et donc les deux premiers moments, et la variance du nombre de clients dans la file ; on laisse au lecteur le soin de retrouver les résultats déjà donnés. On peut aussi, au prix d’un développement en série de la fraction, retrouver par identification les probabilités d’état. Dans ce cas très simpliste, la justification peut en paraître fallacieuse. On verra cependant comment, avec cette méthode, obtenir certains résultats fondamentaux dans le cas important de la file M/G/1. On consultera aussi la référence [LLE 76]. Il ne s’agit ici que de l’usage des transformées pour la résolution d’un système d’équations préalablement établi (comme avec les transformées de Laplace au chapitre 6). Nous verrons par la suite comment utiliser les transformées, et plus exactement la fonction caractéristique, pour la résolution des problèmes complexes, impossibles à décrire par un système d’équations d’états. 7.5.3.3. La distribution de l’attente Même si le calcul de la moyenne de l’attente est un résultat important, il est souvent indispensable de disposer de la distribution de la durée de l’attente, ou du moins des quantiles, pour les besoins du dimensionnement en particulier (voir chapitre 2). Dans le cas du système M/M/1, on peut déduire la distribution des probabilités d’états. Supposons qu’un nouveau client arrive alors que n clients sont déjà dans le système. Il devra attendre n durées de services. Ces n durées de service étant indépendantes et distribuées selon une même loi exponentielle (même le service résiduel comme vu précédemment), leur durée totale est donnée par leur produit de convolution (voir chapitre 3). En fait nous avons déjà démontré précédemment que la loi
294
Trafic et performances des réseaux de télécoms
résultante est la loi Erlang-n (cas particulier de la loi Gamma pour la variable discrète). La densité de probabilité pour n durées de services de taux µ est : f (t ) = µ e − µt
( µ t ) n −1 (n − 1)!
On a, si on appelle W le temps d’attente dans la file : P (W ≤ t / N = n) =
µn (n − 1)!
t
∫x
n −1e − µx dx
0
L’application du théorème des probabilités totale (voir chapitre 3) permet d’écrire : P (W ≤ t / n > 0) =
∞
∑ P(W ≤ t / N = n) P(n)
n =1
et donc : P (W ≤ t / n > 0) =
∞
µn
t
∑ (n − 1)! ∫ x n−1e− µx dxP(n)
n =1
0
avec comme vu précédemment, équation (7-9) : P (n) = (1 − ρ ) ρ n = (1 −
λ λ n )( ) µ µ
soit : ∞
µn
t
λ λ P (W ≤ t / n > 0) = ∑ (1 − )( ) n ∫ x n −1e − µx dx (n − 1)! µ µ n =1
0
Théorie des files d’attente
t
P (W ≤ t / n > 0) = λe − µx (1 −
∫
0
295
∞
(λx) n −1 λ dx )∑ µ (n − 1)! n =1
or : (λ x) n −1 = eλ x ∑ − ( n 1)! n =1 ∞
et donc : t
P (W ≤ t / n > 0) = λe − ( µ − λ ) x (1 −
∫
0
λ )dx µ
qui après intégration donne : λ
− µ (1− )t λ µ ) P (W ≤ t / n > 0) = (1 − e µ
(7-14)
t − − µ (1− ρ )t = ρ (1 − e ) = ρ (1 − e W )
Et qui est la probabilité d’attendre moins que t, pour les clients qui attendent puisque on a pris n strictement supérieur à zéro. Et donc aussi : P(W ≤ t ) = P(W = 0) + P(0 < W ≤ t ) =
1 − ρ + ρ (1 − e − µ (1− ρ ) t ) = 1 − ρ e − µ (1− ρ )t
En s’affranchissant de la probabilité d’attente ρ, on en déduit directement la distribution du temps passé dans le système (temps de séjour, ts). On obtient donc finalement pour l’attente et pour le temps de séjour, les deux expressions importantes suivantes :
296
Trafic et performances des réseaux de télécoms
P (W ≤ t ) = 1 − ρe − µ (1− ρ )t P (t ≤ t ) = 1 − e − µ (1− ρ )t
(7-15a)
s
De ces expressions, on déduit aisément les moyennes et variances respectives. E (W ) =
ρ
1
σ 2 (W ) =
2ρ − ρ 2 1
1− ρ µ (1 − ρ ) 2 µ 2 1 1 1 1 E (t s ) = σ 2 (t s ) = 1− ρ µ 2 (1 − ρ ) µ 2
(7-15b)
(Le lecteur se souviendra que pour une distribution exponentielle de la forme F ( x) = 1 − e −λx , on a E ( x) = 1 / λ et E ( x 2 ) = 1 / λ2 , voir chapitres 3 et 4.) Montrons enfin que l’on retrouve les fonctions de distribution encore plus directement par la méthode de la transformée de Laplace : Soit F (W / n) = P (W ≤ t / n) la fonction de répartition de probabilité du temps t passé dans le système par un nouveau client s’il trouve n clients devant lui. Si le client trouve n autres clients dans le système, le temps qu’il y séjourne est la somme des n durées de services des n clients précédents plus sa propre durée de service. La loi de distribution du temps total passé est alors donnée par le produit de convolution des n+1 densité de probabilité des durées de services, puisqu’elles sont indépendantes (rappelons qu’un client est en cours de service, mais que compte tenu des propriétés de l’exponentielle le temps de service restant est encore exponentiel). Compte tenu des propriétés déjà démontrées, la transformée de Laplace de ce produit de convolution est simplement le produit de leurs transformées de Laplace.
Théorie des files d’attente
297
Chacune des durées de service suit une loi exponentielle. Si cette loi exponentielle est de paramètre µ, sa transformée de Laplace est (voir chapitre 3) : S * (s) =
µ s+µ
La transformée de Laplace de F (W / n) est alors simplement : Ts * ( s / n) = (
µ s+µ
) n +1
et donc pour l’ensemble des n possibles : Ts * ( s ) =
∞
µ
µ (1 − ρ )
∑ ( s + µ )n+1(1 − ρ )ρ n = s + µ (1 − ρ )
n =0
Par inspection, nous retrouvons l’original, car il s’agit de la forme classique d’une fonction exponentielle qui est la densité de probabilité du temps passé dans le système : t s (t ) = µ (1 − ρ )e − µ (1− ρ )t
et donc pour la fonction de répartition : Ts (t ) = 1 − e − µ (1− ρ )t
Pour trouver le temps passé en attente et non plus dans le système, il suffit d’exclure le temps de service du client lui-même, et donc de limiter le produit de convolution à n et non plus n+1. On obtient ainsi : W * (s) =
∞
µ
µ (1 − ρ )
∑ ( s + µ )n (1 − ρ )ρ n = 1 − ρ + ρ s + µ (1 − ρ )
n =0
298
Trafic et performances des réseaux de télécoms
Or l’original de 1 – ρ est forcément la fonction impulsion de Dirac à l’origine u0 (t ) , le coefficient 1 – ρ exprimant simplement le fait que la probabilité de ne pas attendre est égale à la probabilité que le serveur soit libre, et donc : w(t ) = (1 − ρ )u0 (t ) + ρµ (1 − ρ )e − µ (1− ρ )t
et : W (t ) = (1 − ρ ) + ρ (1 − e − µ (1− ρ )t ) = 1 − ρe − µ (1− ρ )t
On retrouve bien le résultat précédent. 7.5.4. Modèle M/M/R/R (modèle d’Erlang) C’est probablement le modèle de système le plus populaire, et le premier à avoir été étudié. Considérons un groupe de R serveurs, exploités en pool, c’est-à-dire que chacun des serveurs peut servir indifféremment les clients qui se présentent. Les clients arrivent devant le groupe des serveurs selon un processus de Poisson, de taux λ. A leur arrivée, les clients sont servis immédiatement tant qu’un serveur au moins est libre ; si les serveurs sont tous occupés, le client qui arrive est rejeté, et est supposé disparaître définitivement. On parle de modèle à perte. Imaginons le système dans l’état k < R. Cela signifie que k clients sont présents, qui occupent k serveurs (les autres sont inactifs). Dans l’intervalle ∆t qui vient, chacun des services en cours peut se terminer, avec la probabilité µ∆t + o(∆t ) (les services sont exponentiels). La probabilité d’une et une seule fin de service est la somme des probabilités que chacun des services s’achève, diminuée de la probabilité de deux fins de services ou plus : événement de probabilité en o(∆t ) 2 , donc négligeable dans l’opération de passage à la limite. Le taux de service vaut donc k µ dans cet état, tant que k ≤ R, et nul au-delà (il ne peut y avoir d’état au delà de la limite k = R). Le trafic
Théorie des files d’attente
299
offert est noté A ( A = λ / µ ) et on peut définir un trafic par serveur ρ = A / R . La condition de stabilité reste A < R , soit ρ < 1 λ
λ
0
1
λ 2
µ
2µ
λ
... nµ
n
λ
...
λ R
R-1
(R-1)µ
Rµ
Figure 7.9. Diagramme d’état du modèle d’Erlang
Partant du diagramme, on trouve la distribution des probabilités d’état :
Pk =
Ak k!
Aj ∑ j =0 j ! R
, 0≤k ≤ R
(7-16)
AR R!
(7-17)
E ( R, A) = PR =
Aj ∑ j =0 j ! R
La notation E(R, A) est assez classique, elle donne la probabilité de trouver le système plein (tous les serveurs actifs). Compte tenu de la nature des arrivées, c’est aussi la probabilité de rejet. Il est possible de prouver que le résultat précédent est valide même pour un service de type quelconque (système M/G/R/R). (Les Anglo-Saxons désignent ce résultat fondamental sous le terme formule d’Erlang-B.) Lorsque le nombre de serveurs devient grand, le dénominateur des formules ci-dessus tend vers l’exponentielle de A, et dans ces Ak − A conditions les probabilités d’état sont données par Pk ≈ e . Elles k! obéissent à une loi de Poisson (il s’agit d’une limite, l’approximation
300
Trafic et performances des réseaux de télécoms
devenant très bonne pour des probabilités de pertes faibles et des valeurs de k proches de R et R grand). Le calcul effectif de la formule de la perte pose problème sous la forme ci-dessus : il serait vain d’évaluer une factorielle par une méthode directe pour R assez grand ! Il vaut mieux utiliser une méthode de récurrence basée sur la relation (dérivée directement de la formule ci-dessus) : E ( R + 1, A) =
AE ( R, A) R + 1 + AE ( R, A)
(7-18)
qui conduit à la récurence : X := 1 pour j de 1 à R faire X := 1 + X*j/A fin pour E(R,A) := 1/X
On pourra aussi souvent utiliser une approximation (remplacer la somme au dénominateur par l’exponentielle, et utiliser la formule de Stirling pour les factorielles : R!≈ R R e − R 2πR ), qui donne une précision assez spectaculaire : R
A E ( R, A) ≈ e R − A / 2πR R
(7-19)
Revenant sur les définitions des trafics offerts et écoulés, le calcul du trafic écoulé permet de vérifier la concordance des définitions : Ae = ∑ jPj = A[1 − E ( R, A) ]
Le diagramme donné à la fin de l’ouvrage montre la probabilité de rejet d’un système d’Erlang, pour plusieurs valeurs de R. La formule d’Erlang peut servir à nouveau à illustrer le phénomène déjà rencontré d’économie d’échelle. Ainsi, deux groupes de 5 serveurs recevant chacun un trafic de 3 erlangs présenteront un taux de rejet de l’ordre
Théorie des files d’attente
301
de 10 %. Regroupant ces deux groupes, on offrira 6 erlangs à 10 serveurs, faisant chuter ce taux à 4 % environ. 7.5.5. La file M/M/R Reprenons un système avec possibilité d’attente et R serveurs. On est dans la situation du cas précédent, mais cette fois lorsqu’un client arrive et trouve les R serveurs occupés, il prend place dans la file d’attente. λ
λ 0
1 µ
λ
...
2 2µ
λ
3µ
R- 1 (R-1)µ
λ
λ R Rµ
λ R+1
Rµ
...
R+k
Rµ
Figure 7.10. Le diagramme d’état de la file M/M/R
Que deviennent les taux de service ? Tant que k < R ,rien n’est changé dans le raisonnement précédent : le taux de service vaut k µ . Dès que k atteint la valeur R, les serveurs sont saturés, et le taux de service reste égal à R µ . Le trafic offert est noté A et le trafic par serveur est ρ = A / R . La condition de stabilité reste A < R , soit : ρ < 1 . L’écriture des équations et leur résolution sont laissées en exercice au lecteur. On obtient : Ak k < R, k! AR k − R Pk = P0 ρ , k≥R R!
Pk = P0
avec : Ak A R 1 P0 = ∑ + k
−1
302
Trafic et performances des réseaux de télécoms
La probabilité d’avoir à attendre est : A R P0 E2 ( A, R ) ≡ PW = = R! 1 − ρ
∑
k
AR R R! R − A Ak A R R + k! R! R − A
(7-20)
C’est simplement la probabilité stationnaire que R clients ou plus soient dans le système. On connaît cette formule sous le nom de formule d’Erlang avec attente, ou formule d’Erlang de deuxième espèce. Les Anglo-Saxons la notent Erlang-C, C(A,R). Le temps moyen d’attente se déduit de ce qui précède, au prix de quelques calculs : E (W ) =
PW E ( s) R−A
Cette formule permet d’obtenir le temps moyen d’attente, tel que voient les clients qui attendent effectivement. Le calcul de la distribution de l’attente des clients qui attendent réellement se fait en utilisant le théorème des probabilités conditionnelles : P (attente ≤ t / le client attend ) = P (attente ≤ t ) P (attente ≤ t ) = P (le client attend ) PW
Le passage aux valeurs moyennes donne directement : E (W ') =
E (s) R−A
où W’ désigne le temps moyen mesuré sur les clients qui attendent effectivement. La comparaison des deux expressions est instructive : l’attente n’est pas perceptible, sauf précisément par les clients attendant, et le temps moyen d’attente calculé sur tous les clients n’est que peu représentatif de la qualité du service ressenti.
Théorie des files d’attente
303
Par ailleurs, l’utilisation de ces résultats offre un premier exemple de loi générale des phénomènes statistiques, à savoir le gain d’efficacité lié au partage des ressources. Montrons-en le principe sur un exercice. Exemple : partage de ressources Un projet de système de commutation est organisé autour de deux processeurs dits spécialisés, l’un traitant les fonctions associées à un groupe d’usagers et l’autre celles d’un autre groupe, chacun ayant sa propre file d’attente. Il peut s’agir par exemple de fonctions d’établissement d’appels ou de commutation de messages ou de paquets. Les taux d’arrivée des demandes de traitement sont les mêmes pour chaque processeur (140/seconde). Les arrivées sont supposées suivre une loi de Poisson. Les durées de services sont les mêmes pour chaque processeur (même puissance) et supposés suivre une loi exponentielle de moyenne 6 ms. a) quelle est la probabilité d’attente, et le temps moyen d’attente ? b) le responsable de l’équipe système décide de faire évoluer l’architecture en un système à deux processeurs dits banalisés : les traitements seront effectués par l’un quelconque des processeurs, le premier disponible, tous deux traitant une file d’attente commune. Il espère ainsi optimiser les temps de réponse du système. Quel gain escompter ? Solution a) Puisque les serveurs travaillent indépendamment, on a affaire à deux files M/M/1 séparées, de caractéristiques identiques : ρ1 = ρ2 = 140 × 6.10−6 = 0.84 D’où immédiatement : – le taux d’activité P(inactif) = 0.16 ;
de
chaque
processeur
est
0.84,
soit
– le temps moyen d’attente est W = ρ E ( s ) / (1 − ρ ) = 6 × 0.84/0.16 soit 31,5 ms ( et W’=37.5 ms) ; b) Maintenant, les serveurs sont organisés en pool, on a affaire à un système M/M/2 :
304
Trafic et performances des réseaux de télécoms
– le taux d’arrivée est double (280 demandes à la seconde) ; – le trafic total offert est double : A = 280 × 6/1000 = 1.68, et ρ = 0.84 (la charge de chacun des processeurs reste identique). Les probabilités d’état du système dans ce cas peuvent s’écrire de façon explicite : −1
A2 1− ρ A2 E ( s) P0 = 1 + A + P P0 , W = PW = , = W 2(1 − ρ ) 1+ ρ 2(1 − ρ ) 2(1 − ρ )
Ici, on a : P0 ≈ 0.088, PW ≈ 0.767, W ≈ 14,4 ms. W’ = 18 ms. On a donc pratiquement divisé par 2 le temps moyen d’attente, sans augmentation de la puissance installée. Cet exemple élémentaire illustre l’argument de mise en commun de ressources : une file M/M/k sera plus efficace que k files M/M/1 en parallèle, toutes choses étant égales par ailleurs. Relation entre les formules d’Erlang Il est pratique de relier les formules précédentes à celles du système d’Erlang à perte. La formule d’Erlang se calcule aisément grâce à la récurrence donnée plus haut, qui peut aussi fournir E2(A,R). Une manipulation simple donne en effet : E2 ( A, R ) =
R.E ( A, R) R − A + A.E ( A, R)
Pour de faible valeurs de probabilité, on peut donner la forme approchée suivante : E2 ( R, A) ≈
R E1 ( R, A) R−A
(7-21)
Distribution du temps d’attente Lorsque tous les serveurs sont occupés, l’intervalle jusqu’à la prochaine fin de service est distribué exponentiellement, avec un taux
Théorie des files d’attente
305
R µ . La probabilité qu’aucune fin de service ne se produise avant un
temps t est (e − µt ) R = e − µ Rt (c’est la probabilité qu’aucun service ne s’arrête, donc le produit des probabilités pour chacun des serveurs). Dès qu’un serveur se libère et s’il y a au moins un client en attente, le serveur est immédiatement occupé. A l’arrivée d’un client, s’il y a i ≥ 0 clients déjà en attente, celui-ci attendra un temps supérieur à t, si et seulement s’il y a moins de i fins de service pendant t. Cette probabilité est donnée par la loi de Poisson compte tenu de la remarque précédente : ( µ Rt ) x − µ Rt e ∑ x! x =0 i
et donc en conditionnant sur l’état de la file à l’arrivée du client : ∞
( µ Rt ) x − µ Rt ∞ ( µ Rt ) x − Rt ∞ e =∑ e ∑ PR + i x! x! x=0 x =0 i= x i
P (attente > t ) = 1 − F (t ) = ∑ PR + i ∑ i =0
(la dernière relation est obtenue en inversant l’ordre des sommations). En développant les probabilités d’état, exprimées à partir de la probabilité d’attente, on a : A ∞ ( µ Rt ) x ∞ A 1 − F (t ) = E2 ( R, A)e − µ Rt 1 − ∑ ∑ R x =0 x ! i = x R
i
x
A La seconde somme se réécrit /(1 − A / R ) , et donc : R
1 − F (t ) = E2 ( R, A)e
− µ Rt
x
( µ Rt ) x A − µ ( R − A)t (7-22) ∑ = E2 ( R, A)e ! x R x =0 ∞
7.5.6. Modèles à capacité limitée Le modèle M/M/1/K correspond au cas d’une capacité de K clients. Attention, l’usage habituel veut que K représente le nombre total de clients dans le système, c’est-à-dire en attente ou en service (on trouve
306
Trafic et performances des réseaux de télécoms
parfois la notation M/M/1/K+1, signifiant K places en attente et une en service). λ
λ 0
1 µ
λ
λ
...
2 µ
µ
K µ
Figure 7.11. Diagramme d’état du système à capacité limitée
Le diagramme d’évolution est obtenu par la troncature du diagramme M/M/1, et les équations donnent facilement le résultat : Pn =
ρ n (1 − ρ ) 1 − ρ K +1
Pour un système à capacité limitée, le critère de performance est bien sûr la probabilité de rejet. Ici, c’est simplement la probabilité stationnaire d’observer K clients dans le système, puisqu’alors un arrivant ne sera pas admis : Π = PK =
ρ K (1 − ρ ) 1 − ρ K +1
(7-23)
Evidemment, on peut dans ce cas lever la condition de stabilité ( ρ < 1 ), une valeur de charge supérieure se traduisant par un rejet plus important. On remarque que le cas ρ = 1 conduit à une difficulté sur la formule. Il ne s’agit que d’un problème mathématique et il faudrait lire par exemple : Π=
ρK , qui lève la difficulté. 1+ ρ + ρ2 +… + ρ K
Théorie des files d’attente
307
7.5.7. La file M/M/∞ Il existe des situations où les clients arrivant sont toujours servis immédiatement, sans attendre, parce que le nombre des serveurs est toujours plus grand que la demande. On traduit cette situation par un nombre de serveurs infini. λ
λ 0
...
1 µ
λ
2µ
(c-1)µ
c-1
λ c
cµ
λ c+1
(c+1)µ
λ
...
c+k
...
(c+ k)µ
Figure 7.12. Diagramme d’état de la file à nombre infini de serveurs M/M/∞
La modification du diagramme de la file M/M/R se fait simplement et les probabilités d’état s’écriront aisément : −1
Ak Ak Ak − A , k ≥ 0 et donc P0 = ∑ = e − A , soit Pk = e Pk = P0 k! k! k ≥0 k !
Ce système est assez particulier en ce sens qu’aucun client n’attendra jamais. On parle parfois de délai pur pour le caractériser. On observe que les probabilités d’état obéissent à une loi de Poisson de paramètre A. On avait déjà remarqué, dans le problème d’Erlang, que la loi de Poisson était la limite. On retrouve ce résultat ici, le système M/M/∞ étant la limite du système M/M/R/R, si R tend vers l’infini. En fait, on verra ci-dessous une autre configuration, le problème d’Engset, dont les distributions d’Erlang et de Poisson peuvent être vues comme des cas particuliers qui ont tous la loi de Poisson comme limite. L’importance du résultat précédent tient au fait que lorsque nous aurons un système très largement dimensionné, auquel est offert un trafic poissonnien, on pourra traiter le système par la loi de Poisson. On a déjà trouvé l’application de cette propriété dans le dimensionnement des lots de rechanges, où pour des probabilités de saturation
308
Trafic et performances des réseaux de télécoms
des ressources de maintenance faibles, on pourra dimensionner le stock de maintenance par la formule de Poisson (voir chapitre 6). 7.5.8. Système à population limitée : le problème d’Engset L’hypothèse de Poisson, qui permet l’analyse des mécanismes précédents, suppose un flux d’arrivée des clients constant. Un cas particulièrement intéressant est celui où le flux est issu d’une population de sources, de taille finie, chacune des sources ayant un comportement très simple, et régi par des lois sans mémoire. C’est le problème d’Engset. On suppose que le comportement de chaque source est le suivant : une source reste inactive pour une durée aléatoire de distribution exponentielle de paramètre λ. A son réveil, elle sollicite un service, qui durera un temps distribué exponentiellement (paramètre µ). Dans le problème d’Engset, les serveurs sont en nombre limité, et s’ils sont tous occupés à l’arrivée d’une requête, celle-ci et rejetée et la source entame une nouvelle période de repos. La figure 7.13 schématise le comportement d’une source. Activité. Exp (µ) Repos.Exp (λ)
Requête refusée ! Repos.Exp (λ)
Repos.Exp ( λ)
Figure 7.13. Cycle d’évolution d’une source
On suppose donc une population de N sources au comportement identique, servis par un groupe de R serveurs sans attente. Pour rendre le problème significatif, on supposera R ≤ N . On note cette configuration M(n)/M/R/R. La clé du traitement de ce problème réside dans la remarque suivante : le processus d’arrivée dépend de l’état instantané du système. En effet, une source active ne génère pas de nouvelle demande. Les hypothèses sur le comportement des sources rendent possible le même type
Théorie des files d’attente
309
d’analyse : le système est caractérisé par le nombre n de clients actifs. Cette fois cependant, les événements élémentaires sont : – l’arrivée d’un nouveau client, qui fait passer de n en n+1 si n < R. Dans l’état n, seules N – n sources sont inactives et susceptibles de se réveiller : le taux de naissance correspondant est ( N − n)λ ; – la fin d’un service, avec le taux nµ , qui fait passer de n en n – 1, comme dans le système à plusieurs serveurs ordinaire. Νλ
(N-n)λ
(Ν−1 )λ
0
1
...
2 2µ
µ
(N-R+1)λ
...
n
nµ
R
R-1
(R-1)µ
Rµ
Figure 7.14. Diagramme du processus du système M(n)/M/R/R
Le jeu des équations donnant la probabilité stationnaire d’observer n serveurs occupés s’écrit (ici la forme (b) de la mise en équation, équation (7-8) prend tout son intérêt) :
( N − n ) λ Pn = ( n + 1) µ Pn+1 ,
0≤n< R
La solution s’écrit :
Pn =
N n α n , N k α k
∑
α=
λ µ
0≤ k ≤ R
Dans cette équation, le paramètre α représente le comportement de la source élémentaire. Mais il ne joue pas le rôle de trafic offert. Le trafic
α . C’est aussi le taux λ + µ 1+α d’occupation de la source qu’on peut noter p (= a). On a alors la offert par une source est a =
relation α =
λ
=
a p = dont on verra l’usage un peu plus loin. 1− a q
310
Trafic et performances des réseaux de télécoms
La probabilité de rejet Attention ! A la différence du problème d’Erlang, ici PR n’est pas la probabilité de rejet. Méditant sur la construction du diagramme et sur sa signification, on se rend compte que cette quantité représente la proportion du temps pendant laquelle tous les serveurs sont occupés. C’est la probabilité d’occupation que mesurerait par échantillonnage un observateur extérieur, c’est-à-dire indépendant du système (voir paragraphe 7.4.4). Mais les clients qui arrivent ne le font pas indépendamment de l’état du système, puisqu’ils arrivent moins nombreux quand le système se remplit. Ce système illustre bien, a contrario, l’intérêt de la propriété PASTA. Le cas particulier N = R est à cet égard instructif. On remarque la forme simplifiée qu’y prennent alors les probabilités d’état : N n α n Pn = (1 + α )N
On parle souvent de trafic de Bernoulli dans cette configuration. On a alors PR = PN = [α /(1 + α )]N = p N ≠ 0 , alors que la probabilité de rejet est évidemment nulle.
Comment alors calculer la probabilité de rejet, dans le cas général N > R ? Imaginons une observation du système sur une durée « longue » T. Conformément aux propriétés des probabilités d’état, le système séjourne une proportion Pn de ce temps dans chaque état n. Le nombre de clients arrivant dans la durée T sera donc, en moyenne, ∑ ( N − n )λ PnT . Les clients rejetés sont ceux qui arrivent dans l’état R, au nombre de ( N − R ) λ PR , et la probabilité de rejet sera le quotient
de ces deux valeurs. D’où Π =
(N − R )λPR ∑ (N − n )λPn
.
Au prix d’une gymnastique algébrique modérée, on obtient :
Théorie des files d’attente
N − 1 R α R ou, Π = Π= R N −1 n α n
∑
n =0
N − 1 R ( N −1) − R p q R R N −1 n ( N −1) − n p q n
311
(7-24)
∑
n =0
Cette formule est connue sous le nom de formule d’Engset. Comme pour la formule d’Erlang, le calcul de la formule de la perte peut être grandement facilité par la formule de récurrence suivante : Πj =
α ( N − j )Π j −1 N + α ( N − j )Π j −1
Enfin, puisque la probabilité de réussite de la tentative d’activité d’une source est 1 − Π , alors la durée moyenne de son cycle d’activité est : E (c ) =
1
λ
+
1− Π
µ
Le trafic écoulé et le trafic offert par chaque source seront donc respectivement : ae =
(1 − Π ) / µ α (1 − Π ) α = et ao = E (c) 1 + α (1 − Π ) 1 + α (1 − Π )
Le trafic écoulé total sera N fois cette grandeur. De même pour le trafic offert (c’est généralement cette valeur qui est donnée dans les tables). Exemple : dimensionnement d’un concentrateur d’abonnés Considérons un étage d’abonnés d’un réseau téléphonique, concentrant le trafic de N usagers sur un nombre restreint R de lignes vers le commutateur. Compte tenu des usages téléphoniques des abonnés, il faut calculer R pour offrir un niveau de service donné sans pour autant utiliser des circuits dont le rendement serait trop faible. La figure 7.15 montre ce que donne la formule, selon les valeurs de N et de α, pour R = 10.
312
Trafic et performances des réseaux de télécoms 1 0.1 T a u x
0.01
d e
0.001
p e r t e
Nα = 4 Nα = 5 Nα = 6 Nα = 7
0.0001
Nα = 10
1e-05 1e-06 10
Nombre de sources
100
Figure 7.15. Performances (taux de rejet) du modèle d’Engset, R = 10
On voit que quand N grandit, (pour un produit Nα constant), le taux de perte augmente. On vérifierait que la limite (quand N → ∞ ) est celle que donne la formule d’Erlang (file M/M/R/R). On voit aussi sur la courbe l’effet « bénéfique » de la population limitée. Application numérique : un trafic poissonnien de 4 erlangs offert à 10 circuits subit une perte de l’ordre de 5 10–3; si le trafic est issu d’un groupe de 20 sources, le rejet sera 5 fois plus faible, de l’ordre de 1 10–3. 7.6. Des files d’attente plus complexes Les hypothèses qui sous-tendent tous les modèles précédents (arrivées poissonniennes et durées de service exponentiellement distribuées) en rendent l’analyse aisée. L’abandon de ces hypothèses interdit l’approche des processus de naissance et de mort. Il existe cependant
Théorie des files d’attente
313
des systèmes pour lesquels une modélisation adaptée permet une résolution exacte. 7.6.1. La méthode de la chaîne de Markov incluse Nous allons ci-après utiliser ce type de méthode pour établir quelques résultats importants sur la file d’attente à loi de service générale, avec cependant des arrivées telles que l’évolution de l’état du système (clients et serveur) constitue ce que l’on appelle un processus semimarkovien ; avant de procéder dans une étape suivante à la résolution du cas général, loi d’arrivée et loi de service quelconques, par la méthode de Pollaczek. Dans un tel processus, on cherchera à caractériser les probabilités de transition seulement à des instants particuliers (par opposition au processus de naissance et de mort, où on étudie le système à un instant t quelconque). La clé de la modélisation consiste toujours à rechercher, dans l’évolution du système, des instants où futur et passé sont indépendants. Il est alors possible d’extraire de cette évolution une chaîne de Markov (chaîne de Markov incluse, en anglais imbedded Markov chain), dont la résolution est possible, éventuellement sous forme numérique. Cette méthode s’applique particulièrement bien au calcul du nombre de clients dans le système, si nous sommes capables de définir des instants tels que connaissant l’état instantané nous pouvons en déduire l’état suivant. Les instants de fin de service en particulier possèdent cette propriété. L’état du système à ces instants est caractérisé par le nombre de clients laissés dans le système à chaque fin de service. La distribution des temps entre transitions est la durée de service. Nous devons être capables de calculer la probabilité d’avoir un certain nombre d’arrivées, α , pendant la prochaine durée de service, fonction uniquement de la durée de service et indépendant de l’état du système. Ceci impose certaines conditions sur le processus des arrivées, telles que l’indépendance entre arrivées se produisant dans les durées de services successives. Nous allons maintenant appliquer cette méthode à une file de loi de service générale et établir un résultat très intéressant sur le nombre de
314
Trafic et performances des réseaux de télécoms
clients dans le système. Résultat que nous utiliserons par la suite pour les files M/G/1 et Geo /D/1 par exemple. 7.6.2. Le nombre de clients dans le système Considérons une file d’attente, avec des durées de service distribuées selon une loi quelconque, dont on notera B(t) la distribution, et avec une loi d’arrivée répondant au critère énoncé précédemment (de type Poisson ou Bernoulli par exemple). L’analyse stationnaire des processus de naissance et de mort ne s’applique pas, parce que la probabilité d’une fin de service dans l’intervalle élémentaire ∆t va dépendre de l’âge du service en cours (reprenant le résultat sur le temps de service restant, on se convaincra aisément que la loi exponentielle est la seule à manifester la propriété d’absence de mémoire). Maintenant, notons α k la probabilité que k clients arrivent pendant la durée d’un service (le processus d’arrivée doit être tel que cette probabilité peut être calculée), et observons le système aux instants des fins de services. Notons X n le nombre des clients laissés derrière le départ du nième client. Si X n est supérieur à 0, un autre service commence immédiatement. Sinon, le serveur reste au repos, jusqu’à l’arrivée d’un client, qui sera servi sans devoir attendre. Dans tous les cas, à la fin du prochain service, le système aura accueilli d’autres clients, en nombre An . Ces clients sont ceux qui arrivent, pendant la durée du nième service. Il est alors possible d’écrire une relation de récurrence, dont la résolution donnera la distribution des probabilités de X n . Supposons X n > 0 . Le départ du client n se traduit par la diminution d’une unité du nombre des clients. Les éventuelles arrivées pendant le service suivant le font augmenter, et on aura : X n +1 = X n − 1 + An +1
Si au contraire X n = 0 , alors le client suivant entame le service, et on voit qu’alors :
Théorie des files d’attente
315
X n +1 = An +1
On résume l’ensemble de ces deux cas par la notation abrégée : X n +1 = [ X n − 1] + An +1 +
expression dans laquelle [ x]+ = max( x,0) . (C’est la relation de Lindley. Nous verrons plus loin, avec la méthode de Pollaczek, qui introduisit ce type de relation, tout l’usage qu’on peut en faire.) Il est encore possible d’illustrer le comportement du système (évolution du nombre de clients en attente ou en service) par un diagramme, analogue aux précédents, mais que l’on ne pourra plus appeler « de naissance et de mort ». Entre le départ de deux clients successifs, 0, 1, 2, etc. clients peuvent arriver, provoquant des sauts en accord avec la relation de récurrence. On peut parler d’un état : la donnée du nombre des clients juste après le départ du nième permet de prévoir de façon certaine la distribution de probabilité au prochain départ. En effet, par hypothèse, nous savons calculer α k , probabilité que k clients arrivent pendant la durée d’un service. Si le départ d’un client laisse le système dans l’état j > 0 , alors un service commence immédiatement. Si maintenant k clients arrivent pendant ce service, le nombre restant après le départ suivant sera j + k − 1 (puisque le client servi quittera le système). Et de manière générale, le système passera d’un état j > 0 à un état l’état m > 0 avec l’arrivée de m +1 − j clients, événement de probabilité α m +1− j . Ce que représente le graphe de la figure 7.16. α0
α1
α1
αm
0
α
1
α0
1
α1
αk
α2
α2
...
m α0
m+1 α0
...
m+k-1
...
α0
Figure 7.16. Diagramme de transition de la chaîne de Markov incluse
316
Trafic et performances des réseaux de télécoms
Dans l’état 0, le serveur est inactif, une arrivée déclenche un début de service. Si k clients arrivent pendant ce service, le départ du client démarrant la période d’activité laissera bien ces k clients derrière lui, d’où la particularité des transitions observées depuis l’état 0, comparées aux transitions depuis les autres états. La résolution de ce système, c’est-à-dire le calcul des probabilités d’état, suivra la même démarche générale, on écrira un système d’équations de type Chapman-Kolmogorov : P0 (1 − α 0 ) = α 0 P1 P1 (1 − α 1 ) = α 1 P0 + α 0 P2 P2 (1 − α 1 ) = α 2 P0 + α 2 P1 + α 0 P3 ... Pm (1 − α 1 ) = α m P0 +
k +1
∑Pα j
j =1
m +1− j
+ α 0 Pm +1
La résolution de ce système se fera au moyen de la résolution d’un système matriciel tronqué, ou mieux en faisant appel aux fonctions génératrices : multipliant l’équation de rang k par z k , et sommant le système, on introduit les fonctions génératrices : P ( z ) = ∑ Pk z k , A( z ) = ∑ α k z k
La mise en équation n’offre pas de difficulté. On trouve : P ( z ) = P0
(1 − z ) A( z ) A( z ) − z
En outre, on a bien sûr P0 = 1 − ρ Et donc, on obtient la relation importante qui donne la transformée du nombre de clients dans le système : P ( z ) = A( z )
(1 − ρ )(1 − z ) A( z ) − z
(7-25a)
Théorie des files d’attente
317
Dans le cas d’arrivées poissonniennes, on a : A( z ) = ∑ z k ∫
(λ x ) k − λ x e dB ( x) = ∫ eλ zx e − λ x dB ( x) = B * (λ z − λ ) k!
(on a introduit la transformée de Laplace de la loi du service). D’où aussi l’expression importante pour la file M/G/1 : P ( z ) = (1 − ρ )
(1 − z ) B * (λ − λ z ) B * (λ − λ z ) − z
(7-25b)
qui est, comme nous le verrons plus loin, l’une des formes de la transformée de Pollaczek. Comme d’habitude, on dérivera de ces transformées les moments des lois de probabilités du nombre de clients dans le système. Nous donnerons au chapitre 9 un exemple d’application de ces résultats (file Geo/D/1 dans le cas d’une matrice ATM). 7.6.3. Les temps d’attente : formules de Pollaczek 7.6.3.1. Préliminaire : calcul du temps de service restant Observons le serveur d’un système M/G/1, à un instant quelconque. Quel est le temps restant jusqu’à la fin du service en cours (temps nul si le serveur est au repos) ? Notons la différence avec le calcul de la section 7.3, où il s’agissait de calculer le temps restant sachant que y secondes s’étaient déjà écoulées. Ici, l’observation du serveur se fait indépendamment de celui-ci. Nous cherchons donc la moyenne temporelle du temps de service restant, en ignorant quand il a débuté. Nous observons le système pendant une durée T. Notons X(t) le temps restant à un instant t quelconque. A chaque fin de service, et si un client est présent, un nouveau service commence, provoquant un accroissement instantané de X(t) d’une valeur égale au temps de service demandé (on notera Sk le temps de service du client k). Finalement, le temps restant évolue de façon analogue au graphique de la figure 7.17.
318
Trafic et performances des réseaux de télécoms
Sk X(t) Sk t Fenêtre d’observation T
Figure 7.17. Variation du temps de service restant de la M/G/1
Le graphe est composé de sauts initiaux (au début de chaque service, le temps restant est augmenté du temps du nouveau service), puis de segments de pentes à 45°. On peut calculer la moyenne temporelle : 1 T 1 N (T ) Sk2 X t dt ( ) = ∑ T ∫0 T 0 2
où N(T) représente le nombre de clients servis dans l’intervalle, et Sk la suite des temps de service. Tous les clients sont statistiquement identiques, le passage à la limite donnera : E ( X ) = limT →∞
S k2 1 ∑ T 2 N (T ) E ( S12 )
1 = limT →∞ 2 1 = λ E(S 2 ) 2
T
(7-26)
Il est d’usage de noter W0 cette quantité. Le calcul ne dépend pas de la discipline du service (c’est-à-dire du choix que le serveur fait du prochain client à traiter).
Théorie des files d’attente
319
7.6.3.2. La formule de Pollaczek-Khintchine Nous nous plaçons toujours dans le cadre de la file M/G/1. Un client qui arrive selon le processus de Poisson, et donc indépendamment de l’état de la file, va observer l’état stationnaire de celle-ci. Il trouve peut-être un client en service (ou bien le serveur inactif). Il observe le temps de service restant x correspondant. Il observe aussi n autres clients dans la file, qui seront servis avant lui. Son attente sera donc : w = x + ∑ 1 Si n
Prenons les moyennes. Celle de x a été calculée ci-dessus. La moyenne de la somme sera E(n) fois le temps moyen de service. Mais E(n), nombre moyen de clients en attente, est relié à E(W), par la formule de Little. D’où : n E (W ) = W0 + E ∑ 1 Si = W0 + E ( N ) E ( S )
= W0 + λ E (W ) E ( S )
Et finalement la formule recherchée : E (W ) =
W0 ρ 1 + cs2 E (s) = × 1− ρ 1− ρ 2
(7-27)
où on a introduit le coefficient de variation du temps de service : E (s 2 ) − ( E (s) ) σ (s) c = = , qui chiffre la variabilité des temps E ( s) 2 E (s) de service. 2
2
2 s
C’est la formule de Pollaczek-Kintchine (du nom de ses auteurs, on la désigne souvent simplement des initiales PK). Nous établirons ce résultat dans la suite, cette fois, comme résultat particulier de la méthode originale de Pollaczek. Son interprétation est fort intéressante. Le premier terme chiffre le phénomène d’attente, qui dépend du taux d’occupation du système. Le second rend compte de la variabilité du service, et le troisième est un
320
Trafic et performances des réseaux de télécoms
facteur d’échelle, l’échelle du phénomène étant donnée par le temps moyen de service. 7.6.3.3. Exemple 1 : la file M/M/1 Pour un temps de service exponentiellement distribué, on obtient comme déjà vu E ( s 2 ) = 2 / µ 2 , soit cs2 = 1 . D’où : E (W ) M / M /1 =
ρ E (s) 1 (Rq : E ( s ) = ) µ 1− ρ
7.6.3.4. Exemple 2 : la file M/D/1 Evidemment, la variance du temps de service est nulle ! Donc, cs2 = 0 , et : E (W ) M / D /1 =
ρ E ( s) 1 = E (W ) M / M /1 2(1 − ρ ) 2
7.6.3.5. Généralisation : les formules de Takacs Le résultat suivant, attribué à Takacs, permet d’obtenir les moments successifs des temps d’attente pour la file M/G/1. Ils mettent en œuvre les moments successifs du temps de service : E (W 0 ) = 1 E (W k ) =
λ
∑ 1− ρ
k i =1
k E ( s i +1 ) E (W k −i ) i + i 1
(7-28)
On laisse en exercice au lecteur le soin de vérifier que, prenant k = 1 dans la forme précédente, on retombe sur la formule PK. On en déduit les relations suivantes, pour les temps de séjour : k k E (T k ) = ∑ i = 0 E ( s i ) E (W k −i ) i
Par exemple, en k = 1 : E(T) = E(s) + E(W ) .
(7-29)
Théorie des files d’attente
321
7.6.4. La méthode de Benes. Application au système M/D/1 La méthode de Benes s’intéresse au temps de travail restant. On l’illustrera ici en en dérivant la distribution des temps d’attentes dans la file M/D/1. Prenons un instant arbitraire comme origine, et notons A(t) la quantité de travail arrivant dans l’intervalle [−t ,0) . Appelons V− t le temps de travail restant à l’instant –t (temps de services des clients en attente, et du temps restant pour le client en cours éventuel). On introduit ξ (t ) = A(t ) − t , l’excédent de travail arrivant dans l’intervalle. On peut voir que le travail restant est donné par : V− t = sup (ξ (u ) − ξ (t ) ) u ≥t
En particulier, V0 = sup ξ (t ) (c’est le plus fort excès de travail qui soit t ≥0
survenu dans le passé, celui dont l’effet subsiste en 0). La méthode s’intéresse classiquement à la distribution complémentaire Q(x) : Q( x) = P [V0 > x ]
L’événement {V0 > x} peut se lire « il existe une valeur de t, telle que
ξ (t ) > x ». On peut alors conditionner sur le dernier instant Tx (l’intervalle le plus grand) où on a observé ξ (t ) = x : c’est Tx = sup {t ≥ 0; ξ (t ) = x} . Pour des instants plus lointains, on doit avoir ξ (t ) < x , de sorte que V−T = 0 (c’est en ce point que la différence est la plus forte). On écrira alors (c’est là que réside le nœud de la méthode) : x
Q ( x) =
∫ P {V
−u
= 0 et ξ (u ) ∈ ( x, x + dx) }
(7-30)
u ≥0
Application au système M/D/1 Appelons n(t) le nombre de clients arrivant en [−t ,0) . On prend le temps de service comme unité de temps, de sorte que ξ (t ) = n(t ) − t . On réécrit alors l’intégrale sous la forme d’une somme :
322
Trafic et performances des réseaux de télécoms
Q( x) = ∑ P {n( j − x) = j et V− ( j − x ) = 0} j> x
Le processus des arrivées est indépendant de l’état de la file : la probabilité s’écrit comme le produit des deux termes. Les arrivées étant poissonniennes, on a alors : Q( x) = ∑
[ ρ ( j − x)]
j>x
j!
j
e − ρ ( j − x ) (1 − ρ )
(on confond λ et ρ, puisque le temps de service est égal à 1). Au prix de manipulations faisant appel à la combinatoire, on réécrit ce résultat sous forme d’une somme finie (mais alternée) : Q( x) = 1 − (1 − ρ ) ∑
[ ρ ( j − x) ]
j ≤ x
j!
j
e− ρ ( j − x )
(7-31)
7.7. La file G/G/1 De nombreuses méthodes permettent d’établir les résultats relatifs aux files GI/G/1. Nous utiliserons ici la méthode de Pollaczek qui le premier établit les résultats fondamentaux relatifs à ce type de file, et surtout introduisit ainsi une technique apte à résoudre les problèmes les plus complexes. 7.7.1. La méthode de Pollaczek L’intérêt de cette méthode, outre son élégance, est qu’elle permet de traiter des problèmes de file d’attente complexes où interviennent des variables aléatoires obéissant à des lois très générales. Nous en présentons ci-après les éléments essentiels. Pour une présentation complète voir [LEG 62 ], [SYS 93], [COH 82 ] et bien sûr les articles de Pollaczek [POL 57, POL 61]. Le principe est le suivant : – d’une part, bien souvent, on peut établir des relations simples entre des variables aléatoires indépendantes telles que, par exemple, le
Théorie des files d’attente
323
temps d’attente de deux clients consécutifs, leur durée de service et leur temps inter-arrivées. Et ceci quelles que soient les lois de probabilité régissant les arrivées et le service ; – d’autre part, associés à ces relations, on identifie des événements incompatibles comme par exemple : en fonction des instants d’arrivée de deux clients consécutifs, il y a ou il n’y a pas attente. Ceux-ci, introduits dans les relations précédentes, définissent pour la variable étudiée (attente, durée de séjour, etc.) une ou plusieurs relation(s) fondamentale(s) que l’on appellera relation stochastique associée à la variable stochastique étudiée. Dès lors, comme vu en probabilité, en associant à cette expression de la variable son indicateur, on définit complètement sa loi de probabilité. Il « suffit » alors d’en écrire la fonction caractéristique et d’en déduire les moments par dérivation, et toute autre propriété comme la loi de distribution, par utilisation de la transformée inverse et le calcul des résidus. Il est clair qu’une telle méthode conduit très vite à de purs développements mathématiques. En fait, dès la deuxième étape, on peut quasiment dire que l’on a déjà quitté le pur domaine des probabilités. D’où tout son attrait pour l’amoureux des mathématiques. La contrepartie étant que la démarche semble devenir vite abstraite et que bien souvent les développements sont assez complexes. Ce qui tend à rebuter l’esprit physicien. Cependant, il sera toujours opportun de se référer au phénomène physique pour mieux maîtriser les calculs, et notamment les problèmes aux limites par exemple. En fait, une simple pratique plus fréquente de la méthode ouvre bien des horizons, sachant que la résolution des problèmes complexes que pose le nouveau monde de télécommunication ne pourra que difficilement se passer de tels outils. C’est dans cet esprit que nous présentons, ci-après, la méthode et son application au système à un serveur. Nous allons d’abord introduire la méthode et montrer comment on obtient très simplement la fameuse transformée de Pollaczek. Puis nous donnerons des exemple d’application.
324
Trafic et performances des réseaux de télécoms
Fonction caractéristique d’une variable aléatoire correspondant à deux événements incompatibles Dans une première étape, démontrons une expression fondamentale de la fonction caractéristique d’une variable aléatoire correspondant à deux événements incompatibles. Soit une variable aléatoire Y telle que : Y = X , si X > 0 ; Y = 0 , si X ≤ 0
Ce que l’on note aussi Y = X + = Max(0,X), X étant elle-même une variable aléatoire. Il y a deux seuls événements possibles et incompatibles : E1 est l’événement X > 0 et E2 est l’événement X ≤ 0 . Les indicateurs correspondants sont respectivement H(X) et H(–X) (les fonctions de Heaviside). En effet, rappelons (voir chapitre 3) que l’indicateur de l’événement ( x − X ) > 0 est H ( x − X ) . Les événements E1 et E2 étant mutuellement incompatibles et représentant tous les cas possibles, nous pouvons écrire : e zY = e zX H ( X ) + H (− X )
En passant aux espérances, on a : E (e zY ) = E {e zX H ( X )} + E {H (− X )}
qui est, rappelons-le, la fonction caractéristique de la variable Y. Or (voir chapitre 4, fonction de Heaviside) : H (− X ) =
et aussi :
1 dζ , avec R (ζ ) > 0 e −ζ X ∫ ζ 2π i Cζ
(7-32)
Théorie des files d’attente
e zX H ( X ) =
325
1 du , avec R (u ) > 0 e( z +u ) X ∫ 2π i Cu u
Posons z + u = −ζ , donc z = −(u + ζ ) et R ( z ) < 0 il vient : e zX H ( X ) =
−1 dζ , avec 0 < R (ζ ) < R (− z ) e−ζ X ∫ ζ +z 2π i Cζ
(7-33)
Nous avons alors finalement : E (e zY ) =
1 1 1 E (e −ζ X )} − { dζ ∫ 2π i Cζ ζ ζ + z
soit : E (e zY ) = φ ( z ) =
1 z E (e −ζ X )} d ζ , avec 0 < R (ζ ) < R (− z ) { ∫ ζ (ζ + z ) 2π i Cζ
(7-34) Relation fondamentale pour la fonction caractéristique de la variable Y = X+ correspondant à deux événements incompatibles de X. 7.7.2. Application à la relation stochastique de la file à un serveur (file GI/G/1) Appliquons ce résultat à l’étude de l’attente dans le cas simple d’une file et d’un serveur isolé (c’est-à-dire pouvant être considéré isolément, indépendamment de toute corrélation avec son environnement). Le principe est de trouver une expression relative à l’attente et traduisant deux événements incompatibles d’indicateurs de valeurs 0 et 1. Le serveur unique, de loi de service quelconque, sert les clients, de loi d’arrivée quelconque, dans leur ordre d’arrivée. Le premier client est
326
Trafic et performances des réseaux de télécoms
noté n = 0, le deuxième n = 1, etc. La loi de service est supposée indépendante de la loi d’arrivée. Appelons Xn l’instant d’arrivée aléatoire du nième client et Tn la durée aléatoire de son service. On pose : Yn = X n +1 − X n
Le processus Yn est supposé régénératif (les Yn sont donc mutuellement indépendants). Le délai d’attente du nième client Wn est l’intervalle de temps qui sépare son instant d’arrivée de son début de service. Et donc le nième client commence à être servi à l’instant aléatoire Xn + Wn et a fini d’être servi à Xn + Wn + Tn . On a deux événements possibles. Ou le (n+1)ième client arrive avant le départ du nième, alors : ( X n + Wn + Tn ) − X n +1 > 0
et son attente aléatoire est : Wn +1 = ( X n + Wn + Tn ) − X n +1 = Wn + Tn − Yn
Ou il arrive après le départ du nième, alors : ( X n + Wn + Tn ) − X n +1 < 0
et son attente est nulle : Wn +1 = 0 Ce qui nous conduit enfin à la relation suivante : Wn +1 = Max(Wn + Tn − Yn ,0) = (Wn + Tn − Yn ,0) +
(7-35)
qui est une relation stochastique fondamentale de la file GI/G/1, et dont on a rencontré un autre exemple précédemment (voir relation de Lindley).
Théorie des files d’attente
327
Par application directe à la relation fondamentale de la fonction caractéristique de l’attente établie précédemment, on a : E (e zWn+1 ) =
1 z E (e −ζ (Wn +Tn −Yn ) ) d ζ , avec ∫ ζ (ζ + z ) 2π i Cζ
{
}
0 < R (ζ ) < R (− z )
(7-36)
Etudions cette intégrale. Les variables Wn , Tn ,Yn étant indépendantes par hypothèse et W0 étant fixé à une valeur constante arbitraire, on a : E (e −ζ (Wn +Tn −Yn ) ) = E (e −ζ Wn ) E (e −ζ Tn ) E (e+ ζ Yn ) = E (e−ζ Wn ) E (e −ζ (Tn −Yn )
Revenons aux fonctions caractéristiques. On pose alors : E (e zWn+1 ) = φn +1 ( z ) , R ( z ) < 0 E (e −ζ Wn ) = φn (−ζ ) , R (ζ ) > 0 E (e −ζ (Tn −Yn ) = ϕ (−ζ ) = E (e −ζ Tn ) E (eζ Yn ) = ϕ1 (−ζ )ϕ 2 (ζ ) ,
avec ϕ1 (ζ ) = E (eζ Tn ),ϕ 2 (ζ ) = E (eζ Yn ) Et donc l’intégrale étudiée s’écrit :
φn +1 ( z ) =
1 z φn (−ζ )ϕ (−ζ ) dζ , ∫ ζ (ζ + z ) 2π i Cζ
avec 0 < R (ζ ) < R (− z )
(7-37)
Cette relation caractérisant la file GI/G/1, en fait très simple à établir, est très importante et nous nous en servirons pour retrouver simplement la fameuse transformée de Pollaczek, notamment celle de l’attente pour une file M/G/1, suivant en cela l’utilisation de la méthode de Pollaczek selon l’approche exposée dans [LEG 62].
328
Trafic et performances des réseaux de télécoms
Pollaczek a démontré une expression plus élaborée du résultat précédent, mais nécessitant pour l’établir des développements assez complexes. Nous en donnons les grandes lignes en annexe à ce chapitre. Le résultat, toujours pour la file GI/G/1, est le suivant :
+ i∞− 0 1 zd ζ ln [1 − ϕ (−ζ )] ∫ ζ ( z + ζ ) 2π i − i∞− 0
φ ( z ) = exp −
(7-38)
avec ϕ (−ζ ) = ϕ1 (−ζ )ϕ 2 (ζ ) , R ( z ) ≤ 0 . Et sachant que pour exister le processus limite stationnaire nécessite de respecter la condition ϕ ( −ζ ) ≤ ϕ [ − R ( z )] < 1 . Nous utiliserons aussi par la suite cette formule pour établir le résultat de la file G/M/1. 7.7.3. Résolution de l’équation intégrale 7.7.3.1. Application à la file M/G/1 Reprenons l’expression générale (7-37) :
φn +1 ( z ) =
1 z φn (−ζ )ϕ (−ζ ) dζ ∫ ζ (ζ + z ) 2π i Cζ
avec :
ϕ (−ζ ) = E (e −ζ T ) E (eζ Y ) = ϕ1 (−ζ )ϕ 2 (ζ ) n
n
Les arrivées étant poissonniennes, on a : F2 (t ) = 1 − e − λt et ϕ 2 (ζ ) =
λ λ −ζ
, avec λ taux d’arrivée.
La fonction caractéristique devient :
φn +1 ( z ) =
1 λ z φn (−ζ )ϕ1 (−ζ ) dζ ∫ λ − ζ ζ (ζ + z ) 2π i Cζ
Théorie des files d’attente
329
Dans la zone R (ζ ) > 0 la fonction : f (ζ ) = φn (−ζ )ϕ1 (−ζ )
λ
z a deux pôles ζ = λ et ζ = −z λ − ζ ζ (ζ + z )
D’où par application du théorème des résidus : + i∞− 0
1 ∫ 0 f (ζ )dζ = −( R1 + R2 ) , (il y a un signe moins car on n’intègre 2π i − i∞− pas dans le sens direct, on ferme le contour sur la droite !).
Au pôle ζ = −z , on a : R1 = [ (ζ + z ) f (ζ )]ζ =− z = −
λϕ1 ( z ) φn ( z ) λ+z
De même au pôle ζ = λ on a : R2 = [ (ζ − λ ) f (ζ ) ]ζ = λ = −
zϕ1 (−λ ) φn ( − λ ) λ+z
et donc :
φn +1 ( z ) =
λϕ1 ( z ) zϕ (−λ ) φn ( z ) + 1 φn ( − λ ) λ+z λ+z
En régime stationnaire, la relation devient indépendante de n et donc :
φ ( z) =
zϕ1 (−λ )φ (−λ ) λ + z − λϕ1 ( z )
En se rappelant que le développement en série de ϕ1 ( z ) donne :
ϕ1 ( z ) = 1 + m1 z + m2
z2 ⋅⋅⋅ , avec m1 = ϕ'1 (0) , et ρ = λ m1 2!
la condition φ (0) = 1 donne enfin, en notant désormais φ ( z ) = φw ( z ) :
330
Trafic et performances des réseaux de télécoms
φw ( z ) =
(1 − ρ ) z λ + z − λϕ1 ( z )
(7-39)
Relation fondamentale qui est la fonction caractéristique de l’attente pour le serveur M/G/1. C’est la fameuse transformée de Pollaczek dont nous verrons dans les chapitres suivants des exemples d’application. On appréciera la simplicité de la démonstration ! On obtient aisément les moments en dérivant et en passant encore par le développement en série. Pour rappel, on a :
ϕ1 ( z ) = 1 + zϕ '1 (0) +
z2 ϕ "1 ( z ).. , soit ϕ '1 ( z ) = ϕ '1 (0) + zϕ "1 (0).. ). 2!
On obtient notamment l’attente moyenne : W = φ '(0) =
λ 2(1 − ρ )
ϕ1 ''(0) qui s’écrit :
ρ (1 + σ r 2 ) 2 x avec x la moyenne de la durées de service et σ r sa 2(1 − ρ ) variance relative. W=
Ou encore en prenant x comme unité de temps :
ρ (1 + σ 2 ) W= 2(1 − ρ )
(7-40)
C’est la fameuse formule de Pollaczek-Khintchine, établie pour la première fois par Pollaczek en 1930 et depuis redémontrée maintes fois par différentes méthodes. Soit à calculer maintenant le temps de séjour dans le système.
Théorie des files d’attente
331
Par définition, nous avons, en appelant Sn la durée de séjour du nième client : Sn = Wn + Tn
et à l’équilibre : S =W +T
Posons : E (e zS ) = φs ( z )
Les variables W et T étant indépendantes, on a :
φs ( z ) = φw ( z )ϕ1 ( z ) D’où :
φs ( z ) = ϕ1 ( z )
(1 − λ ) z λ + z − λϕ1 ( z )
(7-41)
qui est la fonction caractéristique du temps total passé dans le système M/G/1. A titre d’exemple appliquons les résultats précédents à quelques cas pratiques permettant « d’encadrer » bon nombre de cas réels. File M/M/1 Appliquons d’abord les résultats précédents au cas M/M/1. La loi de service étant exponentielle on a : ϕ1 ( z ) = immédiatement :
φw ( z ) =
( µ − z )(1 − ρ ) µ (1 − ρ ) − z
La fonction présente un pôle unique :
µ µ−z
, et on obtient
332
Trafic et performances des réseaux de télécoms
z1 = µ (1 − ρ )
Appliquons notre solution de la formule d’inversion : F ( x) = 1 −
R1 − z1 x R e , et P (> x) = 1 e − z1 x (− z1 ) (− z1 )
Le résidus R1 en z1 est : R1 = − µρ (1 − ρ )
D’où : P (> x) = ρe − µ (1− ρ ) x
On retrouve évidemment le résultat déjà établi ! File M/D/1 Appliquons maintenant ceci à la file M/D/1. Puisque la file M/D/1 a déjà été traitée, et qu’elle donne lieu à une expression complexe à calculer, nous allons établir ici une expression asymptotique de la distribution de l’attente. Expression très simple et qui donne des résultats très précis. Repartons de la transformée de Pollaczek. Pour simplifier l’écriture nous prenons la durée de service comme unité. La transformée de Pollaczek s’écrit alors :
φw ( z ) =
(1 − ρ ) z ρ + z − ρϕ1 ( z )
Appliquons la loi asymptotique telle que présentée dans le chapitre 3 : P (> x) ≈
R1 − z1 x e (− z1 )
avec z1 = β0 >0 point singulier pour φw ( z ) , et tel que :
Théorie des files d’attente
333
ρ + β 0 − ρϕ1 ( β 0 ) = 0 (c’est le point le plus proche de l’origine et sur l’axe réel : voir annexe 1, théorème de Paul Lévy), et R1 résidus en z1. On rappelle (voir chapitre 3) que l’on a aussi R1 =
P ( z1 ) Q '( z1 )
D’où : P (> x) ≈
(1 − ρ ) e− β x ρϕ '1 ( β 0 ) − 1 0
Dans le cas de M/D/1, on a ϕ1 ( z ) = e z :
φw ( z ) =
(1 − ρ ) z ρ + z − ρez
On a β 0 tel que ρ + β 0 − ρ e β0 = 0 et ρϕ1 '( β 0 ) − 1 = ρ e β0 − 1 Et donc : P (> x) ≈
(1 − ρ ) − β0 x e ρ e β0 − 1
(7-42)
Cette formule donne des résultats suffisamment précis pour la plupart des applications (voir chapitre 9). File M/H2/1 Appliquons maintenant ceci à la file M/H2/1. C’est en quelque sorte un cas « opposé » au cas M/D/1, du point de vue du coefficient de variation (supérieur à 1), le cas M/M/1 étant un cas « médian ». Repartons de la formule de Pollaczek :
φ w ( z) =
(1 − ρ ) z λ + z − λϕ1 ( z )
334
Trafic et performances des réseaux de télécoms
P (> x) ≈
(1 − ρ ) e− β 0 x λϕ '1 ( β 0 ) − 1
avec z1 = β0 >0 point singulier pour φ w (z ) , et tel que :
λ + β 0 − λϕ1( β 0 ) = 0 Le service suivant une loi hyperexponentielle H2, on a :
ϕ1 ( z ) =
α1µ1 α 2 µ 2 + µ1 − z µ 2 − z
(7-43)
avec µ le taux de service (supérieur à λ) tel que
α α = 1+ 2 . µ µ1 µ 2 1
D’où :
λ + β0 − λ (
α1µ1 α µ + 2 2 )=0 µ1 − β 0 µ 2 − β 0
qui après quelques développements et en utilisant la relation 1 α1µ 2 + α 2 µ1 donne : = µ µ1µ 2 µ1µ 2 (1 − ρ ) + β 0 (λ − µ1 − µ 2 ) + β 0 2 = 0 et dont la solution est :
β0 =
− (λ − µ1 − µ 2 ) − (λ − µ1 − µ 2 ) 2 − 4µ1µ 2 (1 − ρ )
On a aussi ϕ1 ' ( β 0 ) =
2
α1µ1 ( µ1 − β 0 ) 2
+
α 2µ2 (µ 2 − β 0 ) 2
D’où la fonction de répartition de l’attente :
(7-44)
Théorie des files d’attente
P (> x) ≈
(1 − ρ )
α µ α 2 µ 2 1 1 λ −1 + 2 (µ − β ) 2 µ β − ( ) 2 0 1 0
e− β 0 x
Le lecteur vérifiera que pour µ1 = µ 2 = µ β 0 = (1 − ρ ) , et :
335
(7-45)
on retrouve bien
P (> x) = ρe − µ (1− ρ ) x
qui est bien l’expression attendue dans le cas du service exponentiel. 7.7.3.2. Application à la file G/M/1 Etudions maintenant le cas « symétrique » de la file M/G/1, toujours à partir de la méthode de Pollaczek. Cette fois repartons de l’expression générale (7-38) de Pollaczek. On a :
+ i∞− 0 1 zd ζ ln [1 − ϕ (−ζ )] , ∫ ζ ( z + ζ ) 2π i − i∞− 0
φ ( z ) = exp −
avec ϕ (−ζ ) = E (e −ζ Tn ) E (eζ Yn ) = ϕ1 (−ζ )ϕ 2 (ζ ) soit encore :
+ i∞− 0 1 zd ζ ln [1 − ϕ1 (−ζ )ϕ 2 (ζ )] ∫ ζ ( z + ζ ) 2π i − i∞− 0
φ ( z ) = exp −
Le service obéissant à une loi exponentielle de taux µ on a : F1(t ) = 1 − e − µt et ϕ1 (ζ ) =
et donc :
µ µ −ζ
336
Trafic et performances des réseaux de télécoms
+ i∞− 0 µϕ (ζ ) zd ζ 1 ln 1 − 2 ∫ µ + ζ ζ ( z + ζ ) 2π i − i∞− 0
φ ( z ) = exp −
Or, en remarquant que : 1 zd ζ 1 ζ = − d ζ = d ln ζ (z + ζ ) ζ z + ζ z +ζ
on a :
+ i∞− 0
µϕ (ζ ) 1 ζ d ln ln 1 − 2 ∫ µ +ζ z +ζ 2π i − i∞− 0
φ ( z ) = exp −
On intègre par partie (c’est de la forme u.dv), on obtient : + i∞− 0 ζ d µϕ2 (ζ ) 1 dζ , ln ln 1 − ∫ µ + ζ 2π i − i∞− 0 z + ζ d ζ
φ ( z ) = exp
+ i∞− 0 ζ d µ + ζ − µϕ2 (ζ ) 1 ln ln ou encore φ ( z ) = exp dζ ∫ µ +ζ 2π i − i∞− 0 z + ζ d ζ
Considérons la dernière expression sous l’intégrale : µ + ζ − µϕ 2 (ζ ) , et appliquons le théorème de Rouché à ( µ + ζ ) − µϕ 2 (ζ ) (somme de deux fonctions, voir annexe 1). A l’intérieur du cercle de centre (–µ), et de rayon µ, donc R(ζ ) < 0, on a ζ +µ <µ. D’après le théorème de Rouché appliqué à l’expression sur le cercle considéré, on déduit qu’elle ne possède, dans le cercle, qu’une seule racine ζ1 et donc aussi dans tout le plan R(ζ )< 0. On peut donc écrire :
Théorie des files d’attente
337
1 + i∞− 0 ζ d ζ − ζ 1 ln ln dζ , ∫ 2π i − i∞− 0 z + ζ d ζ µ + ζ
φ ( z ) = exp
1 + i∞− 0 ζ ou encore φ ( z ) = exp ln ∫ 2π i − i∞− 0 z + ζ
1 1 − ζ − ζ1 µ + ζ
dζ
Appliquons le théorème des résidus aux deux pôles :
ζ 1 tel que µ + ζ 1 − µϕ2 (ζ 1 ) = 0 et : ζ 2 = − µ Nous obtenons : R1 = ln
ζ1 µ , R2 = − ln µ−z z + ζ1
Et donc finalement en notant désormais φw ( z ) caractéristique de l’attente, on obtient :
φw ( z ) =
la fonction
µ − z ζ1 µ ζ1 + z
Relation fondamentale qui est la fonction caractéristique de l’attente pour le serveur G/M/1. Cette expression s’écrit aussi :
φw ( z ) =
( µ − z )(1 − ϕ 2 (ζ 1 )) µ − z − µϕ2 (ζ 1 )
qui devient, en appelant σ = ϕ 2 (ζ 1 ) =
φw ( z ) =
( µ − z )(1 − σ ) µ − z − µσ
(7-46a)
µ + ζ1 µ (7-46b)
338
Trafic et performances des réseaux de télécoms
Résultat remarquable car on retrouve une expression semblable à celle de la file M/M/1, σ jouant cette fois le rôle de ρ. Nous en déduisons immédiatement l’expression de la distribution de l’attente : P (> x) = σ e− µ (1−σ ) x
(7-46c)
Comme pour la file M/G/1, appliquons ces résultats à quelques cas pratiques « encadrant » la plupart des cas réels. File M/M/1 Avant de traiter des cas plus généraux, appliquons encore d’abord les résultats précédents au cas M/M/1. Les instants d’arrivées obéissant à une loi exponentielle, on a :
ϕ2 (− z ) =
λ λ+z
la solution cherchée est telle que µ − β 0 − µσ = µ − β 0 − µ d’où β 0 = µ − λ et finalement σ =
λ λ + β0
= 0,
λ =ρ µ
et : P (> x) = ρ e − µ (1− ρ ) x On retrouve bien le résultat déjà établi. Application au cas D/M/1 C’est le « symétrique » du cas M/D/1. Dans ce cas nous avons :
ϕ2 ( z ) = e z / λ , avec λ le taux d’arrivée (inférieur à µ) la solution cherchée est telle que :
µ − β 0 − µσ = µ − β 0 − µ e − β
0
/λ
=0,
(7-47)
Théorie des files d’attente
σ = 1 − β0 / µ µ − β0 −β x P (> x) = e µ
On
a
et
P (> x) = σ e− µ (1−σ ) x
ou
bien
339
sûr :
0
Application au cas H2/M/1 C’est en quelque sorte un cas « opposé » au cas D/M/1, du point de vue du coefficient de variation (supérieur à 1), le cas M/M/1 étant un cas « intermédiaire ».
α1λ1 α 2 λ2 , avec λ le taux + λ1 − z λ2 − z 1 α α d’arrivée (inférieur à µ) tel que = 1 + 2 λ λ1 λ2 Dans ce cas, nous avons ϕ 2 ( z ) =
La solution cherchée est telle que :
µ − β 0 − µσ = µ − β 0 − µ ( σ = 1 − β0 / µ µ − β0 −β x P (> x) = e µ
On
a
α1λ1 αλ + 2 2 )=0 λ1 − β 0 λ2 − β 0 et
P (> x) = σ e− µ (1−σ ) x
(7-48) ou
bien
sûr :
0
7.8. Files avec priorités Lorsqu’une classe de clients présente un caractère d’urgence particulière, il est possible la plupart du temps de mettre en œuvre des mécanismes de priorité. Par exemple, un processeur devra traiter très rapidement des tâches liées à des fonctions vitales de sécurité, quitte à retarder des tâches moins critiques. Ou bien, un routeur donnera la préférence à un paquet dont les exigences de qualité de service (en termes de délai) sont plus contraignantes. Ce mécanisme de service sera représenté par un modèle à priorités. Il y a différents types de priorité. Le cas normal où les clients sont servis dans l’ordre de leur arrivée est la discipline FIFO (First In – First Out). Avec la discipline LIFO
340
Trafic et performances des réseaux de télécoms
(Last In – First Out), le dernier arrivé est servi le premier. Et dans le cas de la discipline HoL (Head of Line), chaque client possède un rang de priorité, les clients de rang donné étant servis après que ceux de rang supérieur l’aient été. On distingue en outre deux variantes dans l’analyse des files à priorité, selon qu’elle mettent en jeu ou non un mécanisme de préemption. Dans une priorité préemptive, un client plus prioritaire que le client en service va interrompre le service de celui-ci, pour prendre immédiatement sa place. A la fin du traitement du client prioritaire, le client moins prioritaire retrouve sa place en service (et, selon les cas, repart à zéro ou bien continue son service : discipline dite preemptive resume dans la littérature anglo-saxonne). 7.8.1. Notion de système conservatif Deux points de vue sont mis en œuvre dans l’analyse des systèmes avec priorités : celui du client et celui du serveur. On conçoit que dans certains cas le choix du client soit indifférent au serveur, c’est-à-dire que ce choix ne change pas le travail total qu’il devra traiter. Dans ce cas, à chaque instant, le serveur est capable de comptabiliser la quantité de travail qui lui est offerte (on parle de son travail restant, unfinished work en anglais) : temps de service restant à fournir au client en cours, augmenté de la somme des services des clients en attente à cet instant. On peut évaluer cette quantité à un instant fixé, mais elle n’a de sens que lorsque le travail restant ne dépend pas de la décision prochaine. Ainsi, soit τ le travail restant à un instant t où le processus d’arrivées est stoppé, observons le comportement aléatoire du système : le serveur va travailler continûment jusqu’à t + τ et ceci quelles que soient les décisions d’ordonnancement prises après t. On appelle système conservatif (work conserving) un tel système où le travail restant ne dépend pas de la discipline de choix que pratique le serveur. C’est le cas très général, mais il y a aussi des contre-exemples tels que les systèmes multiqueues avec temps de basculement ; les systèmes avec impatience ; les systèmes où le temps de service est fonction de
Théorie des files d’attente
341
l’attente (vieillissement), etc. Pour la plupart de ces systèmes, on ne peut même pas calculer ce travail à un instant donné. Formule de la somme pondérée Il va de soi que si le travail restant ne dépend pas de l’ordonnancement, le temps d’attente, lui, en dépendra. La propriété de conservation est vérifiée « vue du serveur ». Pour les clients, on va voir ce qu’il en est. Une file d’attente reçoit plusieurs flux différents, on note λ j l’intensité du flux des clients de type j (on parle de classes de clients) et W j le temps d’attente moyen qu’ils subissent. On note λ le flux total soumis au serveur. Il est possible, par exemple expérimentalement, de mesurer le temps d’attente en ignorant l’existence des classes des clients. Notons W la quantité correspondante. C’est une somme pondéré, la pondération faisant intervenir la proportion de chaque flux : W =∑j
λj Wj λ
L’importance de cette notion de temps moyen pondéré réside dans le fait que l’on peut ne pas savoir mesurer une autre quantité (supposons par exemple un processus de mesure incapable de différencier les classes). THÉORÈME DE CONSERVATION.– Imaginons un serveur devant une file d’attente recevant des clients appartenant à des classes différentes, traitée selon un mécanisme de priorité quelconque, conservatif et non préemptif (basé ou non sur les classes). On a la loi de conservation suivante :
∑ i ρiWi =
ρ 1− ρ
W0 = Cste avec W0 = ∑ i λi
E ( si2 ) E ( si2 ) = ∑ i ρi (7-49) 2 2 E ( si )
L’indice i court sur les classes de clients, ρi = λi E ( si ) représente la charge de la classe i ( Wi est le temps moyen d’attente qu’elle subit) ;
ρ = ∑ ρi est la charge totale offerte au serveur.
342
Trafic et performances des réseaux de télécoms
La formule implique que l’expression ne dépend pas de la discipline de service. On notera que la somme des temps d’attente est pondérée par ρi , et non par les λi comme c’était le cas pour l’attente moyenne W.
Cas particuliers Rappel : – loi exponentielle : E ( s 2 ) = 2 E ( s ) 2 , soit W0 = ∑ ρi E ( si ) – durée constante : W0 =
1 ∑ ρi E (si ) 2
Supposons deux flux, de temps de service différents, mais sans priorité. Leurs temps d’attente seront donc identiques, l’application de la formule donne : W1 = W2 =
1 λi E ( si2 ) ∑ 1− ρ
on retrouve dans ce cas la formule PK. PREUVE DE LA LOI DE CONSERVATION.– On observe le système à un instant t, et on y compte ni clients de classe i (on numérote les classes 1, 2, …, P) ; le client en cours de service réclame encore un service de durée x0 . Le travail restant (unfinished work, qui explique la notation U traditionnelle) est donc : U (t ) = x0 +
P ni
∑ ∑ x k ,i i =1 k =1
On a noté xk ,i le temps de service que demandera le client k de la classe i. En prenant la moyenne : E (U ) = W0 + ∑ i E ∑ k xk ,i
Les clients d’une même classe sont supposés identiques, c’est-à-dire de même loi de service, de sorte que E ∑ k xk ,i = E (ni ) E ( si ) .
Théorie des files d’attente
343
Appliquant la formule de Little entre le nombre moyen de clients observés et leur temps d’attente moyen, on obtient : E (U ) = W0 + ∑ i ρiWi
Le travail restant étant indépendant du mécanisme d’ordonnancement, conséquence directe de l’hypothèse de système conservatif, sa valeur moyenne sera la même qu’avec un service dans l’ordre des arrivées : cas pour lequel tous les Wi sont égaux et où E (U ) = W0 /(1 − ρ ) . Portant cette expression dans la précédente, on obtient le résultat cherché. Priorité entre clients identiques On suppose maintenant des clients aux caractéristiques identiques : même distribution du temps d’attente (non plus seulement même moyenne). Quel que soit le mécanisme de choix, pourvu que le système soit conservatif, le choix du serveur n’a pas d’influence sur l’occupation totale de la file ; en d’autres termes, la distribution du nombre total de clients en file ne dépend pas de la discipline. En particulier, le nombre moyen de clients est indépendant de la discipline. Et donc, de par la formule de Little, la valeur moyenne de l’attente ne dépend pas de la discipline (mais sa distribution en dépend). On pourra vérifier que ce résultat est bien en accord avec la relation de conservation (7-49). Ainsi, les disciplines FIFO, LIFO et choix au hasard donnent le même temps moyen d’attente. 7.8.2. La discipline HOL On suppose P classes de clients, chaque classe regroupe des clients aux caractéristiques statistiques identiques (mais les caractéristiques diffèrent d’une classe à l’autre). Le serveur traite en priorité les clients de la classe prioritaire (par convention, celle-ci sera notée 1), puis, si aucun client prioritaire n’est plus dans la file, les clients de priorité moindre (notée 2), etc jusqu’aux clients de la classe P, la moins prioritaire. Le mécanisme de service est de type conservatif. On introduit la notation : k
σ k = ∑ ρn n =1
344
Trafic et performances des réseaux de télécoms
C’est la somme des charges partielles apportées par les classes de priorité supérieure ou égale à k. C’est donc la charge que « voit » un client de la classe k, puisqu’il double les clients de classe inférieure. On notera cependant qu’un client de classe donnée sera quand même « gêné » (voire très gêné par un traitement long !) par un client de classe moins prioritaire qui serait en service à son arrivée (la discipline n’étant pas préemptive). On a alors : W1 =
W0 , 1 − σ1
W0 Wk = , k >1 (1 − σ k )(1 − σ k −1 )
(7-50)
En effet, pour une discipline non préemptive, on a : W j = W0 + ∑ i ≤ j E ( si ) N ij + ∑ i < j M ij W j est le temps moyen d’attente des clients de la classe j, l’indice i
court sur les classes (i = 1,...N ) ; N ij représente le nombre moyen de clients de la classe i déjà présents à l’arrivée du client de type j et qui seront servis avant lui (en particulier, le client ne double pas ceux de sa classe) ; M ij représente le nombre moyen de clients de la classe i arrivant pendant l’attente du client de type j et qui seront servis avant lui. Pour notre discipline, l’utilisation de la formule de Little donne : N ij = λiWi , i = 1,... j , et N ij = 0, i > j (notre client test double les
clients des classes moins prioritaires) ; M ij = λiW j , i = 1,... j − 1, et M ij = 0, i ≥ j (seules les classes de rang
strictement plus prioritaires vont le doubler). Finalement : W j = W0 + ∑ i =1 ρiWi + ∑ i =1 ρiW j j
j −1
soit : W j (1 − σ j −1 ) = W0 + ∑ i =1 ρiWi j
Théorie des files d’attente
345
A partir de cette dernière formule, on calcule d’abord W1 , puis W2 , etc. 7.9. Utilisation de méthodes approchées Les méthodes « exactes » présentées jusqu’à ce point permettent une résolution mathématique rigoureuse d’un nombre limité de problèmes. Les systèmes du monde réel rentrent rarement dans ces modèles. Il faut alors procéder à des approximations. Pour cela, plusieurs approches seront possibles. La première attitude consistera à chercher d’autres méthodes mathématiques permettant au prix de calculs numériques souvent difficiles de résoudre des modèles exacts de très grande complexité : par exemple, on représentera une loi générale par une superposition de lois exponentielles (lois de Cox), et on mettra en œuvre une analyse markovienne, donnant des résultats numériques. La seconde attitude consistera à « oublier » certains des détails du fonctionnement que les modèles ne savent pas représenter et à se raccrocher à un modèle connu (file M/G/1, priorité HOL, etc.). Le principe de cette approche est de représenter dans le modèle « l’essence » du comportement, et les résultats seront des ordres de grandeur, plus ou moins serrés. Enfin, il sera possible de mettre en œuvre des résultats approchés, sans justification théorique solide, mais que l’on sait donner des résultats satisfaisants : c’est le cas de l’approximation de Martin, présentée ci-dessous, ou des résultats sur les files à serveur cyclique. C’est aussi le principe de l’approximation de diffusion, ou des approximations dites fort trafic (voir chapitre 9, files M/D1, N/D/D/1). Quelques formules approchées A l’heure actuelle, l’une des formules parmi les meilleures et les plus universelles est la formule d’Allen-Cunnen. Elle permet d’estimer le temps moyen d’attente, pour un système multiserveur à lois d’arrivées et de service générales. Posons : – cs2 le carré du coefficient de variation du temps de service ; – ca2 le carré du coefficient de variation du temps inter-arrivées ; – A = λ / µ le trafic offert, et ρ = A / R le taux d’occupation de chaque serveur ; – C(A,R) est la probabilité d’attente de la M/M/R :
346
Trafic et performances des réseaux de télécoms
C ( A, R ) =
AR / R ! AR An + (1 − ρ )∑ n < R R! n!
alors : E (W ) C ( A, R ) Cs2 + Ca2 ≅ × E ( S ) R (1 − ρ ) 2
(7-51)
C’est en fait la formule pour la file M/M/R (formule exacte dans ce cas), que l’on corrige d’un facteur prenant en compte les coefficients de variation des lois d’arrivée et de service. On notera que : – la formule est exacte pour la file M/M/R ; – elle est exacte pour la file M/G/1 (elle se réduit à la formule de Pollaczek-Khinchine). Calcul des quantiles C’est un grand mot pour qualifier une notion essentielle : les clients d’un système à attente sont sensibles non pas tellement aux attentes moyennes, mais plutôt aux attentes « inadmissibles ». A cet égard le lecteur se rappellera que les normes de qualité de service spécifient non seulement des valeurs moyennes à respecter, mais aussi des valeurs à x % (voir chapitre 2). Le calcul des quantiles est délicat, la distribution étant rarement connue explicitement, exception faite des systèmes M/M/c. On utilise assez souvent une formule empirique connue sous le nom de formule de Martin : t90 = E (T ) + 1.3σ T t95 = E (T ) + 2σ T
La formule est en fait très générale : elle s’appuie sur la ressemblance existant inévitablement entre toute « bonne » distribution et une loi Gamma (voir chapitre 4). Cette ressemblance exclut les distributions non unimodales ou non continues. On l’appliquera de préférence au temps de séjour, qui n’a pas de discontinuité à l’origine. Voici, pour l’exemple, le cas du quantile à 90 % du temps de séjour de la file M/D/1 (c’est-à-dire le temps ayant 1 chance sur 10 d’être atteint ou dépassé) :
Théorie des files d’attente Charge
Valeur exacte
0.3 0.5 0.7 0.8 0.9
1.85 2.5 4.1 6.0 11.8
347
Approximation (formule de Martin) 1.73 2.35 3.6 5.1 9.6
7.10. Annexe : transformée de Pollaczek Nous avions :
φn +1 ( z ) =
1 z φn (−ζ )ϕ (−ζ ) dζ ∫ 2π i Cζ ζ (ζ + z )
Nous pouvons aussi écrire directement pour l’attente sa fonction caractéristique comme suit : ∞
φn (− z ) = ∫ e− zt dWn (t / w0 ) = E (e − zW / w0 ) n
0−
et en particulier pour le premier client :
φ0 (− z ) = E (e− zW ) = e − zW 0
0
Introduisons la fonction génératrice : ∞
φ ( z , v) = ∑ φn (− z )v n n=0
qui appliquée à l’intégrale étudiée (on développe et on somme) donne la relation :
φ ( z , v) −
v z d ζ = e − zW0 φn (ζ , v)ϕ (−ζ ) ∫ 2π i Cζ ζ (z − ζ )
Dans le cas où W0 = 0, la solution de cette équation est :
1 z ln [1 − vϕ (−ζ ) ] dζ ∫ ζ ( z − ζ ) 2π i Cζ
φ0 ( z , v) = exp −
348
Trafic et performances des réseaux de télécoms
avec : 0 < R (ζ ) < R ( z ) . La vérification, assez complexe, se fait par inspection en développant ln (..) en série de Taylor. On se référera à [LEG 62, SYS 93] pour une démonstration détaillée. Par application du théorème des résidus à ζ = 0, où :
ln [1 − νϕ (−ζ )]
ζ
on a : φ0 ( z , v) =
≈
(1 −ν )
ζ
,
1 + i∞− 0 1 zd ζ exp − ln [1 − vϕ (−ζ )] ∫ 1− v ζ ( z + ζ ) 2π i − i∞− 0
Le processus limite stationnaire étant indépendant de la condition initiale W0 , il vient :
+ i∞− 0 1 zd ζ ln [1 − ϕ (−ζ )] ∫ ζ ( z + ζ ) 2π i − i∞− 0
φ ( z ) = exp −
qui est la fonction caractéristique de l’attente recherchée, avec ϕ (−ζ ) = ϕ1 (−ζ )ϕ2 (ζ ) , R ( z ) ≤ 0 . Et sachant que pour exister ce processus limite stationnaire nécessite de respecter la condition ϕ ( −ζ ) ≤ ϕ [ − R ( z )] < 1 . En nous rappelant que les dérivées en z = 0 de la fonction caractéristique nous donnent les moments, ou que le développement en série de Taylor ln φ ( z ) nous donne les cumulants, on obtient notamment l’attente moyenne, et de manière générale les cumulants : W =−
Cn =
+ i∞− 0
1 dζ ln [1 − ϕ (−ζ )] 2 ∫ 2π i − i∞− 0 ζ + i∞− 0
(−1) n n ! dζ ln [1 − ϕ (−ζ ) ] n +1 ∫ 2π i − i∞− 0 ζ
La probabilité de non-attente s’obtient aussi directement à partir de la fonction caractéristique en faisant croître indéfiniment R(z) par valeurs négatives. La probabilité d’attente est son complément : + i∞− 0 d ζ 1 P ( w = 0) = exp − ln [1 − ϕ (−ζ )] ∫ ζ 2π i − i∞− 0
CHAPITRE 8
Simulation
Dans les chapitres précédents, nous avons vu les possibilités offertes pour l’évaluation des performances par la modélisation analytique. Cependant, bien souvent, nous serons confrontés à des réalisations ou à des projets de réalisations tellement spécifiques que les outils mathématiques ne suffiront pas à résoudre nos problèmes, au moins en première étape. La simulation sera alors utilisée. Simuler c’est reproduire de manière synthétique, sur un laps de temps donné, le comportement dynamique des clients et des serveurs par un logiciel approprié. L’observation et l’exploitation statistique des différents événements résultants permettront d’en déduire les valeurs des probabilités recherchées : délais, pertes, moyennes, variances, etc. Il ne s’agit pas bien sûr d’écrire ou réécrire le code complet du système, ni non plus de décrire le comportement détaillé de chaque usager. A l’inverse, il ne faut pas non plus schématiser inconsidérément. Toute l’expérience des systèmes et la maîtrise des phénomènes de files d’attente sera nécessaire pour identifier dans les processus complexes étudiés le strict nécessaire à décrire, et compatible avec des durées de simulation significatives (généralement pour atteindre un régime stationnaire). La simulation peut tout à fait jouer le rôle de l’expérimentation pour le chercheur, ou celui de prototype pour l’ingénieur, par rapport à une théorie ou un modèle opérationnel. En effet, devant un problème
350
Trafic et performances des réseaux de télécoms
nouveau ou complexe, la simulation permet d’observer les comportements, d’émettre des hypothèses pour une modélisation analytique, puis d’ajuster le modèle et vérifier sa validité pour, finalement, aboutir à un produit opérationnel. Très souvent, la simulation permettra aussi de mieux poser le problème et bien sûr de mieux comprendre les phénomènes de file d’attente ou de perte. Elle ne pourra cependant généralement pas être une solution en soi. La multiplicité des conditions de fonctionnement des réseaux et de leurs équipements (grande variété des mix de trafic par exemple) et l’évolutivité des caractéristiques des services supportés sont telles que seuls des modèles analytiques, même grossiers si nécessaires, seront aptes à répondre aux besoins d’évaluation des performances et de dimensionnement des exploitants et fournisseurs de matériels. On ne pourrait en effet que très difficilement faire exécuter des programmes de simulation à chaque changement d’hypothèse, à chaque nouvelle discussion entre client et fournisseur. La simulation, comme l’évaluation d’ailleurs, devra donc toujours être conduite dans cet esprit : aboutir à une règle (ou modèle) pratique et robuste. On distingue essentiellement deux grands modes de simulation: la simulation par roulette et la simulation à événements discrets. L’une et l’autre techniques nécessitent à la base la génération de nombres aléatoires. Bien que le tirage de nombres aléatoires soit une facilité que l’on trouve actuellement à disposition sur toutes les machines, il est important d’en connaître les principes élémentaires, car nous en aurons l’usage en dehors de la pure simulation. Ainsi des activités telles que l’observation de trafic ou les essais de fiabilité nécessiteront la réalisation d’échantillons composés d’éléments « tirés au hasard ». 8.1. Simulation par roulette Ce type de simulation est très puissant du point de vue de la rapidité d’exécution mais n’est pas toujours applicable. Le principe est le suivant. Soit un système dont le comportement peut être décrit par un ensemble d’états exclusifs et dont on sait calculer la
Simulation
351
probabilité de transition d’un état à un autre. Ce peut être par exemple un ensemble redondant et réparable de processeurs de traitement, ou un multiplexeur d’appels dont l’occupation varie avec les débuts et fin de services, tels que pour chaque état on sait calculer la probabilité de transition vers un autre état. Alors, simuler le comportement du système consiste simplement à partir d’un état initial et à tirer au sort, pas à pas, le passage vers les états suivants. On effectuera des comptages sur le nombre de passages dans chaque état et on en déduira les probabilités d’états. On voit tout de suite que cette technique s’applique parfaitement aux systèmes markoviens (voir chapitres 6 et 7). En particulier, dans le cas de durée de service, de temps inter-arrivées, ou de temps de bon fonctionnement, etc., obéissant à une loi exponentielle, les probabilités de transition seront directement obtenues à partir des coefficients des matrices de transition déjà décrites. (Le lecteur notera qu’il s’agit en quelque sorte d’une autre méthode de résolution des matrices de transition entre états.) Exemple Soit à simuler le comportement d’un concentrateur d’appels (ou d’un multiplexeur). Nous avons N sources poissonniennes, chacune générant des appels avec un taux d’arrivée λ et de durée de vie exponentielle de moyenne 1/µ, et nous avons R serveurs (capacité du lien de sortie du concentrateur). Nous avons déjà traité ce type de système (voir chapitre 7, problème d’Engset), le graphe des états est représenté par la figure 8.1. Νλ 0
1 µ
(N-n)λ
(Ν−1)λ 2 2µ
... nµ
n
(N-R+1)λ
...
R-1
(R-1)µ
Figure 8.1. Graphe des états d’un concentrateur
Les événements élémentaires sont :
R Rµ
352
Trafic et performances des réseaux de télécoms
– l’arrivée d’un nouvel appel, qui fait passer de n en n+1 si n < R. Dans l’état n, seules N – n sources sont inactives et susceptibles de se réveiller : le taux de naissance correspondant est ( N − n)λ ; – la fin d’un service, avec le taux nµ, qui fait passer de n en n–1 appels en cours ou serveurs occupés. Etant donné un état n les probabilités de transition aux états adjacents n-1 et n+1 sont respectivement : P (n → n − 1) =
( N − n)λ nµ , P (n → n + 1) = n µ + ( N − n)λ n µ + ( N − n )λ
(8-1)
Les deux probabilités étant évidemment complémentaires. Le principe de la simulation sera alors le suivant : a) tirer un nombre r aléatoire uniformément réparti entre 0 et 1 ; nµ ?, si oui passer le système à l’état n–1, n µ + ( N − n )λ sinon passer le système à l’état n+1 ; c) recommencer le tirage à partir de l’état atteint, tant que le nombre d’événements total réalisé est inférieur au nombre d’événements souhaité pour la simulation.
b) tester r <
On comprend aisément la facilité de mise en œuvre d’une telle méthode et en particulier le gain de temps d’exécution qu’elle peut apporter : le code à exécuter se réduisant à une suite de calculs et de mise à jour de compteurs relativement simples. La technique s’avère particulièrement intéressante pour la simulation de gros réseaux. Il suffira en effet, par exemple dans le cas d’une nouvelle arrivée, de tirer au sort selon la loi appropriée, la destination de l’appel ou de la session, puis d’effectuer la recherche d’un itinéraire selon l’algorithme et l’architecture du réseau étudié, et enfin de marquer occupées les ressources correspondant à cet itinéraire (mise à jour des tables des liens, de la bande passante prise etc.). De même, on tirera au sort la probabilité d’une libération en fonction du nombre de sessions en cours sur chaque direction, etc. La puissance actuelle des calculateurs permet d’investiguer ainsi de très grosses structures.
Simulation
353
Derrière cette simplicité, réelle, se cachent cependant deux difficultés que nous rencontrerons quelle que soit la technique : la précision à accorder au résultat (fonction de la durée de simulation, ici fonction du nombre d’événements générés) et la technique d’observation (ou la mesure). Le lecteur devra se référer au chapitre 5 pour traiter au mieux ces problèmes. Nous traiterons l’essentiel de ces aspects un peu plus loin. L’inconvénient majeur de ce type de simulation provient de l’inexistence de la notion de temps. Comme nous l’avons précisé, il est impératif que le processus étudié soit sans mémoire. Il est donc théoriquement impossible de traiter des systèmes à temps de service ou inter arrivées non exponentiels (ou dérivés). Cependant, parfois, on pourra tirer parti d’approximations « markovisant » le processus, par exemple remplacer une loi durée de service constante par une loi Erlang-k (voir chapitre 4). Mais aussi, du principe même de la technique découle l’impossibilité de mesurer les temps, tels que le temps d’attente, la durée de service ininterrompue (busy period), etc. On pourrait ici encore user d’astuces telles que par exemple compter le nombre de tirages entre deux changements d’états significatifs (prise et libération du serveur) et en déduire une évaluation de la durée étudiée. En fait, dès que le paramètre temps deviendra fondamental dans l’étude, on passera plutôt à la technique de simulation à événements discrets. 8.2. Simulation à événements discrets C’est la technique de base généralement mise en œuvre dans les langages spécialisés de simulation (Simula, Simscript, QNAP, Workbench, OPNET, Netquad, par exemple). Le principe est le suivant. Comme précédemment, le système à étudier se caractérise par les différents états entre lesquels il évolue. De manière formelle, nous dirons que sont associées à ces états des variables d’état (nombre de serveurs occupés, nombre de clients en file d’attente, etc.) dont l’ensemble des valeurs possibles constitue
354
Trafic et performances des réseaux de télécoms
l’espace d’état du système. Cette fois on désire connaître la valeur de ces variables à tout instant. Comme précédemment, chaque changement d’état est provoqué par un événement (nouvelle arrivée, fin de service), événement se produisant à une date donnée dans le temps. Ce sont ces dates d’événements et changements d’état correspondants, se produisant de manière discrète dans le temps, que nous reproduirons dans la simulation. Nous décrirons ainsi totalement l’évolution dans le temps du système mais en ne nous intéressant qu’aux dates utiles : les date des événements. Nous sauterons de date en date sur l’axe des temps, sans dérouler de façon continue le temps. On voit là tout le gain apporté par cette technique : d’une part par rapport à la simulation par roulette car cette fois on maîtrise exactement le temps, d’autre part par rapport à la simulation dite continue dans laquelle il est nécessaire, et donc coûteux, de faire progresser de manière continue une horloge de référence. Par contre, il faut bien sûr être capable de calculer la date d’un prochain événement. Ceci sera obtenu par la génération de dates aléatoires obéissant à la loi appropriée. Par exemple, au début du service d’une session de durée exponentielle, de valeur moyenne connue, sera tirée au sort la date de fin de service en appliquant les propriétés de la loi exponentielle. De même, plus simplement, pour une durée de service constante on saura parfaitement déterminer la date de fin de service, en ajoutant à la date courante la durée de service. Nous préciserons ces techniques dans la section 8.4. Les événements se produisant de manière discrète, ils peuvent être traités de manière chronologique. Le fonctionnement est alors le suivant : les dates d’événements et la description des actions à réaliser (notice d’événement) sont rangées par date croissante dans un échéancier (un liste circulaire chaînée). Le programme de simulation scrute la tête de file, et ainsi se projette à la date du premier événement à traiter. Il exécute alors les actions de prise, de libération, décrites dans la notice d’événement. Puis calcule (si nécessaire) la date du prochain événement associé (par exemple la date de fin de session si on a initialisé un début de session) et introduit ce nouvel événement à la bonne place chronologique dans l’échéancier. Enfin, le programme va à nouveau scruter la tête de file, se projette à cette nouvelle date, etc. La performance d’un tel système dépend bien sûr de la complexité des actions à traiter à chaque événement, mais aussi du nombre d’événements à gérer simultanément par l’échéancier. Les
Simulation
355
langages spécialisés de simulation disposent bien sûr de programmes puissants d’insertion, d’extraction, de mise à jour des notices d’événements dans l’échéancier (ensemble appelé le noyau de synchronisation). L’échéancier Sans rentrer dans le détail décrivons succinctement la structure d’un échéancier, car l’ingénieur en performance peut avoir à créer luimême une telle structure sur ses propres machines, notamment pour effectuer des essais en trafic (voir chapitre 10). En effet, soit à réaliser un générateur d’appels dont le but est de créer du trafic pour tester un système réel en essais de charge. Un nouvel appel va être initialisé à une date donnée par un message dit d’ouverture vers le système (une demande d’établissement de connexion par exemple). Puis, la machine va être en attente d’une réponse du système (connexion établie), pour initialiser alors une communication. Communication à laquelle elle mettra fin par l’envoi au système d’un message de fin d’appel, après une durée donnée aléatoire, pour aussitôt décider de la date du prochain appel à générer (date dépendant de l’intensité de trafic souhaitée). On voit que l’utilisation d’un échéancier dans lequel sont ordonnancées les dates de début et de fin de tous les appels en cours est tout à fait adaptée à l’organisation de ce simulateur d’appels. On peut se représenter un échéancier comme une liste linéaire doublement chaînée grâce à des pointeurs avant et arrière associés à chaque notice d’événement (file circulaire).
Tête de file
précédent
précédent
précédent
ref. i
ref. i+1
ref. i+k
Date t i
Date t i+1
Date ti+k
adresse programme
adresse programme
adresse programme
suivant
suivant
suivant
Figure 8.2. Organisation d’un échéancier en file circulaire
356
Trafic et performances des réseaux de télécoms
Chaque notice d’événement correspond à une structure de données contenant les pointeurs de chaînage (avant et arrière), la référence de l’événement (son numéro), la date de l’événement, un pointeur vers le programme simulant l’événement et son impact sur le système (actions de prise, libération, etc.). Ainsi, comme déjà précisé, la machine n’exécute que le code correspondant à des instants utiles. Le gain en consommation de temps processeur est considérable, par rapport aux machines déroulant le temps de manière quasi continue et testant à chaque intervalle de temps la nécessité d’une action ou non. On comprend aisément tout l’intérêt d’une telle structure pour la réalisation de simulateurs puissants de trafic, sachant que les systèmes à tester en trafic sont de plus en plus grosse capacité (par exemple des commutateurs traitant plusieurs millions d’appels à l’heure et de même pour des routeurs). A cette occasion, il nous semble opportun de signaler tout l’intérêt, pour le concepteur de systèmes, et en particulier pour le spécialiste des performances, de posséder une connaissance approfondie des techniques des langages de simulation, pour s’en inspirer dans la conception et le développement des systèmes temps réels. 8.3. Mesure et précision Associées à la simulation deux difficultés se présentent quelle que soit la technique, simulation à roulette où à événements discrets : la précision à accorder au résultat (fonction de la durée de simulation), et la technique d’observation permettant la mesure des durées des états, des nombres d’événements etc. Le lecteur devra se référer au chapitre 5 pour traiter au mieux ces problèmes. Nous présentons succinctement ci-après quelques principes de base. 8.3.1. Mesure Idéalement, la mesure doit se présenter comme un échantillonnage aléatoire des états du système au cours de la simulation.
Simulation
357
Il est essentiel de garder à l’esprit ce concept de base car les pièges sont nombreux, même pour le probabiliste averti. Citons par exemple les difficultés associées à la mesure de l’attente dans le cas d’arrivées régulières, ou d’arrivées groupées dans un système de queues en série, à la mesure de l’occupation d’un serveur dans le cas d’un service cyclique, etc. En pratique, heureusement, dans la plupart des cas, il sera possible de définir le phénomène à observer en termes précis de la théorie des files d’attente. La simulation pourra alors implémenter exactement la mesure correspondant à la définition. Mais rappelons-le, l’observation ne donnera que ce que l’on a défini avec les a priori inclus implicitement dans nos raisonnements (la contre-expérience sur la base d’observations aléatoires sera toujours enrichissante). Dans le cas de la simulation de type roulette, le problème de l’observation est moins crucial car, de par la propriété sans mémoire du processus observé, il suffit d’incrémenter à chaque tirage le nombre total de transitions, et le nombre de fois où le système se trouve dans chaque état. Le rapport du nombre de passages dans un état donné avec le nombre total de transitions évaluera la probabilité d’état. 8.3.2. Précision Concernant la précision, nous sommes en fait ramenés à un problème d’évaluation comme décrit ci-après. Soit à évaluer la probabilité d’un état n donné, par exemple n serveurs occupés. Si, dans le cas d’une simulation, l’on effectue le calcul de la probabilité d’état n sur des séries de k unités de temps (simulation par événements ), ou de k transitions (simulation par roulette), nous allons observer des courbes telles que représentées dans la figure 8.3 (courbes lissées). On appelle ces courbes les trajectoires du processus de mesure associé à la simulation. On a représenté deux courbes différentes selon l’état de départ de la simulation.
358
Trafic et performances des réseaux de télécoms Pn n(t 0)=n 0
Mesure sur la série i de k transitions Temps/ N° de la mesure
n(t 0)=0 1
2
i
i+x
i+y
t
Figure 8.3. Trajectoires d’une simulation
Après une période de régime transitoire, nous observons heureusement une tendance à une certaine stabilité au fur et à mesure que le temps et le nombre d’expériences croissent. En effet, le système atteint alors un régime stationnaire et les probabilités d’état deviennent donc constantes (c’est souvent le cas des systèmes réels étudiés). Il est évident que plus l’état de départ est proche de l’état stationnaire recherché du système, plus la simulation donnera rapidement des résultats significatifs. A cet égard, notons qu’il existe des techniques élaborées permettant de réduire les durées de simulation, notamment dans le cas de la recherche d’événements très rares, le principe étant de relancer la simulation lorsque la trajectoire se trouve dans la zone des états intéressants. Nous ne développerons pas ces aspects ici (voir [VIL 91]). Plaçons-nous sur une trajectoire après la partie transitoire. Dès lors, sur la partie appropriée de la courbe, nous pourrons appliquer les règles classiques d’estimation (moyenne et variance) à la valeur recherchée. Les valeurs des mesures de n° (i+x) à (i+y) constitueront du point de vue statistique notre échantillon. Cependant, il est bien clair que nous ne connaissons pas la loi de distribution de ces mesures, aussi nous sommes amenés à prendre quelques hypothèses. Très généralement, on considérera que le processus est stationnaire (dans
Simulation
359
l’intervalle considéré), les mesures ne dépendent donc pas de t, et on peut alors tracer un histogramme et calculer nos estimateurs (moyenne et variance), ponctuels ou avec un intervalle de confiance. Dans la plupart des cas on sera en droit de prendre l’hypothèse d’une distribution gaussienne, dès que n > 30, du fait du théorème central limite (voir chapitre 5). On appliquera alors les formules relatives à la loi normale et notamment pour la moyenne :
σ σ P mˆ − u1−α 2 < m < mˆ − uα1 = 1 − α n n
(8-2)
Avec n taille de l’échantillon, mˆ la dispersion observée, 1-α le niveau de confiance, et σ dispersion de la population mère. Un estimateur sans biais de σ étant donné par (estimation ponctuelle) : s=
n σˆ , n −1
avec σˆ dispersion de l’échantillon. (Pour des tailles d’échantillons assez grandes, la correction sur σˆ est négligeable.) Et finalement, on a donc : mˆ − u1−α 2
s s < m < mˆ + uα1 n n
ou mˆ − t1−α / 2
s s < m < t1−α / 2 pour un intervalle centré n n
(8-3)
Ainsi par exemple les intervalles de confiance centrés à 95 % et 90 % (valeurs couramment retenues) seront : s s ; mˆ + 1,96 mˆ − 1,96 et n n
s s ; mˆ + 1,65 mˆ − 1,65 n n
(8-4)
360
Trafic et performances des réseaux de télécoms
Le lecteur attentif se rappellera que la formule s’applique aussi au cas d’échantillons de taille n petite, mais alors il devra chercher les coefficients t dans la table de Student-Fischer, dans la colonne correspondant à la valeur α du seuil de risque. En pratique, il est surtout très important de suivre cette méthode de mesure (utilisation de séries), car elle permet de mettre en évidence, et la période transitoire, et la meilleure période de mesure. Se contenter d’une valeur cumulée à la fin d’une simulation pourrait conduire à des erreurs grossières. Ne pas tester d’éventuelles périodicités dans la simulation liées à un générateur pseudo-aléatoire mal adapté serait aussi imprudent. Ce dernier point vaut surtout lors de la réalisation de simulateurs pour lesquels il est nécessaire de créer son propre générateur (comme nous allons le voir un peu plus loin), alors que, a contrario, les langages de simulation actuels possèdent des générateurs généralement très suffisants. ρ=0,95
P>x 1 + + +
-6
10
M/D/1 + +
-3
10
+
+
+
N=1000 -9
10
+
+
+
-12
10
+
N=50 10-15
20
40
N=500
+
N=200 +
60
+
80
100
x
Figure 8.4. Simulation de la file N/D/D/1
Signalons aussi tout l’intérêt de réaliser la mesure des probabilités de plusieurs états différents, pour obtenir une loi de distribution, et ce dans des conditions différentes, par exemple pour des charges différentes. Ainsi, il sera possible d’extrapoler des probabilités faibles,
Simulation
361
difficiles à obtenir avec précision par la simulation. Et, réciproquement, on sera ainsi apte à juger de la confiance à accorder à un résultat, au vu de sa cohérence avec les autres. La figure 8.4 construite à partir de la simulation de la file N/D/D/1, montre une situation courante de résultats de simulation. On observe la limite de validité des résultats de la simulation, autour de probabilités de l’ordre de 10–9. Nous n’avons plus assez d’événements, la courbe se « casse ». Mais on devine assez bien l’extrapolation à effectuer (en pointillé). Extrapolation qui peut être confortée en construisant le type de courbe de la figure 8.5. ρ=0,95
P>x 1 10-3
+ +
+ +
-6
10
+ +
+
+
10-9
x=40 + x=60
-12
10
1000
100
N
Figure 8.5. Analyse des résultats de simulation
Avant toute extrapolation on devra étudier la possibilité d’allonger le temps de simulation ou d’améliorer la technique utilisée (par exemple en utilisant des méthodes du type Restart [VIL 91]). Il faut surtout retenir de ces exemples que l’interprétation graphique peut aider considérablement à cerner les limites de validité de la simulation et donner ainsi des indications pour améliorer l’expérience.
362
Trafic et performances des réseaux de télécoms
8.4. Nombres aléatoires Comme dans le cas de l’échéancier, la génération de nombres aléatoires est un sujet d’intérêt plus vaste que sa simple utilisation en simulation, et mérite qu’on en développe quelques aspects essentiels. En effet, le spécialiste en performances doit bien sûr maîtriser ses outils tels que les langages de simulation et leurs générateurs, mais il peut être aussi amené à construire lui-même pour ses machines ses propres suites de nombres aléatoires (simulateur de trafic, génération de pannes en essais en fiabilité, observations de trafic, de charge dans les systèmes...). Le problème est celui-ci : de manière très générale, il s’agit de générer une suite de nombres obéissant à une loi de probabilité donnée. Loi qui peut être issue de l’observation, des hypothèses de modélisation, etc. 8.4.1. La génération de nombres selon une loi Le principe est le suivant : soit à générer une suite de nombres X, tels que par exemple des durées de service, obéissant à une loi de distribution dont on connaît la fonction de distribution : F ( x) = P [ X ≤ x ]
Cette probabilité étant comprise entre 0 et 1, il suffit alors de tirer au sort de manière uniforme un nombre aléatoire u, compris entre 0 et 1, et d’en déduire X = F −1 (u ) . La figure 8.6 en représente le principe. On vérifie bien que le nombre X obtenu est tel que P [ X ≤ x ] = F ( x) . En effet : P F −1 (u ) ≤ x = P [ X ≤ x ] = P [u ≤ F ( x) ]
et P [u ≤ F ( x)] = F ( x) puisque u est uniformément distribué entre 0 et 1. Par exemple, supposons le cas important d’une loi de distribution exponentielle. Nous avons F (t ) = 1 − e − µt Le tirage au sort nous donne une suite de nombres u = 1 − e− µt , d’où l’on déduit une suite de valeurs pour t, par :
Simulation
t=−
ln(1 − u )
363
(8-5)
µ F(x) 1 u
0
X
x
Figure 8.6. Génération d’un nombre aléatoire selon une loi de probabilité
On voit tout de suite que ce principe peut être généralisé au cas de lois complexes en combinant plusieurs tirages, et en particulier au cas important de lois résultant de la combinaison de lois exponentielles telles que la loi d’Erlang-k, la loi hyperexponentielle, etc. (voir chapitre 4). Par exemple, dans le cas de la loi d’Erlang-k, on additionnera simplement k tirages consécutifs de durées exponentielles. Plus importante peut-être pour le test des performances est l’extension au cas d’une distribution empirique. On suppose que l’on dispose d’une répartition empirique (en pratique un histogramme cumulé). La valeur de Xk recherchée est alors obtenue par comparaison directe du nombre aléatoire u avec les valeurs empiriques de F(X), jusqu’à trouver F ( X k ) < u < F ( X k +1) . Dans ce que nous venons de voir, nous avons fait une hypothèse essentielle qui est notre capacité à générer un nombre aléatoire uniformément distribué. Abordons maintenant ce problème. 8.4.2. La génération de nombres pseudo-aléatoires Nous introduisons ici la notion de nombres pseudo-aléatoires. En effet, les techniques de calcul de nombres dits aléatoires sont forcément imparfaites, d’autant plus que le code servant à générer ces
364
Trafic et performances des réseaux de télécoms
nombres les uns à la suite des autres ne pourra exécuter qu’un algorithme certes plus ou moins sophistiqué mais forcément déterministe. La suite générée sera aussi faiblement corrélée que possible mais inévitablement finie et périodique. Il s’ensuit qu’un critère de qualité très important sera l’obtention de la période la plus longue possible. Il existe de nombreuses méthodes, plus ou moins performantes, pour générer des suites de nombres pseudo-aléatoires. Si au départ des méthodes très empiriques ont été utilisées, du type mid square method (Von Neumann), elles ont été vite remplacées par des méthodes plus formelles générant des suites aux propriétés aptes à être analysées d’un point de vue théorique (périodicité, corrélation, etc.). Citons la méthode congruentielle (multiplicative ou additive), la méthode des registres à décalage, les suites particulières comme les décimales successives du nombre π, et enfin le brassage de plusieurs générateurs. Nous ne présenterons ici que la méthode congruentielle car très utilisée, et le brassage des générateurs car très utile dans nos applications (en dehors de l’usage des langages spécialisés de simulation qui disposent de leurs propres générateurs). La méthode congruentielle La méthode se fonde sur la propriété suivante : si І est un nombre irrationnel alors la suite un = nI ,mod1 , a une distribution uniforme (théorème de Weyl Jacobi). Dans la méthode congruentielle multiplicative, on applique la relation un = kun −1 , mod m soit encore un = k n u0 , mod m . u0 est appelé racine ou germe du générateur. La période maximale (au mieux) d’un tel générateur est m – 1. Il est conseillé de prendre m de la forme m = 2 p − 1 avec p = 2,3,5,7,13,17,19, 31, 61, etc. (nombre de Fermat). Si m est de la forme m = 2q avec q ≥ 4 alors la période maximale sera au mieux égale à m/4. A titre d’exemples, nous donnons quelques valeurs de générateur (voir [FIS 78, FIS 96]) au tableau 8.1.
Dans la méthode congruentielle additive, on applique la relation un = un −1 + un − 2 , mod m . C’est une suite de Fibonnaci. Un exemple de suite est donné par u0 = u1 = 1, mod 2 p , p étant le nombre de bits de la
Simulation
365
machine (32 par exemple). En pratique, on va ainsi dérouler le type d’algorithme suivant : initialiser le germe u0 (compris entre 0 et 30), m (quelconque grand), et u1 ( un nombre < module m) ; faire α = u0 et β = u1 ; 1)faire k = α + β ; tester si k > m ; si oui faire k = k − m ; faire α = β et β = k ; faire u =
k ; « u est le nombre aléatoire cherché, entre 0 et 1 » m +1
recommencer en 1). K 16807 (= 75) 62089911 4177924 (*) 1226874159 (*) 1099087573 2824527309 69069 1099087573 2824527309 3125 133955583 (227 – 218 –1) 68909602460261
m
période
231-1
231-2
232
230
235 - 31
235 - 32
248
246
Tableau 8.1. Générateurs aléatoires congruentiels (*) Ces deux valeurs, présentées comme les « meilleurs choix » par Fishman
Cette méthode relativement simple à implémenter donne des résultats généralement moins bons que la méthode multiplicative. Cependant, nous allons voir que la technique de brassage va nous permettre d’utiliser des suites de qualité modeste.
366
Trafic et performances des réseaux de télécoms
Brassage de générateurs Cette méthode permet de créer un générateur de bonne qualité à partir de deux autres générateurs de qualité relativement médiocre. On comprend alors tout l’intérêt d’une telle méthode pour nos cas d’applications tels que le tirage au hasard de pannes, les observations de charge dans les machines ou sur les liens des réseaux, etc., où nous pourrons partir de suites très élémentaires. Le principe est le suivant : un premier générateur remplit une table de brassage qui est accédée de manière aléatoire par le second générateur (les sorties de ce dernier fournissent les adresses de lecture dans la table). Chaque nombre sélectionné dans la table par le second générateur est aussitôt remplacé par un nouveau nombre produit par le premier générateur. On vérifie qu’une table d’une centaine de places est suffisante. En pratique, on peut même brasser un générateur avec lui même. On va ainsi dérouler l’algorithme suivant : Initialiser la table avec les 100 premiers tirages du générateur, ti = ui , i = 1...100 ; 1) Tirer au sort le nombre aléatoire suivant uk et le ramener entre 1 et 100 pour obtenir une valeur i ; Lire la table en i on obtient le nombre aléatoire cherché ti ; Tirer au sort le nombre aléatoire suivant uk +1 et faire ti = uk +1 ; Recommencer en 1) ; Une autre méthode de combinaison de générateurs est aussi possible, et permet notamment d’améliorer grandement la période [LEC 97]. On la présente ici dans le cas de la combinaison de deux générateurs. On construit deux générateurs, avec k1 = 40014, m1 = 231 − 85 , et k2 = 40692, m2 = 231 − 249 :
– le j-ième tirage produit les deux valeurs X 1, j et X 2, j ; – on calcule Y j = X 1, j − X 2, j mod 231 − 86 ; – le résultat est
rj = Y j / 2147483563, si Y j > 0 et 2147483562/
2147483563 sinon. La séquence résultant de cet algorithme a une période (m1 − 1)(m2 − 1) , de l’ordre de 2 × 1018 .
CHAPITRE 9
Modèles
Dans ce chapitre, nous définissons un ensemble de modèles d’évaluation des performances de systèmes et réseaux, construits à partir des résultats et outils théoriques présentés dans les chapitres précédents. L’objectif essentiel est de donner un reflet aussi exact que possible des problèmes très variés associés au travail de modélisation dans un environnement industriel (constructeurs, exploitants, laboratoires, etc.). Le choix de ces modèles est bien sûr arbitraire et ne prétend pas couvrir l’ensemble du sujet. Il est cependant basé sur deux grands critères qui nous paraissent essentiels : – l’utilité dans notre domaine d’étude, c’est-à-dire le domaine des télécommunications ; – l’intérêt didactique du point de vue de la modélisation et de l’application pratique de la théorie. Le niveau de démonstration variera d’un modèle à l’autre, et c’est l’ensemble des exercices qui devrait donner une vue globale des techniques de modélisation et de résolution. On passera ainsi de l’application la plus simple des graphes de Markov à l’application de la méthode de Pollaczek, en passant par les simples règles de trois et les files M/M/1. Enfin, on se concentrera ici sur le seul domaine du trafic, car la plupart des modèles importants en fiabilité ont déjà été traités dans le chapitre 6.
368
Trafic et performances des réseaux de télécoms
Par la suite, pour la clarté de l’exposé, on va distinguer deux grandes catégories de modèles : ceux relatifs à la commande des systèmes et ceux relatifs au domaine du transport de l’information. Là aussi la distinction est arbitraire. Elle est avant tout basée sur l’usage le plus fréquent dans notre domaine. On notera que certains équipements tels que le lien Ethernet peuvent être considérés comme appartenant aux deux domaines : interconnexion de processeurs de commande ou réseau de transport de données de niveau usager, etc. Le lecteur s’affranchira aisément de ces distinctions autant que nécessaire. 9.1. Modèles pour la commande des systèmes 9.1.1. Le système simple bouclé Il s’agit d’un système tel que chaque demande, à sa fin de traitement, a une probabilité p d’être représentée au système. Ce modèle correspond bien, par exemple, à un système de transmission présentant un taux d’échec par message p, entraînant sa retransmission. Il peut correspondre aussi à un système de traitement ayant à exécuter des macrotâches qui vont ne pouvoir s’exécuter qu’en plusieurs tâches élémentaires. Ce peut être, par exemple, le cas de l’exécution d’un traitement dont le code n’est pas présent totalement en mémoire locale : on doit interrompre le traitement avec une probabilité p pour aller chercher la suite en mémoire centrale (problème de la mémoire virtuelle et des fautes de pages par exemple). La figure 9.1 représente le système. λ0
λ
Unité de traitement
1-p p
Figure 9.1. le système simple bouclé
On a :
Modèles
λ = λ0 + pλ , soit λ =
369
λ0 1− p
Dans l’hypothèse d’arrivées poissonniennes de taux moyen 1/λ, et d’une durée de service par tâche suivant une loi exponentielle de moyenne 1/µ, on peut appliquer les résultats de la file M/M/1 et donc écrire : – temps moyen passé dans le système : ts =
1/ µ 1− p = 1 − ρ (1 − p ) µ − λ0
(9-1)
– nombre moyen de tâches dans le système : n=
ρ 1− ρ
=
λ0 (1 − p ) µ − λ0
(9-2)
On retrouvera plus loin ce type de modèle dans le cas du modèle à répétition d’appel (à ne pas confondre cependant, les variables et l’usage des paramètres étant bien différents). 9.1.2. Centre serveur Il s’agit de modéliser un système tel un serveur (une unité centrale, ou un centre de réparation, d’où aussi le nom de repairman model), traitant les requêtes d’un nombre fini de clients identiques (terminaux, équipements en parc...). Chaque client soumet une nouvelle requête toutes les 1/λ unité de temps en moyenne, intervalle appelé temps de réflexion, temps de fonctionnement... Le processeur du centre serveur traite une requête en un temps moyen 1/µ, appelé temps de service. Ce modèle est très populaire car il correspond à de très nombreux cas de réseau. Par exemple, il correspond particulièrement bien au cas d’un serveur commun à plusieurs terminaux dans un réseau local, ou à celui d’un serveur IN (Intelligent Network) commun à plusieurs
370
Trafic et performances des réseaux de télécoms
commutateurs dans le réseau téléphonique ou dans le NGN. La figure 9.2 représente le système et ses N clients. 1
File
2
Unité centrale
Centre Serveur
N
Terminaux
Figure 9.2. Le modèle du centre serveur
Si on prend l’hypothèse d’une loi exponentielle pour le temps de réflexion et le temps de traitement, le graphe de transition représentant le nombre de requêtes dans l’unité centrale est celui de la figure 9.3. Νλ
(N-n)λ
(Ν−1)λ
0
1 µ
2
...
µ
n µ
λ
...
N- 1
µ
N µ
Figure 9.3. Chaîne de Markov du centre serveur
C’est un cas particulier du modèle d’Engset (voir chapitre 7) avec un seul serveur, on l’appelle M/M/1/N/N. On a aisément :
Pn =
N! αn (N − n )! , N! αk (N − k )!
∑
0≤ k ≤ N
et :
α=
λ µ
Modèles
1
P0 =
∑
0≤ k ≤ N
N! αk (N − k )!
aN N!
=
∑
0≤ n≤ N
a n!
, avec a =
1
α
=
µ λ
371
(9-3)
n!
où on reconnaît la formule de perte d’Erlang, E (a, N ) ! Le lecteur méditera ce résultat (quelle est la source, qui sont les serveurs ?). Le taux d’utilisation ρ de l’unité centrale (UC) du serveur est donc :
ρ = 1 − P0 = 1 − E (a, N )
(9-4)
Appelons c le temps de cycle moyen de traitement des requêtes d’un terminal. C’est la somme de son temps moyen entre requêtes (temps de réflexion), plus l’attente moyenne w, plus la durée moyenne de service. Soit : c=
1
λ
+ w+
1
µ
, ou w = c −
1
λ
−
1
µ
(9-5)
Le cycle moyen pour les N terminaux est N fois plus petit. C’est le taux d’arrivée des requêtes à l’UC du serveur. D’où :
ρ=
N 1 c µ
et donc : w=
N
ρµ
−
1
λ
−
1
µ
=
N −ρ 1
ρ
µ
−
1
λ
et finalement : w=
N − 1 + E (a, N ) 1 1 − 1 − E ( a, N ) µ λ
(9-6)
Le nombre moyen de requêtes L dans la file du centre serveur est donné par la formule de Little :
372
Trafic et performances des réseaux de télécoms
L=
w c
On obtient aussi le temps moyen de séjour T S , et le nombre moyen de requêtes L S , dans le centre serveur : TS = w+
1
µ
et L S = L +
ρ N
On notera enfin que ces résultats s’appliquent au cas d’un serveur fonctionnant en temps partagé (voir ci-après) dans le cas d’un nombre fini de sources de traitements. En effet, on verra qu’un tel système, du point de vue du temps de séjour moyen (on dit aussi temps réponse), se comporte comme un simple serveur M/M/1. On aura donc comme précédemment : TS = w+
1
µ
=
N
ρµ
−
1
λ
=
1 N − µ (1 − E (a, N )) λ
(9-7)
Nous allons traiter maintenant le cas du processeur en temps partagé avec un nombre de sources infini. 9.1.3. Processeur à temps partagé Il s’agit ici de modéliser un système dit à temps partagé, car dans un tel système le processeur de traitement partage son temps de manière égale entre toutes les tâches (clients) en cours. Ce peut être plusieurs contextes d’appels simultanément en cours de traitement par exemple. Il n’y a pas de file d’attente à proprement parler. Idéalement, on admet que le processeur passe un quantum de temps infiniment petit sur chaque tâche. Il s’ensuit que le temps de traitement d’une tâche est d’autant plus long qu’il y a d’autant plus de tâches en cours simultanément, mais aussi que ce même temps de traitement est d’autant plus court que la tâche est intrinsèquement courte. Un tel système favorise les tâches de courte durée. Le modèle a été traité en particulier par Kleinrock et Coffman [COF 70, KLE 75]. Les résultats sont relatifs aux caractéristiques
Modèles
373
(attente, temps de séjour) du temps de traitement d’une tâche donnée (de durée donnée). Nous nous intéressons ici à la détermination des caractéristiques « moyennes » du temps de traitement de l’ensemble des tâches. C’est en effet de ces paramètres dont nous aurons besoin pour l’évaluation de la qualité de service, par exemple dans les processeurs de traitement d’appels, le traitement d’un appel étant constitué de plusieurs tâches de durées différentes. Des caractéristiques essentielles sont bien sûr la moyenne et la variance du temps de traitement total d’une tâche (son temps de séjour dans le système, c’est-à-dire sa durée de traitement intrinsèque, plus son élongation ou attente). Dans les références précédentes, on a le temps moyen passé en attente par un traitement (ou tâche) de durée intrinsèque de service s (c’est-àdire sa durée de service s’il était seul dans le système) : ws =
ρ 1− ρ
s
(9-8)
Il faut noter que ce résultat est vrai pour une loi de service générale. Dans le cas d’une loi de durée de service exponentielle, sa variance est :
σw 2 = s
2ρ s 2ρ − (1 − e − µ (1− ρ ) s ) 3 µ (1 − ρ ) µ (1 − ρ ) 4
(9-9)
1/µ étant la durée moyenne des traitements obéissant à une loi exponentielle. On en déduit le temps moyen passé dans le système pour cette tâche (ou temps de réponse) : ts =
1 s 1− ρ
et :
σ t 2 = σ w 2 , pour une tache de durée fixe s. s
s
(9-10)
374
Trafic et performances des réseaux de télécoms
Intéressons-nous maintenant aux caractéristiques d’un traitement moyen, dans le cas de tâches de durée de traitement intrinsèque s suivant une loi exponentielle de valeur moyenne 1/µ. On a : ∞
w = ∫ ws µ e − µ s ds = 0
1 1 1− ρ µ
(9-11)
Pour la variance :
σ t 2 = E (ts 2 ) − [ E (ts ) ]
2
avec : E (ts ) = E ( ws + s ) 2 = E ( ws ) + 2 sE ( ws ) + E ( s 2 ) 2
2
or : E ( ws ) = σ w + [ E ( ws )] = σ w + 2
2
2
2
ρ2 s2 (1 − ρ ) 2
et : ∞ 1 s µ e − µ s ds [ E (ts )] = ∫ 2 0 (1 − ρ )
2
2
et donc : ∞
∞ ∞ ρ2 2ρ 2 −µ s 2 −µs s e ds + s e ds + s 2 µ e − µ s ds µ µ 2 ∫ ∫ (1 − ρ ) (1 − ρ ) 0 0 0
σ t 2 = σ w2 + ∫
∞ 1 − ∫ s µ e − µ s ds 2 0 (1 − ρ )
σt2 = σ w 2 +
2
ρ2 2 2ρ 2 2 1 1 + + 2− 2 2 2 2 (1 − ρ ) µ (1 − ρ ) µ µ (1 − ρ ) µ 2
Modèles
σ t 2 = σ w2 +
1 1 2 = σ w + (t w ) 2 , résultat remarquable 2 2 (1 − ρ ) µ
375
(9-12)
Nous avons en outre : ∞
σ w = ∫σ w µe 2
2
−µs
s
0
∞
ds = ∫ ( 0
2ρ s 2ρ − (1 − e − µ (1− ρ ) s )) µ e − µ s ds 3 4 µ (1 − ρ ) µ (1 − ρ )
dont on déduit :
σ w2 =
2ρ 2ρ 2ρ − + 3 4 µ (1 − ρ ) µ (1 − ρ ) (2 µ − ρ )(1 − ρ ) 4
D’où, en prenant 1/µ comme unité de temps de service, il vient finalement :
σ w2 =
2ρ (2 − ρ )(1 − ρ ) 2
(9-13)
2ρ 1 2+ ρ + = 2 2 (2 − ρ )(1 − ρ ) (1 − ρ ) (2 − ρ )(1 − ρ )2
(9-14)
et :
σt2 =
9.1.4. Polling et Token Ring Considérons d’abord le cas général d’un service cyclique, ou Polling. Ce type de service est utilisé par de nombreux systèmes, aussi bien en tant que protocole de communication entre stations qu’en tant que mode de services pour gérer le temps réel entre processus, ou entre périphériques de réception et d’émission de messages. Nous cherchons à déterminer le temps d’attente et de traitement pour un paquet (ou message, ou processus). En supposant des arrivées poissonniennes, nous voyons que ce temps sera composé du temps d’attente de scrutation (pour le premier message) plus le temps d’attente devant un serveur M/G/1. Evaluons la valeur moyenne du temps de cycle de l’ensemble des stations. Ce temps est composé à
376
Trafic et performances des réseaux de télécoms
chaque entité pollée d’un temps intrinsèque de scrutation à chaque station τi (libre ou occupée, ou passage de station à station), plus un temps de service si s’il y a un service à effectuer. Soit pour N entités : N
N
i =1
i =1
tc = ∑τ i + ∑ si
(9-15)
et donc la moyenne est : N
N
N
i =1
i =1
i =1
tc = ∑τ i + ∑ si = c0 + ∑ si
(9-16)
Or, à chaque entité i , sous l’hypothèse d’arrivées de taux λi et de tâches de durées ti, le nombre moyen de tâches à traiter par cycle est λi tc et leur temps moyen de traitement est si = λi tc ti = ρi tc . On a N
aussi, bien sûr, ρ = ∑ ρi . On en déduit l’équation de base : i =1
tc =
c0 1− ρ
(9-17)
On appelle généralement c0 le cycle à vide. Dans la plupart des cas pratiques, tc pourra être approximé à une valeur presque constante car, dès que le nombre d’entités pollées est grand, la variance de la durée de scrutation devient faible, comme dans le cas de lois de services du type de la loi gamma. Etudions maintenant plus particulièrement le cas d’un LAN de type Token Ring basé sur le principe du polling. Un Token Ring (anneau à jeton) est un medium de communication connectant en série un ensemble de stations. L’information est transmise séquentiellement d’une station à une autre sur l’anneau. Chaque station retransmet bit par bit l’information à la suivante. La station destinatrice récupère le message qui lui était destiné en copiant l’information en transit. Au retour de l’information à la station
Modèles
377
émettrice, celle-ci efface le message de l’anneau. Une station a le droit d’émettre quand elle détecte le token (jeton) sur l’anneau. Le token est une séquence de bits particulière circulant sur le medium et suivant chaque transfert d’information. La station qui s’approprie le token le modifie en un signal de début de trame (SFS, Start of Frame Sequence). Lorsque la transmission de son message est correctement effectuée (sans erreur, dans un délai maximum...), la station émettrice réinitialise un nouveau token qui donne aux stations suivantes la possibilité d’émettre à leur tour. L’architecture de base est décrite en figure 9.4. 1
2
i
N
N-1
i+1
Figure 9.4. Architecture du réseau Token Ring
On distingue deux grands modes de fonctionnement des Token Ring : le mode single token et le mode early token. Dans le mode single token, une station qui a émis n’émet le jeton « libre » à la station suivante que lorsqu’elle a reçu elle-même en retour le jeton « occupé » qu’elle avait émis précédemment. Dans le mode early token, une station émet le jeton libre à la suite du paquet qu’elle transmet, permettant ainsi à la station suivante d’émettre un message aussitôt que le dernier bit du paquet a quitté la station émettrice précédente. Ainsi donc, si les trames sont courtes, plusieurs tokens peuvent exister sur l’anneau.
378
Trafic et performances des réseaux de télécoms
Le mode single token Etudions d’abord le cas du single token, avec service exhaustif (on sert tous les messages en attente à chacune des stations). Le délai d’attente d’un message ou paquet avant transmission sur l’anneau est la somme de l’attente moyenne avant d’être pollé, c’est-àdire approximativement tc / 2 , plus le temps d’attente devant un serveur M/G/1. Un message qui ne trouve aucun autre message devant lui dans la station attendra au minimum le temps d’être pollé. Cet instant sera alors en quelque sorte le début du service de type M/G/1. Si toutes les N stations sont identiques, λi = λ/N, ρi = ρ/N. On a : W=
tc λt 2 (1 − ρ / N ) + 2 2(1 − ρ )
(9-18)
avec : tc =
c0 1− ρ
c0 est ici la durée de propagation sur l’anneau. C’est le délai de propagation τ, plus N fois la durée de latence par station (de 1 à 16 bits). Et t est la durée de service d’un paquet sur l’anneau. C’est la durée de transmission du message, fonction de sa longueur m (longueur utile (payload) plus en-tête (header), plus éventuellement latence et espace (gap) inter-trames). Si les trames sont plus courtes que la durée de propagation, t est égal à c0, sinon c’est m. Enfin, le délai global moyen de transfert d’un message est donc son délai d’attente W plus la durée de transmission t sur l’anneau, plus la durée de propagation pour atteindre une station, soit en moyenne c0/2 : tf =
c0 c λt 2 (1 − ρ / N ) + +t + 0 2(1 − ρ ) 2(1 − ρ ) 2
(9-19)
Modèles
379
Dans le cas de longueurs de trames exponentielles de longueur moyenne m , on obtient : t = c0
c0
∞
1 −x/m 1 −x/m ∫x =0 me dx + x =∫c x me dx 0
t = c0 + me− c0 / m
De même, on obtient : t 2 = c0 + 2m(τ + m)e − c0 / m 2
(9-20)
Dans le cas de longueurs de trames constantes, on obtient : t = m , t 2 = m 2 , si m >> c0 2
t = c0 , t 2 = c0 si m << c0
On en déduit la charge maximale admissible du LAN, ou son efficacité : E=
m t
Et par exemple dans le cas de longueurs de messages exponentielles : E=
1 (c0 / m + e− c0 / m )
(9-21)
Cette relation montre bien l’impact du temps de cycle à vide (propagation et la latence) par rapport à la longueur du message à transmettre. L’efficacité sera d’autant plus faible que la valeur du cycle à vide sera proche de, voire supérieure à, la longueur du message. Par exemple, pour un anneau de longueur 1 km avec un temps de propagation de 5 ns/m, de débit 5 Mbit/s, connectant 100 stations, et
380
Trafic et performances des réseaux de télécoms
transportant des messages de 1 000 bits (200 µs), l’impact de la latence est le suivant : – latence par station = 2 bits, latence totale + propagation = 45 µs, c0/m = 0,225 : E = ρmax=0,98 – latence par station = 8 bits, latence totale + propagation = 165 µs, c0/m = 0,825 : E = ρmax = 0,79 – latence par station = 16 bits, latence totale + propagation = 325 µs, c0/m = 1,625 E = ρmax = 0,55 Le mode early token Etudions maintenant le mode early token. Les calculs sont les mêmes que dans le mode précédent, avec cependant la différence fondamentale que le temps de service d’un message est cette fois simplement la durée de transmission m du message. On a : W=
tc λt 2 (1 − ρ / N ) + 2 2(1 − ρ )
(9-22)
c0 c λt 2 (1 − ρ / N ) + +t + 0 2(1 − ρ ) 2(1 − ρ ) 2
(9-23)
et : tf =
avec : – dans le cas de longueurs de trames exponentielles de longueur moyenne m : t = m , t 2 = 2m
2
Modèles
381
– dans le cas de longueurs de trames constantes : t = m , t 2 = m2
Dans ce mode, l’efficacité du LAN n’est plus limitée. En fait, plus que l’efficacité, c’est le délai de réponse qui sera significatif. Etudions l’exemple d’un LAN de communication entre processeurs d’un système distribué, fonctionnant en mode early token. Dans ce cas, la longueur est limitée : 100 m environ. La vitesse du LAN est de 16 Mbit/s. Nous supposons que les messages ont une longueur obéissant à une loi exponentielle de moyenne 236 octets (200 octets utiles plus 32 octets d’en-tête, plus 4 octets de buffer de latence). Soit, avec 1 octet de gap intertrame, un temps de transmission moyen de 118,5 µs à 16 Mbit/s. La vitesse de propagation est de 5 ns/m, soit 0,5 µs pour 100 m. Nous prenons un nombre de stations égal à 30, et la latence par station est de 2,5 bits, soit 0,156 µs. On a donc : c0 = 0,5 + 30 × 0,156 = 5,2 µs La part du temps de cycle dans le délai de transfert, à une charge de 0,8 est donc : t1 = 5,2 (1-0,8/30)/2(1-0,8) = 12,65 µs La part de l’attente devant le serveur M/M/1 est : t2= 118,5 × 0,8/ (1-0,8)= 474 µs Le temps total de transfert est donc, tf = 12,65 + 474 + 118,5 + 2,6 = 607,7 µs On constate l’influence prépondérante du service M/M/1 (474 + 118,5 = 592,5 µs). On retiendra donc en pratique que le LAN dans ce cas d’application pourra être modélisé simplement par un serveur de type M/G/1.
382
Trafic et performances des réseaux de télécoms
9.1.5. Lien Ethernet Les LAN de type Ethernet basés sur des protocoles de communication de type CSMA CD sont des éléments caractéristiques de support de communication entre machines (processeurs ou stations d’un systèmes, serveurs, nœuds d’un réseau). La modélisation de leurs performances est donc indispensable, et surtout la mise en évidence des paramètres de performance les plus significatifs. Ainsi que nous allons le voir, les performances de ce type de medium de communication peuvent grandement différer selon les applications. Ces protocoles sont issus des problèmes d’accès à un canal radio par des stations indépendantes. Chacune ignorant si l’autre se met à émettre, il peut y avoir collision. De manière semblable, avec un LAN Ethernet des stations indépendantes sont connectées en étoile à un hub, ou à un switch, Ethernet, et plusieurs peuvent décider d’émettre en même temps, si la liaison leur paraît libre, il y a alors collision. Pour résoudre ces conflits, les protocoles CSMA CD (CSMA, Carrier Sense Multiple Access, CD, Collision Detection) ont été définis. On distingue trois types : le type CSMA CD persistant, le type CSMA CD non persistant, le CSMA CD p-persistant. Le type CSMA CD persistant. Un terminal prêt à émettre teste si le LAN est libre, c’est-à-dire si il n’y a pas de transmission en cours. Si le LAN est libre il transmet le paquet avec un probabilité 1. Si le LAN est occupé il attend jusqu’à ce que le LAN soit libre et alors retransmet le paquet avec probabilité 1 (d’où le nom persistance 1). Le type CSMA CD non persistant. Dans le cas du non persistant le terminal tente la rémission au bout d’un délai aléatoire déterminé selon un certaine loi de distribution (exponentielle par exemple). Dans les deux cas, le temps peut être « découpé » en périodes élémentaires de durée Ts (reliée au temps de propagation). Tous les terminaux sont synchronisés et testent le canal en début de période. Dans le cas du persistant, on voit donc que lorsqu’on a deux terminaux ou plus qui sont prêts à émettre pendant une même période Ts, il émettront tous et rentreront en conflit avec une probabilité de 1.
Modèles
383
D’où l’idée de transmettre au bout d’un temps aléatoire pour minimiser les probabilités de conflit. Le type CSMA CD p-persistant. C’est une évolution du non persistant. Après une collision, l’émetteur réémet immédiatement avec une probabilité p, et sinon (avec la probabilité 1-p) attend une durée Ts, puis recommence la même procédure. Efficacité Etudions le comportement et particulièrement l’efficacité de ces protocoles, à partir de la configuration de principe suivante. Hub
LAN
1
A
2
N
B
τ Figure 9.5. Configuration Ethernet
Soit m la durée d’occupation du bus par un message ; N le nombre de stations connectées au bus ; τ la durée de test de la liaison (égale de la durée de propagation entre les stations A et B, les plus éloignées physiquement l’une de l’autre) ; Ts : le temps est divisé en intervalles de durée Ts , égale à 2 fois le temps de propagation τ. La spécification physique de la Rec IEEE 802.2 donne Ts = 512 temps bit pour 5 km, ce qui correspondrait à 51,2 µs à 10 Mbit/s (c’est le cas le pire, en pratique ce sera plus rapide car les LAN seront plus courts). On calcule d’abord le temps virtuel de transmission d’un message, c’est-à-dire le temps nécessaire pour transmettre avec succès un message entre deux stations A et B. Il faut d’abord m unités de temps à A pour transmettre le message. Puis il faut que B attende le délai τ
384
Trafic et performances des réseaux de télécoms
pour détecter la fin de transmission compte tenu du délai de propagation. Le temps minimal de transmission est donc m + τ. Considérons maintenant le cas d’une collision : A a commencé à transmettre un message et B décide aussi de transmettre juste avant que le message de A ne lui arrive. B a testé l’absence de message pendant τ, il faut encore τ pour que A détecte la collision. On a donc un délai Ts égal 2 τ pour détecter une collision. Supposons qu’il faille k périodes Ts pour résoudre le conflit, on a alors l’expression du temps virtuel de transmission : t = m + τ + k 2τ
(9-24)
Calculons k, k dépend bien sûr de la stratégie de retransmission. Pour Ethernet avec CSMA CD persistant le modèle simplifié suivant traduit bien la réalité : – soit π la probabilité de réussite à chaque intervalle Ts = 2τ. Alors : ∞
k = ∑ xπ (1 − π ) x −1 = 1
1
π
(9-25)
– soit p la probabilité pour une station de tenter la transmission pendant Ts, et soit N le nombre de stations. La probabilité de réussite pour une station est alors :
π = Np (1 − p ) N −1 Sachant que cette probabilité est optimale pour p = 1/N, on choisit :
π = (1 −
1 N −1 ) , soit π = e−1 , N → ∞ N
(9-26)
Et finalement la valeur moyenne du temps virtuel de transmission est : t = m + τ + 2eτ
On définit alors l’efficacité du protocole par le rapport :
(9-27)
Modèles
E=
m m + τ + 2eτ
385
(9-28)
qui est le taux d’occupation maximal du LAN.
τ
1 1 + (1 + 2e)a m On en déduit que pour obtenir des rendements supérieurs à 0,6 il faut a < 0,1.
On note généralement a =
et donc E =
L’intérêt de l’utilisation d’un tel LAN est donc généralement conditionné par cette relation qui implique d’ajuster la longueur des messages au temps de propagation et de détection de collision. Exemple de calcul du délai de détection de collision Ts Nous donnons un exemple de calcul simplifié de ce délai dans un cas réel d’application car son réglage est fondamental pour l’efficacité du protocole, ainsi que nous venons de le voir, et surtout nous voulons mettre en évidence l’impact important des temps de traversées des couches physiques du hub et des stations. Précisons d’abord que la période de temps pendant laquelle peut normalement se produire la collision correspond à la durée de transmission d’un préambule de 7 octets (valeur typique), plus la durée de transmission de l’octet SFD (Start Frame Delimiter), plus la durée de transmission des 64 premiers octets de la trame Ethernet. Soit t0 l’instant de fin d’émission sans collision d’un message par une station i. A cet instant, la station i démarre son IPG (Interframe Gap Time) de durée Dg. On prend t0 comme origine. Soit t1 l’instant auquel le dernier bit du message de i est vu par toutes les autres stations (au niveau physique). Ce temps est égal au temps de propagation Dp entre la station i et le hub, plus le temps de traversée du hub Dh, plus le temps de propagation entre le hub et les autres stations, Dp, plus un temps de traversée de la couche physique dans les stations Ds. t1 = Dp + Dh + Dp + Ds
386
Trafic et performances des réseaux de télécoms
Soit t2 la date à laquelle la station i émet son premier octet de préambule d’un message à destination de j : t2 = t0 + Dg Soit t3 le temps auquel la station j émet son premier octet de préambule. Elle le fait à t1 plus , cas pire, Dg : t3 = t1 + Dg Soit t4 le temps auquel le premier octet de préambule de i arrive en émission sur le port j du hub. C’est t2 plus le temps de traversée de la couche physique de la station i, plus le temps de propagation, plus le temps de traversée du hub : t4 = t2 + Ds + Dp + Dh Soit t5 le temps auquel le premier octet de préambule de j arrive au hub. C’est t3 plus un temps de traversée de la couche physique de la station, plus le temps de propagation Dp de j au hub : t5 = t3+ Ds + Dp Soit t6 le temps auquel le signal de présence de message pour réception est vu par j. C’est t4 plus le délai de propagation du hub vers j, plus le temps de détection station (que l’on assimile au temps de traversée de la couche physique) : t6 = t4 + Dp + Ds. On a donc : t5 = Dp + Dh + Dp + Ds + Dg + Ds + Dp t6 = Dg + Ds + Dp + Dh + Dp + Ds On constate donc que la couche physique de la station j détecte en t6 l’arrivée d’un message alors qu’elle s’apprête à émettre. En t5 le hub détecte la collision sur son port j. Et, enfin, la station i recevra le signal de collision en Ts. La station va alors passer au repos (Idle) et le processus de tentative d’accès va recommencer pour toutes les stations :
Modèles
387
Ts = t5+ Dh + Dp + Ds Ts = Dp + Dh + Dp + Ds + Dg + Ds + Dp + Dh + Dp + Ds
Une bonne approximation du délai recherché est donc : Ts = 4 Dp +2 Dh +3 Ds + Dg Des ordres de grandeur des délais sont : Dp = 5,7 ns par mètre Dh = 46 temps bit (exemple pour un « hub » 10 Mbit/s, un temps bit égal 0,1 µs) Ds = 24 temps bit Dg = 96 temps bit Pour un Ethernet à k × 10 Mbit/s et des longueurs de hub à station de L mètres : Ts = 4L × 5,7ns + 260 × 100 ns/k On obtient les valeurs typiques du tableau 9.1. Longueur du LAN
L = 1000 m
L = 100 m
L = 10 m
Débit
Valeur de Ts
10 Mbit/s
22,8 + 26 = 48,8 µs
100 Mbit/s
22,8 + 2,6 = 25,4 µs
1000 Mbit/s
22,8 + 0,26 = 23,06 µs
10 Mbit/s
2,28 + 26 = 28,28 µs
100 Mbit/s
2,28 + 2,6 = 4,88 µs
1 000 Mbit/s
2,28 + 0,26 = 2,54 µs
10 Mbit/s
0,228 + 26 = 26,22 µs
100 Mbit/s
0,228 + 2,6 = 2,82 µs
1 000 Mbit/s
0,228 + 0,26 = 0,48 µs
Tableau 9.1. Délai de détection de collision
388
Trafic et performances des réseaux de télécoms
Ceci montre bien l’influence importante des temps de traversée des couches physiques et des temps de transmission. Par la suite, dans nos applications et dans un exemple de dimensionnement au chapitre 10, nous retiendrons les valeurs typiques de 50 µs et 10 µs. Considérons le cas de la signalisation entre nœuds d’un réseau de stations ou d’échanges de paquets VoIP d’une longueur moyenne de messages de 200 octets. Pour respecter une efficacité de 0,6 il faut des distances maximales entre stations et hub d’environ 100 m à 10 Mbit/s, 10 m à 100 Mbit/s. Considérons maintenant le cas d’échange de données de type fichiers en paquets IP de 1 500 octets, il faut des distances maximales de 1 000 m à 100 Mbit/s, et de 100 m à 1 000 Mbit/s. Ceci met en évidence l’impact fondamental de la longueur des messages. Temps de transfert Nous développons ici une expression approchée du temps de transfert. Nous avons établi que la valeur moyenne du temps virtuel de transmission est : t = m + τ + 2eτ
Nous pouvons désormais considérer ce temps comme le temps de service du LAN, et donc évaluer le temps de réponse comme celui d’un serveur de type M/G/1. Si λ est le taux d’arrivée des messages à transmettre sur le LAN, alors son taux d’occupation est :
ρ = λ t = λ (m + τ + 2eτ ) L’attente avant transmission est : w=
λ (t 2 ) 2 1 − λ (m + τ + 2eτ )
{
}
Modèles
389
et le temps de transfert est approximativement : tf ≈
λ (t 2 ) + m + τ + 2eτ 2 1 − λ (m + τ + 2eτ )
{
}
En outre, compte tenu de ce qui a été vu précédemment, il est clair que le système pour être efficace doit remplir certaines contraintes sévères et notamment celle correspondant à a =
τ
m
< 0,1. Compte tenu alors
des ordres de grandeur on écrira : t 2 ≈ m 2 + (4e + 2)τ m + (2e + 1) 2τ 2
et donc finalement : tf ≈
λ (m 2 + (4e + 2)τ m + (2e + 1)2 τ 2 ) τ + m + + 2eτ 2 2 1 − λ (m + τ + 2eτ )
{
}
Cette expression donne des résultats suffisamment précis dans les cas réels d’application. Une expression plus détaillée est donnée dans la littérature [BUX 81]. Et la valeur limite pour des valeurs très petites de a sera : tf ≈
λ (m2 ) +m 2(1 − λ m)
Rappelons aussi que dans le cas de longueurs de trames suivant une 2
loi exponentielle on a : m 2 = 2m , et dans le cas de longueurs de trames constantes, m 2 = m 2 . 9.1.6. Benchmarks, modélisation processeur Il s’agit ici d’évaluer la capacité de traitement d’un nouveau système, ou d’une nouvelle version de ce système par l’utilisation par exemple de processeurs ou plateformes plus rapides.
390
Trafic et performances des réseaux de télécoms
S’il s’agit d’une évolution technologique simple, l’utilisation d’un benchmark, ou logiciel de test de performance, s’impose. Dès que possible, on fera exécuter un extrait significatif du code à exécuter sur la nouvelle machine afin de mesurer l’évolution des temps d’exécution. Dans des applications de télécommunication, il sera assez facile de définir la mesure des primitives les plus fréquentes de communication (send, receive) ainsi que la mesure de traitements typiques au niveau applicatif. Cependant, bien souvent, à l’instant du cycle de vie où nous nous plaçons, il n’est pas encore vraiment possible de faire exécuter du code significatif sur les machines, et les évolutions sont souvent complexes (processeur, mais aussi mémoire, bus, etc.). Des informations sur l’évolution possible des performances peuvent être obtenues à partir de résultats de benchmarks publiés dans la littérature, ou sur le Web, par les utilisateurs ou par les constructeurs. On trouve ainsi les résultats connus sous le terme SPEC Integer, issus de l’organisation System Performance Evaluation Corporation, organisation de fabricants de l’industrie informatique, qui développe des benchmarks et publie les résultats périodiquement. On trouve ainsi des Specs XYZ, avec XYZ désignant le type de Spec et l’année. Par exemple, on a des Spec CPU 95, 2000, etc. caractérisant les performances des systèmes de type plutôt centre de calcul. Mais on trouve aussi des Spec Server, ou Web, plus adaptés aux performances des applications de type serveur ou Web… Les résultats publiés constituent avant tout des points de comparaison entre machines (CPU, mémoire, compilateur...), sous des conditions bien précises d’utilisation des machines, comme nous allons le préciser un peu plus loin (type de logiciel exécuté, taux de cache, bus, etc.). Ces résultats sont donc à manipuler avec beaucoup de précautions, mais peuvent donner cependant quelques indications sur les performances potentielles des produits. On peut distinguer le cas du simple remplacement d’un processeur par une nouvelle version plus rapide de ce processeur, et le cas de l’utilisation d’un nouveau processeur d’une autre famille. Dans le premier cas, on peut estimer le gain sur la base des rapports des Spec integer. Dans le deuxième cas, les Spec integer sont rarement significatifs, il faut estimer les performances par une analyse plus détaillée du
Modèles
391
comportement du processeur, compte tenu des caractéristiques du logiciel à exécuter. On donne ci-après un modèle typique de comportement. L’organisation de principe d’une carte processeur est présentée schématiquement figure 9.6. Processeur et cache primaire Bus interne
Contrôleur Mémoire privée
Contrôleur Entrées sorties
Cache secondaire
Mémoire privée
Mémoire d’échange
Contrôleur De bus ext.
Bus externe
Figure 9.6. Schéma général d’une carte processeur
Un processeur est caractérisé par sa fréquence interne, sa capacité de cache, la vitesse de son bus interne, sa capacité mémoire privée. Sa communication avec d’autres processeurs est caractérisée par sa capacité mémoire d’échange et sa capacité en bus externes. Sa fréquence d’horloge interne fi : elle exprime la valeur du cycle de base ci = 1/fi , et donc la valeur minimale du temps d’exécution d’une instruction processeur. On a la relation : 1 instruction = p cycles + délai d’accès mémoire. Avec p au moins égal à 1 pour les processeurs actuels (architecture interne à multiprocesseurs et pipe). Les délais d’accès mémoire sont à rajouter dès que le code opération ou l’opérande ne sont pas présents dans le cache primaire. Le
392
Trafic et performances des réseaux de télécoms
processeur, là aussi, doit exécuter un certain nombre de cycles dont la valeur est fonction de la vitesse d’accès (bus local ou bus externe). On va considérer le cas d’un processeur équipé d’un cache primaire (exécution directe en p cycles de durée cp), d’un cache secondaire (accès en si cycles de durée cs), et d’une mémoire privée (accès mémoire à travers le bus, accès en bi cycles de durée cb). On appelle taux de hit instruction primaire et secondaire, les probabilités de trouver le code à exécuter respectivement dans les caches primaire et secondaire : hip, his. Si le code correspondant à l’instruction n’est pas dans le cache primaire, il faut aller le chercher (ligne par ligne) dans le cache secondaire, sinon dans la mémoire privée, et rafraîchir le cache primaire. De même pour les données associées aux instructions : si la donnée n’est pas dans le cache primaire, il faut des délais supplémentaires pour aller la chercher dans le cache secondaire (sd cycles) ou en mémoire privée (bd cycles). On définit aussi un taux de hit données, primaire et secondaire : hdp, hds. On appelle di le taux de lecture de données associées aux instructions (pourcentage d’accès aux données par instruction). Enfin, comme nous traitons de systèmes mettant en jeu beaucoup d’échanges entre processeurs, nous avons aussi le temps d’accès à des données externes via les mémoires d’échanges (là où peuvent se trouver les files d’attente en émission et réception par exemple). On appelle de ce taux de lecture de données d’échanges, e le nombre de cycles d’accès de durée ce et te le temps de lecture de la mémoire d’échange. On a donc la relation suivante pour la durée d’exécution moyenne d’une instruction : I = hip . pc p + (1 − hip ) ( his .si .cs + (1 − his ).bi .cb ) + d i (1 − hdp )
( hds .sd .cs + (1 − hds )bd .cb ) + d e .(e.ce + te )
(9-29a)
Modèles
393
L’évaluation des valeurs associées à ces paramètres est de deux natures. D’une part, on trouve dans les notices des constructeurs de composants les éléments qui permettent de chiffrer les nombres de cycles nécessaires pour les différents cas d’accès (aux caches ou non) et donc de déterminer les durées d’accès en fonction des vitesses de bus. Par exemple, si la fréquence du processeur est 266 MHz, on en déduira cp = 3,76 ns, et si la fréquence du bus externe est 66 MHz, on aura cb= 15,15 ns, et on trouvera en outre p = 1 et bi = 12 par exemple (voir exemples ci-après). D’autre part, il faut déterminer à partir du code à exécuter les taux de cache, d’accès aux mémoires d’échanges, etc. Ceci ne peut s’obtenir que par l’analyse des différents types d’applications, par l’expérience et l’analogie à des mesures précédentes, ou bien sûr par des nouvelles mesures dès que l’on dispose d’un peu de code. On notera l’importance relative des différents paramètres. Par exemple, le temps d’accès à des données en mémoire privée, ou à la mémoire d’échange, peut être de plusieurs centaines de ns (par exemple 150 ns) et encore bien plus grand s’il fallait aller chercher l’information dans une mémoire externe via le bus externe (par exemple 500 ns). Et donc la durée de l’instruction sera totalement différente selon que l’on a un taux de hit important ou non, et selon que l’on a une application avec beaucoup d’échanges externes ou non. On comprend là, toute la prudence qu’il faut avoir vis-à-vis de l’usage des Spec integer. La valeur du gain théorique pouvant extrêmement varier selon le type d’application considéré. Nous allons prendre trois cas très simples. Exemple 1. Dans un premier cas nous n’avons que du code répétitif qui se trouve en majorité dans le cache primaire, sinon en mémoire privée, de même pour les data, et un taux d’échanges externes ramené à l’instruction infime (< 10-3). Ce cas peut correspondre à l’exécution de programmes de calcul. En outre, dans le cas de programmes linéaires, toute instruction non présente dans le cache implique du fait du rapatriement par groupe de 8 instructions, la présence des 7 autres instructions suivantes dans le cache. Le taux de hip est donc au minimum de 0, 875.
394
Trafic et performances des réseaux de télécoms
On admet hip = 0,9 et cp = 3,76 ns (processeur à 266 MHz). La lecture de la mémoire privée se fait en 12 cycles à travers le bus à 66 MHz et par ligne de 32 octets soit 8 instructions à la fois. On a donc bi = 12 et cbi = 1/8 × 66 MHz = 1,9 ns. On suppose un taux d’accès aux data par instruction di = 0,6. On suppose aussi hdp = 0,9, sinon la data est en mémoire privée. La lecture des datas en mémoire privée se fait par instruction par ligne de 32 octets, et se fait en 10 cycles. (A noter que l’on ne rapatrie que la data d’une instruction à chaque fois). On a donc bd = 10 et cbd = 15,1 ns. La valeur de l’instruction est donc dans ce cas : I = 0,9 × 3,76 + 0,1 × 12 × 1,9 + 0,6 × 0,1 × 10 × 15,1 = 14,7ns Exemple 2. Prenons maintenant le cas d’un logiciel faisant toujours très peu d’échanges externes mais exécutant du code avec de nombreux changements de contextes. Ce cas peut correspondre à un processeur central de traitement d’appel. Comme précédemment les instructions sont, soit dans le cache primaire, soit dans la mémoire privée. De même pour les datas. Mais cette fois on prend hip= hdp= 0,6. La valeur de l’instruction est donc dans ce cas : I = 0,6 × 3,76 + 0,4 × 12 × 1,9 + 0,6 × 0,4 × 151 = 47,6 ns Soit une durée moyenne plus de trois fois plus grande que dans le cas précédent. On constate l’impact considérable du taux de cache. Exemple 3. Enfin prenons le cas d’un logiciel dédié à des échanges externes. Ce cas peut correspondre à un processeur de prétraitement, spécialisé dans les échanges, dans le cas d’un système distribué. Nous supposons des machines plus spécialisées avec un logiciel limité. On prend hip = hdp = 0,8 mais on suppose cette fois un taux d’accès à la mémoire d’échange ramenée à l’instruction de = 0,5 %.
Modèles
395
L’accès à la mémoire d’échange locale se fait à travers le bus à 66 MHz en 10 cycles. Par message, il faut environ 10 accès pour la gestion des files (par exemple la mise à jour des pointeurs). Soit e = 100, ce = 15,1 ns. Le transfert du message lui-même nécessite 5 cycles par bloc de 8 octets. Et donc, par exemple, pour un message de 100 octets : te = 62,5 × 15,1 = 944 ns. La valeur de l’instruction est donc dans ce cas : I = 0,8 × 3,76 + 0,2 × 12 × 1,9 + 0,6 × 0,2 × 151 + 0,005 × (1 510 + 944) = 37,9ns Soit une durée moyenne intermédiaire entre les deux cas précédents. On aurait pu aussi étudier le cas d’un processeur dédié non seulement aux échanges mais aussi aux traitements. Il aurait alors fallu prendre des taux d’efficacité des caches un peu moins importants. De l’étude précédente, on pourra retenir le modèle simplifié suivant (où notamment on ignore le cache secondaire) : I = hip .tic + (1 − hip ) ( tim ) + di (1 − hdp ) ( tdm ) + d e .(ae + te )
(9.29b)
avec les valeurs numériques suivantes pour un processeur à 266 MHz : I = hip .3,76ns + (1 − hip ) ( 23ns ) + di (1 − hdp ) (151ns ) + d e .(1510ns + 944ns )
(9.29c)
Nous donnerons un exemple d’application de ce modèle au calcul de la capacité d’un système au chapitre 10. 9.1.7. Le système à disque Le disque constitue un élément essentiel des systèmes de télécommunication, du fait de son énorme capacité de stockage des informations : plusieurs dizaines de Giga-octets (9, 18, 36, 72 Go ou GBytes), par exemple. Les utilisations en sont multiples, dans les serveurs (sur le Web, dans les réseaux fixe et mobile), comme dans les systèmes d’exploitation des réseaux de télécommunication (récolte
396
Trafic et performances des réseaux de télécoms
des observations, stockage de la taxation). L’évaluation de son temps de service est donc un élément important de l’évaluation des performances des systèmes qui l’utilisent (temps de réponse d’un serveur par exemple). Et ceci, d’autant plus qu’ici interviennent des éléments mécaniques qui conduisent à des durées d’exécution d’un tout autre ordre de grandeur que celles des processeurs. Un sous-système avec disque peut être schématisé par la figure 9.7. bus I/O
Contrôleur disque
disque
File processeur cylindre Cache disque piste Bras de lecture secteur Translation du bras Rotation du disque
Figure 9.7. Architecture d’un sous-système à disque
Décrivons les actions nécessaires à une lecture sur disque (le parallèle s’établit aisément pour une écriture). Une requête est mise en file dans le contrôleur système d’entrée sortie (il peut y avoir eu effet de cache auparavant pour éviter une entrée/sortie inutile, mais ceci fait partie de la modélisation processeur comme pour les accès mémoire). Le contrôleur de disque assure l’interface avec le système (processeur) via le bus d’entrée sortie, et gère intelligemment les accès au disque en minimisant les lectures et écritures. Pour cela il dispose d’un buffer pour réaliser deux grandes fonctions distinctes : le prefetch (ou read look ahead), et la fonction cache disque, que nous décrirons un peu plus loin. Une taille courante de buffer est 2 Mo. Il existe deux grands
Modèles
397
types de contrôleurs : IDE (Integrated Drive Electronic interfaces) et SCSI (Small Computer System Interface). Le SCSI permet de gérer un plus grand nombre de périphériques et est adapté aux applications multitâches sur machines de type serveur. Un disque est composé de plusieurs plateaux à double face (par exemple : 4 plateaux et 8 têtes de lecture). Une face comporte par exemple 10, 15, ou 20 Go. Sur chaque plateau, l’information est organisée en pistes (20 000 à 30 000 pistes de par exemple 200 ko par piste), et chaque piste est découpée en secteurs de même taille (de 512 à 4 096 octets). L’ensemble des pistes de même rang des plateaux forme un cylindre. Pour lire un bloc il y aura donc trois opérations : sélection de la piste, rotation du disque et lecture (transfert) de l’information. Il y a d’abord déplacement horizontal du bras de lecture pour se positionner sur la bonne piste/cylindre (temps de recherche tS). On notera que ce temps est d’autant plus court que les informations sont proches du bord du disque. C’est ce que favorisent certains systèmes d’exploitation. Et c’est ce qui est d’autant plus possible, pour une même quantité d’informations, qu’on a plus de plateaux ! (pour simplifier on ne tiendra pas compte ici de cette optimisation, de même qu’en réalité il y a plus d’informations sur les bords...). Puis il y a rotation du disque pour se positionner sur le bon secteur (temps de latence tL).Ce temps dépend de la vitesse de rotation du disque et de la distance du bloc recherché par rapport à l’emplacement du bras. Il y a ensuite transfert du bloc, du disque au contrôleur de disque (temps de transfert tT). Ce temps de transfert dépend bien sûr de la quantité d’informations à lire, de la vitesse de rotation du disque, mais surtout de la densité d’informations possible sur la piste. Enfin, on appelle (tC) le temps de traitement au niveau du contrôleur (réception de la demande de lecture, ou d’écriture, et transfert de l’information au processeur). Modélisation Temps de service disque en lecture Une requête de lecture d’un bloc d’information (« READ ») précise l’adresse du premier secteur du bloc à lire et sa longueur exprimée en nombre de secteurs.
398
Trafic et performances des réseaux de télécoms
La lecture des secteurs Pour des raisons mécaniques associées à la rotation du disque, sur une piste, il y a un gap entre secteurs. Lorsque les buffers étaient petits la lecture ne pouvait se faire que secteur par secteur, et le buffer devait avoir transféré son information au processeur pendant la durée du gap, avant de pouvoir réceptionner le secteur suivant. Sinon, il fallait attendre une rotation complète du disque pour lire le lecteur suivant ! Ce problème était particulièrement important avec des petites tailles de cache. La technique d’entrelacement (interleave) permettait cependant de s’affranchir de ce phénomène en rallongeant le gap par insertion de secteurs physiques entre deux secteurs logiques consécutifs (les adresses logiques ne correspondent pas forcément aux adresses physiques). Les systèmes disposant désormais de caches importants (2 Mo), nous négligerons ce phénomène. D’autant plus que même au niveau d’une lecture consécutive de plusieurs pistes, on peut utiliser aussi en début de piste une astuce semblable, l’offset (track skew), pour éviter le besoin d’un tour complet supplémentaire. Le « prefetch » En mode prefetch, le buffer est rempli par les secteurs logiques du disque immédiatement derrière celui demandé par la requête. Désormais, vu la taille des buffers, on peut rapatrier toute une piste. Ainsi, si les requêtes suivantes sont relatives à des blocs consécutifs, ou de cette même piste, les informations seront déjà dans le buffer. On évite ainsi des accès disques (déplacement du bras, rotation, etc.). Si cela se produit on dit qu’il y a hit prefetch, sinon on dit qu’il y a miss. Ce mode est particulièrement efficace lorsqu’on a des séquences de requêtes concernant des blocs consécutifs (on parle de run). C’est le cas d’un environnement de type serveur où on recherche de grandes quantités d’informations de manière séquentielle. Le cache En mode cache, comme pour le cache mémoire, le contrôleur garde en mémoire les blocs secteurs déjà accédés et stockés dans le buffer. Sur une demande de lecture, si l’adresse demandée est déjà dans le cache, le contrôleur transmet tous les blocs subséquents au processeur. Sinon il y a accès disque, transfert dans le buffer, puis transfert au processeur. Comme pour la mémoire l’efficacité dépend du taux de hit cache. Le mode cache est particulièrement approprié quand on a des
Modèles
399
accès répétitifs à de petits segments de données, et souvent les mêmes. Ce mode convient par exemple à des environnements de type desktop. Modèle Compte tenu de l’analyse précédente on évalue le temps moyen de service du serveur à disque tD, par requête, par : – mode prefetch de k secteurs : c tD = tC + (1 − hpf ) tS + d + tTk 2
(9-30)
En effet, si les blocs recherchés sont déjà dans le buffer il n’y a qu’un temps contrôleur tC. Sinon, avec la probabilité (1-hpf), il faut un déplacement de bras de valeur moyenne tS, plus un demi-tour de disque en moyenne pour atteindre le premier secteur de valeur tL = cd/2, puis le transfert des k secteurs consécutifs, et bien sûr le temps de traitement du contrôleur comme précédemment ; – mode prefetch piste : dans ce cas on peut tout rapatrier sans même chercher à positionner le bras sur le premier secteur. C’est le contrôleur qui remettra les informations en ordre : tD = tC + (1 − hpf )(tS + tTp )
(9-31)
– mode cache : c’est le même type de formule, avec hc taux de hit cache : c tD = tC + (1 − hc ) tS + d + tTk 2
(9-32)
Exemple d’application Considérons le cas de séquences de requêtes de longueur n (il y a n requêtes consécutives concernant la lecture d’un total de k secteurs consécutifs, on dit aussi un run de longueur n). Le taux de miss de prefetch est alors 1/n. Le temps de service du disque par requête est alors :
400
Trafic et performances des réseaux de télécoms
c 1 tD = tC + tS + d + tTk 2 n
tC est de l’ordre de grandeur quelques centaines de µs. On prendra une valeur de 200 µs ; tS est donné par le constructeur et a une valeur moyenne de l’ordre de grandeur quelques ms. Pour un disque de type 18 GB-SCSI, on a par exemple une valeur de 6 ms. cd dépend de la vitesse de rotation du disque donnée en général en tours par minute. Pour un disque de type 18 GB-SCSI, à par exemple 7 200 tours par minute (RPM), on a cd = 8,3 ms. tTk dépend du nombre k de secteurs transférés et de la vitesse de transfert (donnée par le constructeur). Supposons un prefetch de 60 secteurs de 2 048 octets à une vitesse de transfert de 20 Mo/s (valeur courante). On obtient alors tTk = 6ms. Et finalement pour des séquence de longueur moyenne n = 5, lisant chacune en moyenne 12 secteurs, on obtient : tD = 0,2ms + 0,2(6ms + 4,15ms + 6ms) = 3,4 ms Supposons maintenant le transfert de toute la piste : tD = tC + (1 − hpf )(tS + tTp )
Prenons une piste de 200 ko, et toujours une vitesse de transfert de 20 Mo/s (le lecteur notera la cohérence avec la vitesse de rotation du disque à 7 200 tours/mn). On obtient tTp = 10 ms. Et donc : tD = 0,2ms + 0,2(6ms + 10ms) = 3,4 ms On obtient le même temps de service. Il s’agira donc en pratique d’estimer au mieux les caractéristiques des requêtes (valeur du run, nombre de secteurs, etc.) pour choisir la meilleur stratégie en fonction des caractéristiques du disque. L’avantage à une solution ou à une autre dépendra énormément de toutes ces caractéristiques (demandes et disque). Temps de service en écriture L’usage du cache disque en écriture est très différent. En effet, il n’est utilisé que pour y stocker au passage les blocs à écrire et renvoyer rapidement un acquittement d’écriture (« GOOD ») au processeur, avant d’écrire réellement sur le disque. Le problème est qu’avec ce
Modèles
401
mode de fonctionnement il y a perte d’information si l’écriture se passe mal, ou s’il y a une panne. En pratique, on utilisera plutôt la méthode du regroupement au niveau application. Le processeur regroupe plusieurs requêtes d’écriture en une seule, et ne libère son buffer d’émission qu’après avoir reçu l’acquittement d’écriture réelle sur disque. Le gain en performance est évident (un seul déplacement de bras, une seule rotation), et la fiabilité est assurée par les redondances au niveau application. Le processeur a par contre un traitement légèrement plus complexe. Cette méthode est particulièrement adaptée à la sauvegarde de données au fil de l’eau, comptes de taxation par exemple, fonction fondamentale pour un exploitant ! Si n est le nombre moyen de requêtes d’écritures qui peuvent être regroupées en une seule écriture (« WRITE ») d’un total de k secteurs, alors le temps de service est : c 1 tD = tC + tS + d + tTk 2 n
(9-33)
Exemple d’application Soit un collecteur de taxes. Il reçoit les taxes issues des centraux de télécommunication. Ces détails de taxes (qui servent à la facturation détaillée par exemple) sont transmis en temps réel à l’issue de chaque communication. Un détail de taxe correspond à un message d’environ 100 octets. Il ne serait bien évidemment pas efficace de transmettre un message à chaque appel, ni de réaliser une écriture disque à chaque message. Aussi les centraux regroupent les détails de communication par blocs, de 20 par exemple, donc des messages de 2 ko. Ce délai de « paquétisation » dans l’émission ne pénalise pas beaucoup l’aspect temps réel de la sauvegarde, sachant que le trafic est de l’ordre de centaines d’appels par seconde. Puis le collecteur de taxes les rassemble en groupements de 16 ko (8 blocs) pour effectuer les sauvegardes sur disque et renvoyer un acquittement global au centre (qui a gardé mémoire de ces groupements jusqu’à leur acquittement). Pour un trafic taxé de 1 000 appels par seconde (c’est le trafic départ d’un gros centre d’abonné), le collecteur de taxes a donc à traiter 50 messages/s et 6,25 écritures disques/s.
402
Trafic et performances des réseaux de télécoms
Supposons un temps de traitement processeur par message de 1ms (incluant les opérations de groupement et d’acquittement). La charge processeur est donc de l’ordre de 50 %. Supposons notre disque avec les mêmes caractéristiques que précédemment (7 200 tours/mn, etc.), le temps d’écriture de 16 ko à 20 MB/s est 0,8 ms et le temps de service par groupement est : tD = 0,2ms + (6ms + 4,15ms + 0,8ms) = 11,15 ms (Notons que ce temps peut être encore réduit si on peut assurer des écritures séquentielles.) Soit une « charge » disque d’environ 70 %. On voit bien ici comment le disque est le goulet d’étranglement et combien il était impératif d’optimiser les écritures. 9.1.8. Gestion d’un pool par blocs Nous cherchons ici à déterminer la taille d’un pool de ressources organisé par blocs. Soit un pool de ressources organisé en blocs de n ressources, auquel sont offerts plusieurs courants de trafic. Combien de blocs faut-il prévoir pour une probabilité donnée de manque de ressource, sachant en outre qu’il n’y a pas réarrangement des ressources libres entre plusieurs blocs ? Ce problème correspond à la fois à celui de l’affectation de place mémoire par blocs (gestion de contextes, gestion de données pour différents types de transactions), et aussi à celui de l’affectation de cellules ATM en technique AAL2 pour la voix sur ATM par exemple (VoATM), et enfin au problème de base de la prise de circuits sur plusieurs faisceaux avec débordement. Et toujours sans réarrangement, soit parce que le service ne supporte pas d’interruption, soit pour simplifier la réalisation. Ce modèle, comme celui du lien Ethernet, couvre aussi bien le domaine de la commande que celui du transport. La figure 9.8 représente le problème de base.
Modèles
A1
1
Ai
403
1
N1 1
Ni 1
S1
Si
Figure 9.8. Gestion d’un pool de ressources par blocs
Des trafics d’intensité Ai sont offerts respectivement à des blocs de Ni ressources (serveurs). Un autre bloc de Si ressources doit être pris si les Ni premières ressources ne suffisent pas. On ne considère pour l’étude qu’un seul bloc affecté initialement. Le problème se généralise aisément à ki blocs initiaux, auxquels viendra se rajouter si nécessaire un bloc supplémentaire. Considérons d’abord un seul courant de trafic A = λ/µ, avec λ le taux d’arrivée des demandes et µ le taux de service. Le calcul de la probabilité de demande d’un autre bloc s’effectue à partir des équations d’état, selon un chaîne de Markov comme suit, nous suivons ici la démonstration de Brockmeyer. On note respectivement n le nombre de ressources prises dans le premier bloc et s celui du deuxième bloc. Le comportement du premier bloc de N places suit un processus de naissance et de mort avec un nombre d’états limité à N. Celui du bloc de débordement est un pur processus de mort tant que n < N. Le deuxième bloc ne reçoit de nouvelles prises que lorsque le premier bloc a atteint l’état N. Son processus d’occupation devient alors aussi un processus de naissance et de mort. Appelons Psn la probabilité de l’état (n, s) du système. Les équations « du futur » suivantes s’écrivent aisément :
404
Trafic et performances des réseaux de télécoms
P00 (t + ∆t ) = P10 (t ).µ1∆t + P01 (t ) µ1∆t + P00 (t )(1 − λ∆t ) Psn (t + ∆t ) = Psn −1 (t ).λ∆t + Psn+1 (t ) µ∆t + Psn +1 (t ) µn +1∆t + Psn (t )
[1 − (λ + µ n + µ s)∆t ]
PsN (t + ∆t ) = PsN −1 (t ).λ∆t + PsN−1 (t )λ∆t + PsN+1 (t ) µ s +1∆t + PsN (t )
[1 − (λ + µ N + µ s)∆t ]
PSN (t + ∆t ) = PSN−1 (t ).λ∆t + PSN −1 (t )λ∆t + PSN (t ) [1 − ( µ N + µ S ) ∆t ]
et à l’équilibre on obtient : P00 A − P10 − P01 = 0 Psn ( A + n + s) − Psn −1 A − Psn +1 (n + 1) − Psn+1 ( s + 1) = 0
(9-34)
PsN ( A + N + s ) − PsN −1 A − PsN−1 A − PsN+1 ( s + 1) = 0 PSN ( N + S ) − PSN −1 A − PSN−1 A = 0
Pour résoudre ce système introduisons l’expression Srm suivante : Am − v r −1+ v ( v ) avec Srm = 0 si m < 0 ou r < 0 v = 0 ( m − v )! m
Srm ( A) = ∑
(9-35)
La solution s’écrit alors : S −i
Pi j = ∑ (−1) x K i + x ( i + xi ) Si j+−xx x =0
S
K k = ∑ (−1)r − k ( kr −−11 ) ar
avec :
et
r =k
ar =
et :
1 S1N + S S rN
S
∑ ( )S v=r
v −1 r −1
K0 =
1 N +S 1
S
(9-36)
N +v 0
Les probabilités des états i du bloc de débordement (états du deuxième bloc) sont données par : N
Q(i) = ∑ Pi j j =0
Modèles S −i
Et donc : Q(i) = ∑ (−1) x K i + x ( i + xi ) SiN+1−+xx
405
(9-37)
x =0
Et finalement la probabilité d’occupation (utilisation) du deuxième bloc est : N
P = ∑ Q (i ) i =1
S −i P = ∑ ∑ (−1) x K i + x ( i + xi ) SiN+1−+xx i =1 x = 0 N
(9-38)
Dans la pratique, nous ferons en sorte que ce seul bloc supplémentaire suffise au besoin du trafic avec une très forte probabilité (en d’autres termes, la probabilité d’avoir besoin d’un troisième bloc est négligeable). Ceci s’évalue avec la simple formule d’Erlang, et sera très généralement vérifié du fait de la taille des blocs. Nous pouvons désormais calculer le nombre total de blocs nécessaires pour D courants de trafic. On simplifie ici le calcul en considérant tous les Ai identiques ( Ai = A, ∀i ), et les blocs de taille identiques. Les courants de trafic étant indépendants, on applique la loi binomiale. La probabilité d’avoir X = 2k+(D–k) blocs « engagés » (pas forcément totalement occupés) est : P ( X ) = CDk P k (1 − P ) D − k
(9-39)
avec P la probabilité calculée précédemment. Le nombre moyen de blocs engagés est : X = [ (1 − P ) + P.2] D
(9-40)
Si on suppose un pool de Y blocs, on peut à partir de ces formules calculer la probabilité de saturation du pool, P(Y), et donc le dimensionner.
406
Trafic et performances des réseaux de télécoms
X . (9-41) Y Les résultats précédents se généralisent au cas où x0 blocs seraient systématiquement pris initialement. Ceci modélise le cas réel, car il faudra en général par courant de trafic une ressource de base de plusieurs blocs, et un seul bloc supplémentaire de petite taille par rapport à la ressource de base.
On a aussi le taux d’occupation du Pool : ρ =
On a alors : P ( X ) = CDk P k (1 − P ) D − k
avec cette fois P(X) probabilité d’avoir X = k(x0+1)+(D–k) x0 blocs « engagés », et le nombre moyen de blocs pris est : X = [ (1 − P ) x0 + P ( x0 + 1)] D
(9-42)
Ces résultats se généralisent encore au cas de flux de trafics différents, en remplaçant la loi binomiale par la loi multinomiale. A titre d’exemple, étudions le cas d’un multiplex à 622 Mbit/s transportant du trafic de parole en technologie ATM (AAL2). Le principe est le suivant : les échantillons de parole de communications allant dans une même direction sont regroupés dans une ou plusieurs cellule(s) ATM, toutes les 125 µs. Sur un tel multiplex, on dispose toutes les 125µs de 183 cellules. Une cellule ATM peut transporter 48 échantillons de parole (48 octets de payload, plus 5 octets de header). Supposons ici qu’on veuille transporter D = 128 courants de trafic identiques, chacun d’intensité A = 28,8 E. On affecte donc initialement x0 = 1 cellule (N = 48 places) à chaque courant, et on lui affectera un deuxième cellule quand nécessaire, laquelle sera libérée lorsqu’elle sera vide. Il faut évaluer la probabilité de manque de cellule, sachant que l’on ne peut affecter en permanence deux cellules à chaque courant de trafic (il en faudrait 256), sinon en réduisant le trafic total traité. La figure 9.9 montre la probabilité d’avoir un certain nombre de cellules engagées.
Modèles
407
3686 E offerts à 128 directions
Log [P(nb de cellules > Nc)]
0 -1 -2
-3 -4 120
130
140
150
160
Nb de cellules actives (x sim ulation - calcul)
Figure 9.9. Distribution du nombre de cellules actives en Pool
La correspondance entre la simulation (points) et le calcul (courbe continue) est excellente. 9.1.9. Répétition d’appels Le modèle décrit le comportement macroscopique des usagers en cas d’encombrement. En effet dans ces circonstances (refus d’appel, attente exagérée, etc.), il se produit un phénomène d’impatience de la part des usagers conduisant à l’abandon puis au renouvellement intempestif des appels. Ces tentatives d’appels consécutives vouées pour leur plus grande part à l’échec, induisent une charge supplémentaire au niveau des ressources du réseau, provoquant encore plus d’encombrement et donc un phénomène d’avalanche tout à fait nuisible à la qualité de service. Ce phénomène est extrêmement important dans la réalité en particulier dans des circonstances de surcharges, de pannes, de déséquilibre de trafic, etc., car on vérifie qu’il conduit même à partir de surcharges initialement légères, à des situations de surcharge extrêmement sévères. Ce sera le rôle de la régulation, ainsi que nous l’expliquerons au paragraphe suivant, de protéger les systèmes et réseaux contre ces phénomènes. Notons en
408
Trafic et performances des réseaux de télécoms
outre que dans ces circonstances les observations de trafic seront à manipuler avec précaution, il sera en effet difficile de distinguer « appels frais » et « renouvellements », et le taux d’échec observé aura une toute autre signification. Le modèle ci-après est un modèle général qui relie le trafic final offert à un serveur (système de traitement, de transport, réseau, etc.), au trafic écoulé en fonction de la probabilité de rejet du serveur, et du taux de persévérance de la source. On caractérise le phénomène par les paramètres suivants : – trafic offert : on notera λ0 le flux de 1ères demandes (tentatives « fraîches »), et λ le flux total observé. Tout client qui se présente devant le service constitue une tentative, qui est un 1er essai ou un renouvellement ; – coefficient de répétition : c’est le rapport β = λ / λ0 , qui mesure l’amplification provoquée par l’encombrement; il permet de relier la demande réelle à l’observation ; – taux de persévérance : dans un modèle très simple, on tient compte du comportement de persévérance de la demande de façon probabiliste : soit H la probabilité qu’une tentative qui échoue se représente une nouvelle fois (un raffinement possible serait de prendre H fonction du rang de la tentative, de la nature des échecs, etc) ; – taux de perte : on note p la probabilité de rejet à chaque tentative; on le suppose constant ; la réalité est plus complexe (le taux d’échec est différent selon le rang de la tentative et l’intervalle de temps entre tentatives) ; – taux d’efficacité : on note r = λe / λ le taux d’efficacité. C’est un taux d’efficacité apparent, car il ne correspond pas au trafic frais λ0 . Mais c’est le seul généralement observable car il est difficile et très coûteux de séparer dans les observations des systèmes et les campagnes mesures les tentatives fraîches des renouvellements. La figure 9.10 donne un schéma de principe du mécanisme d’échec et de répétition.
Modèles
λ0
λ
Système avec congestion
λe
409
Succès
p Rejet H
Répétition 1-H
Abandon
Figure 9.10. Le modèle de répétitions sur échec
On notera λe l’intensité du flux écoulé avec succès, et λrnv le flux provenant des échecs qui donnent lieu à nouvelle tentative. Le schéma permet d’estimer les flux dans chaque branche :
λe = (1 − p )λ λ = λ0 + λ Hp d’où :
λ=
λ0 1 − Hp
, λe =
λ0 (1 − p ) 1 − Hp
(9-43)
soit avec r = 1 − p
β=
1 1 − H (1 − r )
λ0 =
λe βr
(9-44)
(9-45)
Ce modèle doit être compris pour ce qu’il est : il explique les comportements observés, notamment la différence entre la demande fraîche, réelle, et le trafic observé. Ainsi en mesurant les trafics
410
Trafic et performances des réseaux de télécoms
apparent offerts et écoulés, on en déduit le trafic frais pour une hypothèse de taux de persévérance de la source. Une analyse approchée du comportement d’un tel système et une évaluation des différents flux peuvent être effectuées en supposant que le flux résultant des tentatives renouvelées conserve son caractère poissonnien. A titre d’exemple, étudions le cas d’un système modélisé par une file M/M/1/N. On injecte une charge λ0 inconnue. La procédure de mesure fournit λ. On suppose que le flux total résultant reste poissonnien, ce qui en toute rigueur demanderait que l’attente avant renouvellement tende vers l’infini ; on a fait N = 4, et supposé un taux de persévérance H = 0.9 ; le temps de service est pris comme unité. Un échantillon de résultats est le suivant : – pour ρ0 = 0.7 , on mesure ρ = 0.78, p = 0.115 : le calcul sur M/M/1/4 donnerait p = 0.086 ; – pour ρ0 = 0.9 , on mesure ρ = 1.2, p = 0.28 : le calcul sur M/M/1/4 donnerait p = 0.16 ; – pour ρ0 = 1.2 , on mesure ρ = 3.07, p = 0.67 : le calcul sur M/M/1/4 donnerait p = 0.28. On imagine aisément les fausses interprétations qui en découlent : ou bien une mesure de trafic sous-estime le rejet, ou bien une mesure du rejet réel fait surestimer ρ0 . On peut donner un modèle analytique approché de ce système en supposant que le flux résultant des tentatives renouvelées conserve son caractère poissonnien. On estime alors p par le taux de rejet de la file M/M/1/N : p=
ρ N (1 − ρ ) 1 − ρ N +1
Les relations précédentes nous donnaient ρ =
(9-46)
ρ0 1 − Hp
(9-47)
Modèles
411
La résolution est itérative : pour une valeur donnée ρ0 , on choisit une valeur initiale ρ = ρ0 dont on déduit une valeur de p par la seconde formule, donnant alors une nouvelle estimation de ρ, par la première formule, puis une seconde estimation pour p, etc., et ainsi de suite jusqu’à convergence (précision de 1/1000 en quelques itérations). Les résultats sont présentés sur les graphes suivants : (a)Trafic écoulé et perte
(b) Trafic réellement observé
1
5 Trafic Ecoule
0.8
4
0.6
3
Trafic observe
Perte
2
0.4 Trafic observe
1
0.2
0
0 0
0.2
0.4
0.6 0.8 Trafic Offert Frais
1
1.2
1.4
0
0.2
0.4 0.6 0.8 1 Trafic Offert Frais
1.2
1.4
Figure 9.11. Comportement du système M/M/1/N en situation de répétition
Ce modèle s’applique non seulement à un système de commande mais aussi au cas d’un réseau de nœuds indépendants (réseau de transport ou de signalisation) face à des erreurs de transmission entraînant des répétitions. Comportement d’un réseau avec correction d’erreurs de transmission Soit une liaison de bout en bout d’un réseau de transmission de données, telle que les nœuds puissent être considérés comme indépendants (voir plus loin le cas des queues série).
412
Trafic et performances des réseaux de télécoms S1
S2
S3
Figure 9.12. Liaison de bout en bout dans un réseau de données
Quand un nœud est saturé (S3 par exemple), le serveur S2 qui le précède va cependant traiter et émettre un nouveau paquet lui arrivant (le niveau 2 va en faire une trame...) ; arrivé devant le tampon plein de S3, le paquet est rejeté, même s’il est correctement reçu. Le nœud S2, qui ne reçoit pas l’acquittement attendu, doit réémettre une, deux, trois... fois le même paquet : tout se passe comme si le paquet attendait en occupant le serveur S2 et le lien de transmission jusqu’à son émission définitive. Si on note B la probabilité de rejet, la même à chaque étage (on suppose la liaison homogène), et la même à chaque tentative (hypothèses très simplificatrices), alors il y a : – une émission, soit 1 temps de service, avec probabilité 1 – B, – deux émissions, soit 2 temps de service, avec probabilité B(1 – B), – trois émissions, soit 3 temps de service, avec probabilité B 2 (1 − B ) , etc. soit en fin de compte en moyenne 1/(1-B) émissions. Ce qui revient à prendre un temps moyen de service équivalent E(s)/(1-B). Le temps de service croît avec le rejet, mais aussi la charge des équipements de transmission est considérablement augmentée. A l’entrée, on note λ le taux d’arrivée. Le trafic frais offert à chaque étage est λ : il est identique à chaque étage puisqu’on suppose ici que tout rejet est corrigé, chaque paquet occupant le nœud jusqu’à transmission victorieuse. Chaque nœud sera représenté par un modèle M/M/1/N. D’où, encore :
Modèles
B=
a N (1 − a) λ E ( s) , a= N +1 1− a 1− B
413
(9-48)
Les équations sont tout à fait analogues à celles du modèle précédent dans lequel on ferait H = 1, quoique l’interprétation en soit différente. La résolution numérique et le résultat seraient comparables à la courbe du modèle de la section précédente. 9.1.10. Régulation La mise en œuvre de mécanismes de régulation est essentielle pour protéger les systèmes et réseaux contre des surcharges. Notre propos ici n’est pas de détailler un mécanisme particulier mais de mettre en évidence les relations fondamentales qui existent entre les appels (ou transactions) acceptés, rejetés et prioritaires. Le problème est en effet le suivant : le système ou réseau, en cas de surcharge, c’est-à-dire en cas de trafic offert supérieur à sa capacité de traitement, doit à la fois refuser des demandes pour préserver le bon traitement des appels acceptés, mais aussi traiter en priorité certains types de demandes. Ce qui conduit à un certain paradoxe. En effet, d’une part, le système doit refuser des nouvelles demandes car, rappelons le, un serveur saturé a un temps de réponse infini, et surtout, en pratique, dans les systèmes complexes réels, des files vont saturer, des informations vont être perdues et il y a un risque qu’aucune transaction n’aboutisse. D’autre part, même en situation de surcharge, le système doit consacrer une partie de son temps à identifier la nature prioritaire ou non d’une nouvelle demande, pour l’accepter ou la rejeter. Et ceci peut être plus ou moins coûteux, comme dans le cas d’appels vers des numéros urgents (pompiers, police, etc.) pour lesquels il est nécessaire d’analyser l’adresse demandée. On peut alors encombrer le système « inutilement », la proportion d’appels réellement prioritaires étant faible. On voit donc que des stratégies de compromis devront être trouvées. Le modèle ci-après permet d’évaluer l’efficacité de différentes stratégies.
414
Trafic et performances des réseaux de télécoms
Soit un système auquel le trafic offert est caractérisé comme suit : n type d’appels de taux d’arrivée respectifs : λ1,.. λi, λn ; τiA durée de traitement pour un appel accepté de type i ; τiR durée de traitement pour un appel rejeté (pour cause de régulation) de type i ; et pour un état donné de régulation du système : ai proportion d’appels de type i acceptés ; ri proportion d’appels de type i rejetés ; avec, ai + ri = 1. Prenons comme unité le temps de traitement moyen d’un appel accepté :
τi A
∑ λτ = ∑λ
i iA
i
(9-49)
i
i
Appelons ciA le coût relatif de traitement d’un appel accepté : ciA =
τ iA τ iA
(9-50)
et de même pour un appel rejeté : ciR =
τ iR τ iA
(9-51)
et aussi, la proportion de chaque type d’appel : pi =
λi ∑ λi
(9-52)
i
On a alors : Charge offerte au système :
ρOFF = ∑ λi i
Charge système :
(9-53)
Modèles
ρ SYS = ρOFF ∑ pi (ai ciA + ri ciR )
415
(9-54)
i
Charge écoulée :
ρ A = ρOFF ∑ pi ai ciA
(9-55)
i
Charge refusée :
ρ R = ρOFF ∑ pi ri ciR
(9-56)
i
La régulation, dans notre modèle, obéit au principe suivant. Etant donnée une charge maximale du système ρ SYS = ρ MAX , les appels sont rejetés selon un ordre prédéterminé dès que la charge atteint la valeur ρ MAX et acceptés dès que la charge redevient inférieure. Le système oscille donc entre des états de rejet et d’acceptation d’appel. Pour la modélisation à laquelle nous nous intéressons (surcharges très fortes et très longues), nous négligerons les phénomènes d’oscillations qui doivent être maîtrisés par des mécanismes adaptés de mesures de charge (mesure de charge processeurs), ou d’évaluation de charge (par exemple comptage d’appels) grâce à de bons réglages des périodes de mesures et de lissage. Le système demeure dans un état donné de régulation tant que le ou les types d’appels rejetés suffisent à maintenir sa charge en deçà de la valeur ρ MAX . Si par contre le rejet des appels de type x ≤ i ne suffit pas, le système commencera à rejeter les appels de type i+1, etc., sachant que : a) les types d’appels les plus prioritaires sont rejetés en dernier ; b) plus le niveau de rejet augmente, plus le rejet est drastique allant jusqu’à ne plus presque rien coûter au système (rejet en « aveugle », sans analyse de la nature de l’appel). A partir des équations précédentes, on peut décrire le comportement du système en régulation pour différentes stratégies. Etudions sur un exemple le comportement d’un système selon deux stratégies.
416
Trafic et performances des réseaux de télécoms
La stratégie 1 est la stratégie de base, et est la suivante : il y a rejet en priorité des appels départ usagers non urgents (type 1), puis rejet supplémentaire des appels arrivées non urgents (type 2), puis rejet supplémentaire de tous les appels départ sans discrimination d’urgence (type 3), puis rejet supplémentaire de tous les appels arrivée sans discrimination (type 4). La stratégie 2 est plus drastique : dès le deuxième seuil (lorsque tous les appels de type 1 sont rejetés), on rejette tous les appels départ, type 1 et type 3, puis on continue avec les appels arrivée. Supposons les coûts suivants : c1A = c2A = c3A = c4A = 1, c1R= 0,25, c2R= 0,1, c3R= 0,1, c4R= 0,1. En outre, nous supposons, pour simplifier, que les proportions de trafic restent les mêmes dans les différentes phases. Ceci ne correspond pas vraiment à la réalité pour le régime transitoire, mais n’enlève rien à l’intérêt du modèle, car, dans les cas réels, les systèmes sont très rapidement soumis à un régime quasi stationnaire de trafic de surcharge. On se fixe les seuils suivants : premier niveau de rejet à la charge de 0,8, deuxième niveau de rejet à la charge de 0,85, troisième niveau de rejet à la charge de 0,9. On suppose 60 % d’appels départ dont 10 % d’appels urgents, et 40 % d’appels arrivée dont aussi 10 % d’appels urgents. On obtient les courbes de la figure 9.13 décrivant le comportement fondamental du système en régulation. Charge écoulée stratégie 1 Charge système stratégie 1 Charge écoulée stratégie 2 Charge système stratégie 2 0,85
0,9
0,8 0,6 0,3 0,8
1,35
1,85
3,1
Charge présentée
Figure 9.13. Modèle de comportement d’un système sous contrôle de surcharge
Modèles
417
Stratégie 1 La courbe en pointillé décrit le comportement du système pour cette stratégie (stratégie 1) : a) On vérifie qu’on atteint bien le premier seuil de régulation à un trafic offert de 0,8 : 0,8 = 0,8(0,6 × 1 + 0,4 × 1) b) Jusque-là on acceptait tous les appels, on doit commencer à rejeter les appels départ non urgents (type 1). Puis jusqu’à un trafic d’environ 1,35, on maintient la charge à 0,8, puis elle remonte, ce premier niveau de rejet ne suffit plus. 0,8 = 1,35 × (0,6(0,9 × 0,25 + 0,1 × 1) + 0,4 × 1) La charge écoulée pour une charge système de 0,8 est : 1,35 × (0,6(0,1 × 1) + 0,4 × 1)= 0,62 On vérifie que l’on atteint le deuxième seuil à un trafic offert de 1,43 : 0,85 = 1,43 × (0,6(0,9 × 0,25 + 0,1 × 1) + 0,4 × 1) Notons aussi que la charge écoulée au trafic de 1,2 (1,5 fois le trafic de référence) est supérieure à 0,7. Soit 90 % du trafic de référence, ce qui correspond aux objectifs des normes (voir chapitre 2). c) Au-delà d’un trafic offert de 1,43, on doit commencer à rejeter en plus les appels arrivée non urgents (type 2). On vérifie qu’on maintient la charge à 0,85 jusqu’à un trafic offert de 3,14 puis qu’on atteint le troisième seuil (0,9) à un trafic offert de 3,32 : 0,85 = 3,14 × (0,6(0,9 × 0,25 + 0,1 × 1) + 0,4(0,9 × 0,1 + 0,1 × 1) 0,9 = 3,32 × (0,6(0,9 × 0,25 + 0,1 × 1) + 0,4(0,9 × 0,1 + 0,1 × 1) Le trafic écoulé pour un trafic offert de 3,14 est : 3,14 × (0,6(0,1 × 1) + 0,4 × 0,1 × 1) = 0,314
418
Trafic et performances des réseaux de télécoms
d) A ce moment on commence à rejeter tous les appels départ sans discrimination (type 3), on vérifie alors que le système maintient sa charge à 0,9 jusqu’à un trafic de 6,6 et que le quatrième seuil est atteint pour un trafic offert de 7, autrement dit pour un trafic offert presque 10 fois supérieur au trafic de référence : 0,9 = 6,6 × (0,6 × 0,1 + 0,4(0,9 × 0,1 + 0,1 × 1) 0,95 = 7 × (0,6 × 0,1 + 0,4(0,9 × 0,1 + 0,1 × 1) Le trafic écoulé pour un trafic offert de 6,6 est : 6,6 × ( 0,4 × 0,1 × 1) = 0,26 On ne détaille pas le dernier seuil, car avec cette politique il ne sera très vraisemblablement jamais mis en œuvre. Ce modèle met en évidence l’intérêt d’adopter assez rapidement une politique de rejet drastique pour diminuer le coût des appels rejetés et ainsi écouler plus de trafic, comme on va le voir maintenant avec la stratégie 2. Stratégie 2 La courbe en trait plein décrit le comportement obtenu si dès le deuxième seuil (0,85), on rejette tous les appels départ, type 1 et type 3 (stratégie 2). Jusqu’à un trafic d’environ 1,85, on maintient la charge à 0,85 puis elle remonte. On vérifie qu’on atteint le troisième seuil à un trafic offert de 1,95 : 0,85 = 1,85 (0,6 × 0,1) + 0,4 × 1) 0,9 = 1,95 (0,6 × 0,1) + 0,4 × 1) La charge écoulée au trafic offert de 1,85 est : 1,85 × 0,4 × 1 = 0,74 Puis on peut décider de rejeter tous les appels sans discrimination. Comme précédemment, on maintient quasiment parfaitement la
Modèles
419
charge du système, le coût des appels rejetés étant négligeable. On vérifie qu’on maintient la charge jusqu’à une surcharge de 900 %. L’expérience prouve que cette stratégie est la plus appropriée pour répondre aux situations réelles car de toutes façons, du fait entre autres des renouvellements, les surcharges sont très vite très importantes et les seuils de rejets les plus sévères sont rapidement atteints. 9.2. Modèles du plan transport 9.2.1. Concentrateur de trafic multidébit 9.2.1.1. Modèle d’Erlang multidébit Soit à évaluer la capacité d’écoulement de trafic d’un système concentrant le trafic de sources de débits différents. Ce cas est typiquement celui de concentrateurs de lignes d’usagers ISDN, ou de liens réseaux synchrones, devant écouler des communications de débits différents (à n × 64 kbit/s par exemple). Mais surtout, comme nous le verrons plus loin, l’analyse de ce cas sera à la base de la modélisation du multiplexage statistique pour les trafics ATM et IP. On cherche à évaluer la probabilité de blocage B (refus d’appel), pour un trafic offert A. Soit c1 le débit (ou capacité) requis par la source de plus petit débit. On pose c1 =1, ( c1 est pris comme unité de débit). Les débits ci des autres sources seront approximés à des multiples de c1. C est la capacité totale du concentrateur en unité de débit c1. La probabilité de blocage est alors simplement donnée par la formule dite d’Erlang généralisée appliquée à un système à N = C serveurs. On regroupe les appels en classes de débit : x est le nombre de classes de débit, et ai est l’activité en Erlang d’une classe de débit ci. La probabilité P(n1, ..., nx) d’avoir (n1, ..., nx) communications de chaque classe en cours est alors :
420
Trafic et performances des réseaux de télécoms x
P (n1 ,..., nx ) =
∏ i =1
∑
n
ai i ni ! x
0 ≤ c1n1 +!+ cx nx ≤ C
( ∏ i =1
n
ai i ni !
)
(9-57)
et la probabilité de blocage (de refus d’appel) d’un appel de débit ci est : Bi =
∑
d1n1 +!+ d x nx ≥ C − di +1
Ρ(n1 ,…, nx )
(9-58)
et le blocage moyen, tout appel confondu est : x
B=
∑B ∗a i
i =1
i
x
∑a i =1
(9-59)
i
Ces formules fondamentales peuvent donner lieu à des calculs assez longs et surtout ne permettent pas d’apprécier rapidement l’impact du mélange de services. C’est à cet effet qu’ont été développées des approximations, toutes basées sur l’ajustement des moments de la loi exacte de distribution avec les moments d’une loi plus simple. Nous présentons ci-après la méthode du peakedness factor, qui présente l’avantage d’une très grande simplicité et dont la précision est suffisante dans la plupart des cas d’applications pratiques. 9.2.1.2. Méthode du peakedness factor Il s’agit simplement d’ajuster la loi d’Erlang généralisée à une loi d’Erlang simple. On définit ainsi un débit unique équivalent, mais aussi un nombre de serveurs équivalents. Rappelons-nous que dans le chapitre 3 nous avons traité le cas de la somme de variables aléatoires indépendantes. Nous nous retrouvons ici exactement dans ce cas, car nous cherchons la probabilité P(n1, ..., nx) d’avoir (n1, ..., nx) communications de chaque classe en cours avec x classes de trafic indépendantes et poissoniennes. En appliquant les résultats du chapitre 3, nous pouvons remplacer les x classes de trafic de débit di et
Modèles
421
d’activité ai par une seule classe de trafic d’activité A/z et de débit unique z, tels que : x
x
A = ∑ ai di et z = i =1
∑a
di
i
i =1 x
∑a
i
i =1
2
(9-60) di
z est appelé peakedness factor du fait de son introduction initiale par Hayward dans les problèmes de trafic de débordement. z traduit la sporadicité du trafic. C’est, rappelons-le, simplement le rapport de la x
variance du trafic sur sa moyenne ( V = ∑ ai di ). 2
i =1
De ce fait, le modèle équivalent au système initial est simplement un concentrateur de capacité réduite C/z, auquel est offert un trafic d’intensité réduite A/ z. Et donc le blocage moyen est : A C B ≈ E( , ) z z
(9-61)
On en déduit aussi une estimation du blocage pour les différentes classes de trafic par interpolation entre deux valeurs successives de z. On écrit : A C A C k A C A C k E ( , − 1) = E ( , )α1 , E ( , − 2) = E ( , − 1)α 2 etc. z z z z z z z z 1/ z
A C E ( z , z − 1) avec α = E ( A , C ) z z
=
C A
(9-62)
On a aussi : 1 A C B1 = E ( , ) z z z
(9-63)
422
Trafic et performances des réseaux de télécoms
et donc pour un débit c2 égal par exemple à 2 z + n, avec 0 < n < z , on a: 1 A C κ κ n B2 = E ( , )α1 α 2 α 3 z z z
Quand di n’est pas trop grand on peut simplifier, en gardant α constant : A C 1 α di − 1 Bi ≈ E ( , ) z z z α −1
(9-64)
Le tableau 9.2 donne un exemple de précision de l’approximation dans le cas d’un mélange de deux classes de trafic. On remarquera en particulier que dans bien des cas pratiques on pourra se contenter de l’approximation linéaire : 1 A C Bi = E ( , )d i z z z
(9-65)
z=2 Erlang Loss (peakedness method)
Generalized Erlang C
a1
d 1 a2
d2 A
B1
200
105
1
5
9.71 10-5 6.84 10-4
7
140
B2
B
A/z
1.34 10-4 70
C/z
E(A/z,C/z)
100
1.38 10-4
z = 10 C
a1
d1
200 38.5 1
a2
d2
A
B1
B2
B
A/z
1.5
21
70
9.18 10-6 6.83 10-5 3.45 10-5 7
C/z
E(A/z,C/z)
20
2.99 10-5
Tableau 9.2. Précision de la méthode du peakedness factor
La méthode du peakedness factor reste bien sûr une méthode approchée mais on vérifie aisément que la précision est excellente tant
Modèles
423
que le rapport C/dx reste grand, dx étant le débit requis le plus élevé. Condition qui sera vérifiée dans la plupart des cas pratiques de multiplexage, comme on le verra plus loin, compte tenu des débits élevés des liens. Nous donnons ci-après quelques exemples de résultats afin de valider le domaine de validité du modèle. On considère un mélange de deux types de trafics d’intensité totale A, offert à un système de C serveurs : a) C = 200, a1 = 105, d1 = 1, a2 = 7, d2 = 5 => A = 140, z = 2, A/z = 70, C/ z = 100 Erlang généralisée : B = 1,34 10-4, Peakedness méthode : B = 1,38 10-4 b) C = 100, a1 = 45, d1 = 1, a2 = 3, d2 = 5 => A = 60, z = 2, A/z = 30, C/z = 50 Erlang généralisée : B = 2,5 10-4, Peakedness méthode : B = 2,2 10-4 c) C = 50, a1 = 18, d1 = 1, a2 = 1,2, d2 = 5 => A = 24, z = 2, A/z = 12, C/z = 25 Erlang généralisée : B = 5,35 10-4, Peakedness méthode : B = 3,78 10-4 d) C = 20, a1 = 3.75, d1 = 1, a2 = 0.25, d2 = 5 => A = 5, z = 2, A/z = 2.5, C/z = 10 Erlang généralisée : B = 7,52 10-4, Peakedness méthode : B = 2,16 10-4 On vérifie immédiatement que la précision dépend bien du rapport entre la capacité totale du lien et le débit le plus élevé (d2). Pour obtenir une précision suffisante, il faut un rapport supérieur à 10 environ. On vérifie ce type de résultat, même pour de grandes valeurs de z et des rapports importants entre les débits (par exemple un rapport de 21 comme ci-dessous peut correspondre à un débit de 64 kbit/s et un autre débit de 1 Mbit/s). e) C = 200, a1 = 38.5, d1 = 1, a2 = 1,5, d2 = 21 => A = 70, z = 10, A/z =7, C/z = 20 Erlang généralisée : B= 3,45 10-5, Peakedness méthode : B= 2,99 10-5 C = 100, a1 = 8, d1 = 1, a2 = 0.75, d2 = 16 => A = 20, z = 2, A/z = 2, C/z = 10 Erlang généralisée : B = 7,94 10-5, Peakedness méthode : B = 3,82 10-5
424
Trafic et performances des réseaux de télécoms
9.2.2. Multiplexage 9.2.2.1. Multiplexage de sources périodiques identiques Considérons d’abord le cas important de sources périodiques identiques (par exemple le cas de sources ATM à débit constant, CBR). Il permet de mettre en évidence des propriétés utiles pour simplifier le traitement du cas de sources de débits différents et de longueurs de paquets différentes. Soit un système de multiplexage dont la capacité du lien de sortie est de une cellule par unité de temps, et auquel est offert le trafic de N sources, N ≤ D , transmettant chacune une cellule toutes les D unités de temps. Ce système est appelé N/D/D/1. La figure 9.14 schématise le système. D 1
N Figure 9.14. Multiplexage de sources déterministes
Appelons VD le travail résiduel à un instant D arbitraire. Si N < D, alors il y a au moins un instant de l’intervalle (0,D) où le système est vide. Donc VD ne dépend que des arrivées après cet instant. En considérant les N arrivées comme uniformément distribuées entre 0 et D , on a : Q( x) = Pr {VD > x} =
∑ Pr {ν ( D ', D = n}.Pr {V
x
D'
= 0 /ν ( D ', D) = n}
avec ν ( D ', D) = n le nombre d’arrivées dans l’intervalle (D’, D), et D ' = D − n + x (puisqu’il reste x arrivées à traiter). La figure 9.15 illustre la situation.
Modèles
425
n arrivées
0
D’
n-x unités de service
D
Figure 9.15. Calcul du travail résiduel
Du fait des arrivées uniformes (n-x)/D = (D-D’)/D exprime la probabilité, pour une arrivée, d’être située dans l’intervalle de durée (D-D’). Et donc : N n − x Pr {ν ( D ', D) = n} = n D
n
n−x 1 − D
N −n
(9-66)
De même, du fait de N < D et de ν ( D ', D) = n , on a N – n < D’, et la probabilité d’avoir VD’ = 0 est celle d’avoir D’– (N – n) unités de service libres dans (0,D’), soit : Pr {VD ' = 0 /ν ( D ', D) = n} =
D−N +x D−n+x
(9-67)
Et donc, on obtient : P (> x) = QN,D ( x) =
∑ ( nN ) ( n D− x ) N
n = x +1
n
(1 − n D− x ) ( DD−− Nn ++ xx ) (9-68) N −n
On vérifiera sur la figure 9.16 que cette formule donne à forte charge des résultats notablement différents de ceux obtenus par la formule M/D/1, même pour de valeurs assez grandes de N. La caractéristique périodique des arrivées est fondamentale.
426
Trafic et performances des réseaux de télécoms ρ=0,95
P>x 1
M/D/1
10 -6 10
-3
N=1000
10-9
N=500 -12
10
N=200 N=50
-15
10
20
40
80
60
100 x
Figure 9.16. Comportement de la file ND/D/1
La différence s’atténue cependant à faible charge comme le montre le tableau 9.3. X 6
12
N 30 70 200 M/D/1 30 70 200 M/D/1
16
30 70 200 M/D/1
32
70 200 1000 M/D/1
ρ = 0.1 4.2e-11 8.0e-11 1.1e-10 1.2e-10
ρ = 0.3 5.0e-7 1.1e-6 4.4e-6 1.7e-6
ρ = 0.5 6.0e-5 1.7e-4 2.7e-4 3.5e-4
ρ = 0.7 1.7e-3 5.8e-3 1.2e-2 1.3e-2
ρ = 0.9 2.8e-2 9.5e-2 1.9e-1 2.7e-1
1.7e-14 7.6e-13 3.8e-12 5.2e-12
1.1e-10 7.1e-9 6.7e-8 1.9e-7
4.4e-8 7.4e-6 7.1e-5 2.5e-4
6.2e-6 1.3e-3 2.0e-2 7.6e-2
1.1e-15 5.7e-12 2.0e-10 1.2e-9
2.0e-12 3.2e-8 1.9e-6 1.7e-5
9.0e-10 2.6e-5 3.0e-3 3.3e-2 1.8e-16 1.5e-8 1.8e-4 1.25e-3
Tableau 9.3. Comparaison M/D/1 et N/D/D/1
Modèles
427
Approximation de la formule Pour des raisons pratiques, notamment pour avoir une meilleure visibilité de l’impact des différents paramètres, il peut être pratique d’avoir une approximation très simple pour des calculs rapides, « en direct », lors d’une expertise de performance par exemple (au cours d’une présentation des caractéristiques d’un produit), et pour mieux saisir l’impact des différents facteurs (charge, etc.). A cet effet, établissons maintenant deux expressions simples pour les files M/D1 et N/D/D/1. Une approximation dite à fort trafic de la file M/D/1 est donnée par : P(> x) ≈ e
1− ρ −2 x ρ
, de la forme e −α x
(9-69)
(Nous ne développerons pas ici les calculs. Pour ces résultats le lecteur se référera à des ouvrages spécialisés ou publications sur les Heavy traffic approximation et Brownian bridge approximation.) Par la même méthode [ROB 96], il est suggéré l’approximation suivante pour N/D/D/1, toujours à forte charge : P(> x) ≈ e
x 1− ρ −2 x + N ρ
(9-70)
Expression qui est de la forme : P (> x) ≈ e
− x(
2x +a) N
Or on avait pour la file M/D/1 l’approximation (très précise), valable même pour les faibles charges (voir chapitre 7) :
P(> x) ≈
(1 − ρ ) − β 0 x e ρe β 0 − 1
avec β 0 tel que ρ + β 0 − ρe β 0 = 0 Utilisons le développement de Mac Laurin de ln(y), il vient :
428
Trafic et performances des réseaux de télécoms
β + ρ −1 , en ne gardant que le premier terme. ln( β 0 + ρ ) ≈ 2 0 β0 + ρ + 1 De l’expression en β 0 on déduit β 0 = ln( β 0 + ρ ) − ln ρ , donc :
β0 ≈ 2
β 0+ ρ − 1 − ln ρ ,d’où β0 + ρ + 1
β 0 2 + β 0 ( ρ + ln ρ − 1) = − ln ρ ( ρ + 1) + 2( ρ − 1) . Or − ln ρ ( ρ + 1) + 2( ρ − 1) ≈ 0 , en utilisant ici encore le premier terme du développement Mac Laurin de lnρ). Donc :
β 0 ≈ 1 − ρ − ln ρ . Et donc enfin, pour M/D/1, on obtient : P(> x) ≈ −
1 − ρ − (1− ρ − ln( ρ ) ) x e ln( ρ )
(9-71)
Expression de la forme ae − β x dont on déduit pour N/D/D/1, comme vu précédemment, une expression de la forme P > x ≈ ae
− x(
2x +β ) N
Soit donc pour N/D/D/1 : 2x
P(> x) ≈ −
1 − ρ − x N +1− ρ − ln( ρ ) e ln( ρ )
(9-72)
Le tableau suivant donne la précision de l’approximation. La précision peut être considérée comme suffisante pour des premiers calculs visant à obtenir des ordres de grandeur.
Modèles X
N
6
30 70 200 M/D/1
12
30 70 200 M/D/1
16
30 70 200 M/D/1
32
70 200 1000 M/D/1
ρ = 0.1
Exact 4.2e-11 8.0e-11 1.1e-10 1.2e-10
ρ = 0.3
App. 1.6e-10 6.3e-10 1.2e-9 1.7e-9
ρ = 0.5
ρ = 0.7
429
ρ = 0.9
Exact 5.0e-7 1.1e-6 1.4e-6 1.7e-6
App. 5.7e-7 1.1e-6 4.4e-6 6.3e-6
Exact 6.0e-5 1.7e-4 2.7e-4 3.5e-4
App. 5.0e-5 2.0e-4 3.9e-4 5.6e-4
Exact 1.7e-3 5.8e-3 1.2e-2 1.3e-2
App. 1.5e-3 5.8e-3 1.1e-2 1.6e-2
Exact 2.8e-2 9.5e-2 1.9e-1 2.7e-1
App. 2.5e-2 9.8e-1 1.9e-1 2.7e-1
1.7e-14 7.6e-13 3.8e-12 5.2e-12
4.7e-15 1.1e-12 1.6e-11 6.9e-11
1.1e-10 7.1e-9 6.7e-8 1.9e-7
2.9e-11 7.1e-9 1.0e-7 4.3e-7
4.4e-8 7.4e-6 7.1e-5 2.5e-4
2.2e-8 5.2e-6 7.5e-5 3.2e-4
6.2e-6 1.3e-3 2.0e-2 7.6e-2
5.5e-6 1.3e-3 1.9e-2 8.0e-2
1.1e-15 5.7e-12 2.0e-10 1.2e-9
1.4e-16 2.5e-12 2.8e-10 3.6e-9
2.0e-12 3.2e-8 1.9e-6 1.7e-5
8.9e-13 1.5e-8 1.8e-6 2.3e-5
9.0e-10 2.6e-5 3.0e-3 3.3e-2
1.4e-9 2.4e-5 2.7e-3 3.5e-2
1.8e-16 1.5e-8 1.8e-4 1.2e-3
2.6e-16 4.7e-8 4.7e-4 1.3e-3
Tableau 9.4. Approximation de M/D/1 et N/D/D/1
9.2.2.2. Multiplexage de sources bursty Cette fois les sources ne sont pas périodiques, elles alternent entre des périodes d’émission (Ton) et des périodes de silence (Toff). En phase d’émission la source est périodique de période D, comme précédemment. Ce type de source est appelé bursty ou sporadique. La figure 9.17 décrit le comportement d’une source.
Ton
Toff
D Figure 9.17. Comportement d’une source ON/OFF
430
Trafic et performances des réseaux de télécoms
Nous allons commencer par quelques considérations générales sur le comportement d’un multiplexeur de sources sporadiques qui, bien que relevant du domaine de l’observation, vont nous permettre de modéliser relativement simplement le système étudié. Dans le cas général où N > D, on observe le comportement tel que présenté par la figure 9.18.
P(>x) 10
0
10
-2
10
-3
10
-4
10
-5
Partie « cellule /paquet»
« coude »
Partie « burst »
x Figure 9.18. Comportement d’un multiplexeur de sources sporadiques
On observe que la fonction de distribution du nombre de cellules en attente est composée de deux partie bien distinctes : une partie dite partie cellule ou paquet à décroissance rapide et une autre partie dite partie burst à décroissance lente. Ceci s’explique très bien en notant que dans la première partie la saturation du multiplexeur est rarement atteinte, seules des cellules ou paquets sont en attente, alors que dans la deuxième partie, la saturation du multiplexeur est fréquente, et on retrouve des burst en attente : plus les burst sont longs, plus la file est longue et plus la décroissance lente. On appelle très généralement coude le point de transition entre ces deux parties.
Modèles
431
Le lecteur attentif n’aura pas manqué de noter l’analogie entre l’allure de la partie cellule/paquet et celle du multiplexage de N sources périodiques comme vu précédemment. Et, en effet, les comportements sont identiques comme nous allons le vérifier maintenant. 9.2.2.3. Modélisation de la partie cellule/paquet Le comportement du multiplexeur dans cette partie peut être évalué précisément dans le cas de sources identiques. En effet, ceci correspond à une situation où la probabilité de saturation est négligeable, c’est-à-dire que la probabilité d’avoir plus de D sources à l’état ON simultanément est négligeable. Or, dans ce cas nous avons le résultat remarquable suivant. Nous nous intéressons au cas de N sources identiques et comme précédemment nous nous plaçons dans le cas où N < D. Ce cas va nous permettre de tirer des conclusions importantes pour des cas plus généraux. De l’étude précédente sur la superposition de sources périodiques, il est aisé de voir que l’on peut écrire : N
P (> x) = ∑ P Q ( x) n n, D n =0 N Ton avec P = p n (1 − p ) N − n et p = n n Ton + Toff probabilité pour une source d’être à l’état ON.
(9-73)
exprimant la
Or en développant ce résultat, il vient : P (> x) = Q ( x) = Q ( x) N,D p N, D moy
En effet : N
P (> x) = ∑ P Q ( x) n n, D n =0
(9-74)
432
Trafic et performances des réseaux de télécoms
P (> x) =
(
) ( DD −− mn ++ xx )
N
n
∑ ∑
=
n = x +1 m = x +1
P (> x) =
N
N
∑ ∑
∑ ∑ n m pn (1 − p ) N − n ( mD− x ) N
N
(1 − mD− x ) ( n−m
(
donc
m = x +1 n = m
N n
m
D − n + x et en posant k = n – m D−m+ x
m = x +1 n = m
P (> x) =
m
n−m
1− m − x D
or
( ) ( mD− x )
n N n N −n n − 1 p p ( ) ∑ ∑ m n n = x +1 m = x +1 N
N
N −m
m = x +1
k =0
)
N!
1
∑ ∑ ( N − k − m)! k !m! pm + k (1 − p ) N − k − m
) (
m − x m 1− m − x D D
) ( DD− −k −mm+ +x x ) k
N! 1 ( N − m)! N N − m = , et ( N − k − m)! k !m! ( N − m)! m k
On peut écrire aussi donc en regroupant :
P (> x) =
(
N m m−x ∑ p D m = x +1 m N
(1 − mD− x ) (1 − D − km + x )
)
m
(1 − p )
N −m
N − m p ∑ k =0 k 1 − p
N −m
k
k
p Posons α = (1 − m − x ) , la deuxième sommation s’écrit : D 1− p
Modèles
433
)
(
N − m k N −m k (α ) 1 − D − m + x = (1 + α ) k =0 S −m α S −m N − m α (1 + α ) N −m −1 = (1 + α ) (1 − D − m − x − D−m−x 1+α N −m
∑ k
et donc en reportant dans P(> x) et en effectuant, on obtient : P (> x) =
∑ m ( p mD− x ) N
m = x +1
N
m
(1 − p mD− x )
N −m
D − p ( N − x) D − p (m − x)
On reconnaît : P (> x) = Q ( x) = Q ( x) N,D p N, D moy
Ce résultat est remarquable car il ramène le multiplexage de sources sporadiques à celui de sources périodiques : seule la période moyenne, c’est-à-dire le débit moyen, compte. Et surtout, encore une fois, les performances sont meilleures que celles d’une file M/D/1. Sachant que la file M/D/1 conduit à des tailles de file d’attente tout à fait acceptables, on pourra très généralement se contenter de ce modèle pour évaluer la qualité de service, sous ces conditions. Ce dernier résultat peut aussi être généralisé à un nombre de sources N > D. On peut en effet conclure que, même pour un nombre de sources N > D, tant que la probabilité de dépasser le débit du lien de sortie du multiplexeur est très faible, c’est-à-dire tant que la probabilité d’avoir plus de D sources à l’état ON simultanément est négligeable, le système se comporte comme un multiplexeur de sources périodiques et mieux qu’une file M/D/1. On peut enfin généraliser cette propriété au cas de sources de débits différents, tant que reste faible la probabilité d’avoir un nombre de sources simultanément actives telles que le débit du lien est dépassé. Le comportement sera encore meilleur que celui d’une file M/D/1.
434
Trafic et performances des réseaux de télécoms
Celle-ci sera donc un modèle pessimiste pour de nombreux cas pratiques de multiplexage et d’évaluation de la qualité de service, quand on se situera dans la partie cellule, ou paquet. Enfin, dans le cas général de taille de paquets variables, on pourra approximer à une file M/G/1. 9.2.2.4. Modélisation de la partie burst Dans cette partie on s’intéresse surtout à déterminer la valeur du coude de la courbe vue plus haut. Nous supposons N >> D, ce qui correspond à des situations réelles dont le but est de tirer partie du multiplexage d’un grand nombre de sources à forte sporadicité. Plaçons-nous d’abord dans le cas de sources de débit crête identique (débit identique en période bursty), et considérons un temps interarrivées des bursts d’une source obéissant à une loi exponentielle négative. Sous ces hypothèses, les arrivées des bursts peuvent être considérées comme poissonniennes. Dès lors, le multiplexeur peut être considéré comme un concentrateur à D serveurs, et la probabilité de saturation peut être estimée par simple application de la loi d’Erlang (ou éventuellement de Poisson pour des valeurs de D et N très grandes). Le modèle d’Erlang convient particulièrement bien aux systèmes réels qui disposent de buffers importants, le multiplexeur se comportant alors comme un concentrateur de bursts à D serveurs avec attente. Si p est la probabilité pour une source d’être en émission (état ON), alors on a A = Np et : ∞
An − A e (Poisson) D ≤ n n!
Psat = E ( A,D) (Erlang) ou Psat = ∑
(9-75)
Considérons maintenant le cas de sources de débits différents. Appelons ici de manière plus générale C la capacité du lien (C Mbit/s par exemple) et di le débit, ou capacité, requis par une source de type i, et enfin ai son activité (proportion de temps à l’état ON).
Modèles
435
On retrouve bien évidemment le cas du multidébit. Dès lors, on peut appliquer les résultats déjà établis précédemment. Et notamment, pour simplifier les calculs, appliquer les formules approchées. On remplace les x classes de trafic de débit di et d’activité ai par une seule classe de trafic d’activité A/z et de débit unique z, tels que : x
x
A = ∑ ai di et z = i =1
∑a i =1 x
di
i
∑a i =1
i
2
(9-76) di
z étant, rappelons-le, simplement le rapport de la variance du trafic sur x
sa moyenne ( V = ∑ ai di ). 2
i =1
Le modèle équivalent au système initial est simplement un multiplexeur de capacité réduite C/z, auquel est offert un trafic d’intensité réduite A/z, dont la probabilité de saturation est : A C Psat ≈ E ( , ) z z
(9-77)
9.2.3. Bande passante équivalente Le concept de bande passante équivalente est utilisé pour simplifier les mécanismes d’acceptation d’appel, de session, etc., dans les systèmes supportant des services de caractéristiques de débit différentes, ou variables. Il s’agit en effet de calculer la performance du support de communication avec le nouvel appel qui se présente, compte tenu des caractéristiques des appels déjà acceptés, et de la comparer avec le critère de qualité de service requis. On conçoit aisément que, si l’on pouvait se ramener au problème simple de la pure somme de débits identiques, comme dans le cas de communications à 64 kbit/s, l’acceptation d’appel se résumerait au test du respect de la charge maximale du lien, ou du nombre maximum d’appels en cours sur un lien.
436
Trafic et performances des réseaux de télécoms
De multiples travaux ont été réalisés sur le sujet, nous ne développerons ici que les aspects relatifs à l’évaluation de la saturation du lien, car correspondant, du point de vue pratique, au problème fondamental du multiplexage comme vu précédemment. Dans le cas de trafics à débits constants mais différents, nous avons vu que la probabilité de saturation est fonction non seulement de la charge mais aussi du mélange des débits. Le problème se retrouve posé de la même façon lorsqu’il s’agit de multiplexer des sources de type ON-OFF et de débits différents. En considérant les arrivées des appels et des burst comme poissonniennes, la solution est obtenue par l’application de la formule d’Erlang multidébit, ou de façon approchée par la méthode du peakedness factor, telles que déjà présentées pour la modélisation du multiplexage statistique. Pour éviter d’éventuels longs temps de calculs, il a été proposé la formule (empirique) de bande passante équivalente suivante [ROB 96] : ei = α ( B )mi + β ( B )σ i / c 2
(9-78)
avec mi et σi2 moyenne et variance du débit des appels de type i, α(B) et β(B) des coefficients dépendant de la probabilité de saturation B requise, et c capacité (débit total) du lien. Empiriquement les coefficients α(B) et β(B) ont été ajustés à :
α =1−
log B , β / α = −6log B 50
(9-79a)
Par exemple, pour B=10-4 et B=10-9, on obtient : ei (10− 4) = 1,08mi + 26σ i / c et ei (10−9) = 1,18mi + 64σ i / c 2
2
(9-79b)
Il suffit alors de sommer les bandes passantes équivalentes à chaque nouvel appel et vérifier que la somme est inférieure au débit c du lien pour décider le rejet ou non de l’appel.
Modèles
437
Cette approche empirique s’explique très simplement, dans le cas d’un grand nombre de sources, en considérant que la distribution finale issue de la superposition de sources poissonniennes peut elle-même être approximée par une loi de Poisson, ou une loi d’Erlang. Le quantile est alors effectivement donné pour les trafics individuels comme pour la somme des trafics par les mêmes coefficients. On retrouve bien évidemment le type d’approximation déjà utilisée par la méthode du peakedness factor. Pour concrétiser ceci, considérons d’abord le cas de sources ON-OFF identiques, de débit crête d, d’activité a (proportion de temps à l’état ON). La moyenne est alors m = ad et la variance est :
σ2 = m (d-m). La formule devient e = α m + β m(d-m)/c. Appelons N le rapport c/d. Pour N suffisamment grand et m petit par rapport à d, nous pouvons écrire : e = α m + β m/N, et de manière générale pour une source de type i : ei = α mi + βmi/Ni. C’est-à-dire que la charge maximale du lien, pour une probabilité de saturation de 10-x est donnée par ρi = mi/ei (le lien ne peut accepter plus de c/e sources simultanément de débit moyen m). Et, donc, on a l’égalité : 1/ρi = α + β/Ni Comparons ces résultats à ceux obtenus avec la formule d’Erlang (voir tableau 9.5). On constate que sous les conditions prévues (c’est-à-dire N grand, ou d petit par rapport à c), la cohérence est satisfaisante. En fait, la formule de la bande passante équivalente n’est qu’une approximation linéaire de la loi d’Erlang (ou de Poisson pour N grand).
438
Trafic et performances des réseaux de télécoms
N= c/d
A (Erlang) à 10-4
1/ρ = N/A
1/ρ = 1.08+26/N
A (Erlang) à 10-9
1/ρ = N/A
1/ρ = 1.18+64/N
1200
1101
1,09
1,10
1013
1.2
1.23
600
525
1,14
1,12
470
1.27
1.28
300
246
1,22
1,17
210
1.42
1.39
75
48,6
1,54
1,43
34,5
2.2
2.03
60
36,6
1,64
1,51
25
2.4
2.24
40
21,4
1,87
1,73
13.2
3.03
2,78
20
7,7
2,6
2,38
3.5
5.7
4,38
10
2,26
4,4
3,68
0.65
15
7,58
Tableau 9.5. Bande passante équivalente et formule d’Erlang
Le résultat s’étend au cas de sources de débits différents, on retrouve la méthode du peakedness factor qui consiste en effet à approximer la distribution résultante à une distribution d’Erlang pour un système traitant un trafic équivalent à débit unique z. En effet, on avait : B = E (A/z, N/z) avec z le peakedness factor, fonction du mélange de débits, A = Σai di, (chaque type de trafic a une activité ai et un débit crête di), z = Σai di2 /Σai di. Le même type d’approximation linéaire que précédemment donne alors : (N/z)/(A/z) = k = α(B) + β(B)/(N/z) D’où : N = α Σai di + β Σai di2 /N= α Σmi + β Σmi di Et donc, par exemple, pour deux types de sources, si on appelle e1 et e2 le débit équivalent utilisé par chaque classe de trafic :
Modèles
439
e1 + e2 = α m1+ β m1 d1 /N + α m2+ β m2d2 /N Soit : e1 = αm1+ β m1 d1 /N,
(9-80)
e2 = αm2+ β m2d2 /N, 1/ρ1 = α + β /N1, 1/ρ2 = α + β /N2 On retrouve, bien sûr, les relations de base de la bande passante équivalente pour chaque source. Dans ces cas d’application (N grand), et pour des calculs approchés, la méthode du peakedness factor et celle de la bande passante équivalente sont identiques. On peut les considérer comme symétriques : l’une sera utilisée de préférence pour le dimensionnement et l’autre sera utilisée pour l’acceptation d’appel. Enfin, rappelons que les capacités réelles des liens sont telles que l’hypothèse N grand est très généralement vérifiée. D’où l’intérêt de ces modèles. 9.2.4. Modélisation et multiplexage du trafic IP Dans ce modèle, nous allons considérer que le trafic IP a les caractéristiques fondamentales suivantes : – le trafic est issu d’un grand nombre d’utilisateurs et le processus des demandes individuelles au niveau session, comme au niveau appel en téléphonie, forme un processus de Poisson. De même, la demande globale, à ces niveaux, est prévisible, résultant de l’activité journalière des utilisateurs ; – le trafic IP peut être décomposé en trois grands niveaux (voir chapitre 1) : - le niveau session : les sessions arrivent selon un processus de Poisson. Soit un lien de capacité C, si λ est le taux d’arrivée et v le volume moyen par session (en bits par exemple, produit du débit moyen et de la durée), alors on note la charge du lien ρ = λ v/C, - le niveau flot : chaque session est constituée d’une succession de flots et de périodes de silence. Les flots correspondent au transfert de fichiers, d’e-mails, d’images, etc. Le trafic au niveau flot est de nature sporadique, le volume des flots est, lui aussi, extrêmement variable.
440
Trafic et performances des réseaux de télécoms
(nous verrons comment traiter ce problème en distinguant deux grands types de flots), - le niveau paquet : le trafic au niveau paquet présente une très grande sporadicité et des caractéristiques dite d’autosimilarité, en particulier du fait de l’interaction du trafic d’origine avec les mécanismes de contrôle de flux (TCP) et de correction d’erreurs ; – le trafic IP peut être structuré en deux grandes catégories de flots : - les flots temps réel : il s’agit de la transmission en temps réel de données du type voix, vidéo, généralement sous contrôle du protocole UDP (pas de contrôle de flux, pas de retransmission). La performance est caractérisée surtout par la minimisation du délai de transfert (impact sur la perception de l’interactivité par l’usager, nécessité éventuelle d’annuleurs d’échos), par la minimisation de la gigue (jitter) et le respect d’un débit intrinsèque (nécessité de synchronisation des images, des échantillons de parole), - les flots élastiques : il s’agit du transfert de fichiers, d’e-mails, de pages Web, etc. généralement sous contrôle du protocole TCP (contrôle de flux, retransmission). La contrainte temps réel est moins sévère, par exemple des délais de transfert de l’ordre de la seconde restent acceptables. La performance est surtout caractérisée par la durée totale de transfert, ou encore le débit moyen effectif qui correspond au rapport du volume sur la durée. Le modèle de multiplexage du trafic IP va être basé sur ces caractéristiques, comme suit. D’une part, on distingue trafics temps réel et trafics élastiques, et surtout priorité (non préemptive) est donnée au trafic temps réel. Il s’en suit que l’évaluation de la bande passante requise peut être effectuée dans un premier temps indépendamment pour chaque catégorie de trafic, puis les gains possibles par intégration sont étudiés. D’autre part, du fait des propriétés des niveaux sessions et flots, il s’avère possible de surmonter les problèmes complexes d’autosimilarité du niveau paquet. 9.2.4.1. Trafic temps réel Pour de tels trafics, la performance va être exprimée en termes de taux de perte ou de délai de service. Notre problème est donc d’évaluer la bande passante nécessaire pour que les délais ou pertes subis par les paquets concernés soient très faibles. Les modèles simples que nous présentons ci-après permettent d’atteindre cet objectif et répondent à la plupart des cas pratiques.
Modèles
441
Le débit engendré par un trafic et ses caractéristiques (débit constant ou débit variable par exemple) sont d’abord déterminés par les caractéristiques de codage. Par exemple, on aura un flot constitué de 1 paquet de 200 octets toutes les 20 ms pour une source de parole traitée en G711, soit un débit constant de 80 kbit/s. (Rappelons que la parole codée à 64 kbit/s génère un octet toutes les 125 µs, et que l’on en met 160 toutes les 20 ms dans un paquet G711 comportant intrinsèquement un header de 40 octets.) Dans ce cas, le flot correspond à la session. Par contre, si la parole est codée G729A plus VAD (Voice Activity Detection), c’est-à-dire avec suppression des silences, alors on aura un débit variable de séries de paquets de 60 octets, le débit moyen étant maintenant de 24 kbit/s. Une session sera composée de flots correspondants aux périodes actives (hors silence). Ou encore, pour une session vidéo de codage MPEG 2, si on suppose une émission image par image, on aurait, par exemple, l’émission d’un flot d’un volume variable de données de l’ordre de 20 kbit à 40 kbit en moyenne, toutes les 40 ms, soit des rafales de 2 à 4 paquets en moyenne toutes les 40 ms (en se basant sur la taille maximale de la trame Ethernet qui est de 1 500 octets). Le volume dépend bien sûr énormément du type de codage (MPEG 1, MPEG 2, MPEG 4). D’autres scénarios de paquétisation peuvent aussi bien sûr être considérés. Les caractéristiques essentielles de codage de quelques types fondamentaux de services temps réels sont résumées ci-après. VoIP G.711 : 1 échantillon de 1 byte (octet) toutes les 125 µs (µ law), groupés en paquet toutes les 20 ms. Taille paquet = 160 bytes (20 ms) + 40 bytes (header) = 200 bytes (header = 20 bytes IPV4 + 8 bytes UDP + 12 bytes RTP). l50 paquets/s = 80 kbit/s par direction. G.729A : 1 échantillon de 10 bytes toutes les 10 ms, groupés en paquet toutes les 20 ms. Taille paquet: 20 bytes (20ms) + 40 bytes = 60 bytes.
442
Trafic et performances des réseaux de télécoms
l50 packets /s = 24 kbit/s par direction. G.729A + VAD (détection silences) : réduction de bande passante de l’ordre de 50 %. Visioconférence, visiophony Codage H261, H263 (64-128-384 kbit/s, 30 à 10 images/s). Résolution : CIF (Common Intermediate Format) et QCIF (Quarter CIF). Temps inter-arrivées des trames vidéo : Résolution
CIF
QCIF
H261
499 ms
214 ms
H263
340 ms
143 ms
Codec
Tableau 9.6. Codage visio et temps inter-trames
TV interactive, on demand, pay per view MPEG : compression temporelle (key I, and delta images B, P) et spatiale (jpeg, DCT) : – MPEG 1 pour video (TV, CD) débit crête jusqu’à 3,5 Mbit/s (valeur typique 1,5 Mbit/s) ; – MPEG 2 pour meilleure qualité, > 5 Mbit/s to 15 Mbit/s (prédiction) ; – MPEG 4 : TV HD. Possibilité de bas débits, de 64-128 kbit/s, mais aussi de hauts débits. Utilisation du concept VOP (video object). Le calcul de la bande passante nécessaire pour multiplexer ces trafics nécessite de distinguer les débits constants et les débits variables. Cas des débits constants Le dimensionnement des ressources nécessaires peut s’effectuer simplement comme suit. On suppose d’abord pour chaque classe de service un mécanisme d’acceptation d’appel/session. L’acceptation ou le refus de la session se fera par simple application de la formule
Modèles
443
d’Erlang, service par service car on veut garantir une probabilité donnée de rejet par service (et non pas une probabilité moyenne). Pour une classe de service de type i, de débit di, d’activité en Erlang Ai , et pour une probabilité de rejet PRi, on a : PRi = Erlang ( Ai , N i ) ,
(9-81)
qui donne Ni, nombre maximal de sessions simultanées possibles, c’est-à-dire aussi le débit maximum à écouler, Ni di. Du fait des propriétés de multiplexage des débits constants comme précédemment étudiées (voir le modèle concentrateur/multiplexeur multidébit), l’application d’un modèle de type M/G/1 donne une bonne approximation de la bande passante nécessaire pour écouler ce trafic (on est dans la zone cellule/paquet), avec une qualité de service acceptable. En pratique, on pourra se baser sur une règle simple comme le respect d’un taux d’utilisation maximum de 90 %. D’où la capacité en débit nécessaire : Cc = (Ni di)/0,9.
(9-82)
Cas des débits variables Un trafic temps réel à débit variable peut être modélisé par une source générant des rafales ou bursts de paquets à un débit crête di. C’est donc une source de type ON-OFF. Comme au préalable, on détermine le nombre maximum Ni de sessions pouvant coexister simultanément, au débit crête, pour une probabilité de rejet acceptable, par la simple application de la formule d’Erlang. Pour une classe de service de type i, de débit crête di, d’activité en Erlang Ai (au niveau session) et pour une probabilité de rejet PRi, on a : PRi = Erlang ( Ai , N i )
(9-83)
qui donne Ni, nombre maximal de sessions simultanées, à l’état ON, possibles.
444
Trafic et performances des réseaux de télécoms
Considérons d’abord le cas de flots de débit crête identiques d. Ce modèle correspond à un système tel que le débit d est imposé, et choisi pour respecter les sources à plus haut débit crête (par exemple la vidéo). Les bursts ne sont constitués que d’un seul paquet, si le débit crête de la source originelle est inférieur à d. Pour un assez grand nombre N de sessions constituant un flux d’arrivées poissonniennes, on peut alors évaluer le nombre de bursts simultanément en cours et donc la capacité Cs nécessaire par la simple formule d’Erlang ou de Poisson, comme dans le cas précédemment étudié de multiplexage de sources ON-OFF. Cs étant la capacité totale et d le débit des bursts, si on appelle D le rapport Cs /d, alors le système se comporte comme un concentrateur à D serveurs. Si p est la probabilité pour une source d’être en émission (état ON), alors : ∞
Psat = E (α , D) , ou avec la loi de Poisson : Psat = ∑
D≤n
avec α = Np
αn n!
e −α
(9-84)
Considérons maintenant le cas de sources de débits différents. Ce cas correspond à un système dans lequel on n’impose pas le même débit crête pour tous les flots, notamment pour tenter de bénéficier de meilleurs gains en multiplexage puisqu’on a vu que celui-ci dépendait fortement du nombre équivalent de serveurs D. Notons que ceci suppose de savoir distinguer les flots. Appelons di le débit, ou capacité, requis par une source de type i, et enfin αi son activité au niveau burst (proportion de temps à l’état ON). On retrouve bien évidemment le cas du multidébit. Dès lors, on peut appliquer les résultats déjà établis précédemment. Et notamment, pour simplifier les calculs, appliquer les formules approchées. On remplace les x classes de trafic de débit di et d’activité αi par une seule classe de trafic d’activité α/z et de débit unique z, tels que : x
x
α = ∑ α i di et z = i =1
∑α i =1 x
∑α i =1
di
i
i
di
2
, avec α i = N i pi
Modèles
445
Le modèle équivalent au système initial est encore simplement un multiplexeur de capacité réduite Cs/z , auquel est offert un trafic d’intensité réduite α/ z, dont la probabilité de saturation est :
α C Psat ≈ E ( , s ) z z
(9-85)
Enfin, l’approche par la bande passante équivalente sera bien sûr elle aussi possible. 9.2.4.2. Trafic élastique La performance de ces trafics s’exprime plutôt en termes de durée de traitement, de temps de réponse pour un flot, et non plus au niveau paquet. Notre problème est donc de déterminer la capacité Ce (en bande passante) nécessaire pour obtenir un temps de réponse T acceptable au niveau d’un flot. Nous supposons toujours un grand nombre de sources indépendantes et que, de ce fait, les arrivées des flots suivent un processus de Poisson. Dans ce cas, compte tenu du rôle des protocoles de gestion des flux tel que TCP, le système peut être modélisé par un système fluide, tel que le débit effectif est immédiatement ajusté au nombre de flots à traiter simultanément, sous l’hypothèse d’un partage équitable de la bande passante entre tous les flots. Nous retrouvons alors le modèle processor sharing. Le point important à souligner ici est qu’il peut être démontré que ce modèle est insensible à la distribution de la « longueur » des « tâches », ici la taille des flots. C’est ainsi que nous pouvons nous affranchir de la grande variabilité au niveau flot, caractéristique de ce type de trafic. Soit λe, le taux d’arrivée des flots. Soit x , le volume (la taille) moyen(ne) des flots (en kbits par exemple, ou produit débit source par durée). Si Ce est la capacité dédiée à ce type de trafic, on a :
ρe = λe x / Ce , La distribution du nombre simultané de flots en cours est donnée par :
446
Trafic et performances des réseaux de télécoms
P ( N = n) = ρ n (1 − ρe )
(9-86)
Le temps de réponse moyen est : x x , pour un flot de taille x , et T = , pour Ce (1 − ρe ) Ce (1 − ρ e ) l’ensemble des flots. (9-87)
T ( x) =
Ainsi en se fixant de objectifs sur T, on pourra déterminer très simplement la capacité Ce nécessaire. 9.2.4.3. Capacité globale La capacité globale dans ce modèle pourra être obtenue soit par un modèle sans intégration (c’est-à-dire un dimensionnement séparé par type de flux), soit par un modèle avec intégration (c’est-à-dire par la prise en compte globale de l’ensemble des flux). Pour le modèle sans intégration nous avons bien sûr : C = Cc + Cs + Ce
(9-88)
Pour le modèle avec intégration, nous avons : C = Max(Cc + Cs ; Cc + Ce + Cs m )
(9-89)
Formule dans laquelle Cs m désigne le débit moyen total des trafics stream (variable temps réel). En effet, on peut considérer que la réserve de bande passante nécessitée pour écouler correctement le total du trafic temps réel, à débit variable et constant, sera suffisante pour écouler le trafic élastique. A condition bien sûr que le débit ainsi requis, soit supérieure au total des débits moyens de l’ensemble des trafics. Ceci se justifiant par le fait que le trafic élastique n’a pas de forte contrainte temps réel, n’est pas prioritaire, et il suffit donc que le débit moyen correspondant soit garanti. Il faut cependant vérifier que les variations du trafic temps réel ne pénalisent fortement le trafic élastique qu’exceptionnellement, pour ne pas créer des périodes d’instabilité (on peut aussi prendre une petite réserve sur Ce). Nous verrons un exemple d’application de ces résultats au chapitre 10.
Modèles
447
9.2.5. Le modèle des queues série (M/M…M/1) On désigne ainsi une suite de serveurs avec file d’attente, en série. Ce modèle peut correspondre à certaines réalisations et stratégies de routage dans des réseaux de signalisation ou plus généralement dans des réseaux de données. Nous ne traitons ici que du cas simple (et extrême) d’une série de serveurs ne traitant qu’un seul flux de messages (poissonnien à l’entrée), et dont le temps de traitement est directement proportionnel à la longueur des paquets (ou messages), longueur obéissant à une loi exponentielle. Sous ces conditions, le temps de service varie à chaque message mais est le même quel que soit le serveur pour un message donné. Nous montrerons cependant en outre que ce modèle s’applique aussi, sous certaines conditions, au cas général d’un réseau maillé et en particulier au cas où se rajoutent des flux convergents. La figure 9.19 décrit l’architecture réseau étudiée.
Entrée serveur 1
2
k
N sortie
Figure 9.19. Réseau de files d’attente en série
Le problème de base est le suivant : des messages groupés à un nœud k ( k ≥ 2 ), restent groupés dans les nœuds suivants et il se produit un phénomène d’agglutination croissant avec k, conduisant à la formation de bursts de plus en plus gros au fur et à mesure de la traversée du réseau. Ce phénomène est intuitivement évident, mais difficile à quantifier. Explicitons d’abord le phénomène. Les nœuds 1 et 2 présentent une particularité : le nœud 1 se présente bien sûr comme un serveur ordinaire de type M/M/1, et il peut se produire des agglutinations dans la file d’attente. Cependant, ces groupements peuvent être rompus au nœud 2. En effet, supposons qu’un message d’indice m1 soit en service au nœud 1 et suivi d’un message m1+1 en attente. A la fin de service de m1 au nœud 1, débutent le service de m1 au nœud 2, et le service de m1+1 au nœud 1. Si m1+1 est plus long que m1 alors la fin de service
448
Trafic et performances des réseaux de télécoms
de m1 au nœud 2 a lieu avant celle de m1+1 au nœud 1, et il y a rupture du burst. Par contre, si le message m1+1 était plus court que le message m1 alors les messages restent groupés au nœud 2. Il est aisé de vérifier alors qu’à la sortie d’un nœud k , pour tout k ≥ 2 , pour tout burst, on a : – tout message appartenant à un burst possède une durée de service inférieure ou égale à celle du leader (le premier message du burst) ; – tout burst ainsi formé est conservé à la sortie de tous les nœuds suivants : les messages le constituant restent définitivement accolés. Sans rentrer dans des considérations détaillées nous pouvons aussi « intuitivement » écrire les propriétés suivantes faciles à vérifier : – tout message appartenant à un burst au nœud k a une durée de séjour à ce nœud égale à la durée de service de son leader ; – tout burst dont le leader est plus court que le leader du burst précédent viendra s’agglutiner au burst précédent (les messages plus rapides finissent par rattraper les messages plus lents). On en déduit que, si on appelle (n, k) l’indice du burst de n° n au nœud k, alors les conditions nécessaires et suffisantes pour que le burst (n+1, k–1) rattrape le burst (n, k–1) au nœud k sont que : – sa date d’arrivée (celle de son leader) au nœud k–1, forcément postérieure à celle du message précédent, est dans un intervalle x inférieur à la durée de service du leader du burst précédent ; – la durée de service de son leader est inférieure ou égale à celle du leader du burst précédent. On retrouvera tous ces résultats à partir de l’étude attentive de la figure 9.19 dans laquelle on a représenté les arrivées successives des messages avec les notations suivantes : B(n,k) : numéro du burst n à la sortie du nœud k, n
b (i ) : numéro du message i du burst B(n, k), k n
b (1) : premier message du burst B(n, k), appelé le leader, k
Modèles
449
n
b ( j ) : dernier message du burst B(n, k), k
t0 : date de début de service du burst n au nœud k–1, burst B(n ,k–1), t1 : date de fin de service du burst n au nœud k–1, t2 : instant d’agglutination au nœud k des burst n et n+1 du nœud k–1. Serveur
x
t2 t
k b
k-1 b
k −1 n
k n
(1)
b
( 1 )
b
k −1 n
( j)
t1
k n
k b ( j + 1) n
( j)
b
k − 1 n + 1
t
(1 )
t
t0
Figure 9.20. Formation des bursts
NOTE.– pour simplifier la lecture, seul est représenté le premier message (en gras) du burst n+1, au nœud k–1, noté bnk+−11(1) . Les propriétés étant expliquées, il nous faut maintenant quantifier le phénomène d’agglutination. Un premier résultat approché peut être obtenu aisément : c’est la valeur moyenne de la busy period (en nombre de messages) à chaque nœud, c’est-à-dire ici la longueur moyenne des bursts. En effet, d’après l’analyse précédente et notamment les conditions d’agglutination, nous savons que l’agglutination se produit à chaque étage pendant un intervalle de temps x égal à la durée de service du leader, qui est aussi la durée de séjour de chacun des messages du burst à chaque étage. A l’entrée du réseau, du fait des arrivées
Trafic et performances des réseaux de télécoms
poissonniennes le nombre moyen de messages agglutinés, derrière un leader, pendant la durée de service moyenne est bien sûr : n=
ρ 1− ρ
Au bout d’un temps long kx, tous les groupes de messages formés à l’entrée entre deux messages longs, c’est-à-dire au cours de sous-busy period successives derrière des messages plus courts, se seront agglutinés à l’étage k (derrière un message long), et leur nombre moyen sera donc, approximativement : n=k
ρ 1− ρ
On peut donc écrire la relation approchée suivante. La longueur moyenne des bursts n(k),en nombre de messages à chaque nœud k (k > 2) est telle que : n(k ) ≅ k k →∞
ρ
(9-90)
1− ρ
La figure 9.21 montre la bonne concordance de ce résultat avec ceux de la simulation. lo n g u e u r m o ye n n e d u b u rs t p a r n œ u d : s im u la tio n (S ) e t c a lc u l (C ) , p o u r d iffé re n te s c h a rg e s (1 0 ..7 0 % ) 120
S10 S20
100
S50 80 longueur
450
S60 S70
60
C10 C20
40
C50 20
C60 C70
0 0
10
20
30
40
50
noeud
Figure 9.21. Longueur moyenne des « rafales » à un nœud
Modèles
451
Etudions maintenant la valeur de l’attente à chaque nœud. Cette fois pour résoudre ce problème complexe nous faisons appel à la méthode de Pollaczek. Selon la méthode générale, établissons d’abord la relation stochastique. Nous posons N = m + 1 (le réseau est constitué de m + 1 nœuds en série). Appelons, au nœud k, pour le nième message : w kn : temps d’attente, T kn : temps de service, s kn : temps de séjour ( s kn = w nk + T nk ), Y nk−1 : temps inter-arrivées (entre les messages (n-1) et n),
et introduisons : 2 k T (2, k ) = T ⋅⋅⋅ +T : temps de service global à partir du nœud 2, n n n
Sn (2, k ) = sn2 ⋅⋅⋅ + snk : temps de séjour global à partir du nœud 2.
Considérons d’abord le cas de deux serveurs en série. Appelons : Sn (1, 2) = s1n + sn2
(9-91)
Nous pouvons écrire : Sn (1, 2) = Max s1n + Tn2 , S n −1 (1, 2) + Tn2 − Yn1−1
(9-92)
Relation qui exprime simplement qu’il y a attente ou non au nœud 2. Appelons maintenant e kn : la période de temps libre du serveur k (k = 1,2), si elle existe, entre les messages (n-1) et n. On a : Tn1 + Wn2 = Max Tn1 , sn2−1 − e1n
(9-93)
452
Trafic et performances des réseaux de télécoms
Relation qui exprime simplement qu’il y a d’une part attente ou non pour le message n au nœud 2 ( Max = Tn1 s’il n’y a pas d’attente), et d’autre part que le service du message n–1 au nœud 1 s’est terminé ( e1n ≠ 0 ), ou non avant l’arrivée du message n. Relations faciles à vérifier en se référant au type de graphe tel que présenté précédemment (voir figure 9.20). Les durées de service étant identiques à chaque étage, nous avons : Tn1 + Wn2 = Tn2 + Wn2 = sn2
(9-94)
et donc : sn2 = Max Tn1 , sn2−1 − e1n
(9-95)
C’est la relation stochastique de base dont nous allons partir pour étudier le cas général. En effet, soit maintenant notre réseau de m+1 serveurs en série. On peut vérifier par récurrence, et en se référant aux propriétés précédemment établies, que la relation précédente se généralise comme suit : Sn (2, m + 1) = Max mTn1 , S n −1 (2, m + 1) − e1n
(9-96)
C’est la relation stochastique fondamentale de notre réseau à m+1 nœuds en série. Dès lors, avec le simple changement de variable t t → , nous retrouvons la relation stochastique du réseau à deux m nœuds et pouvons donc appliquer à notre système les résultats (au deuxième serveur) du réseau à deux nœuds. S (2, m + 1) , la durée de séjour m moyenne par nœud (à partir du nœud 2), nous avons la relation approchée de récurrence suivante :
En outre, si nous appelons S (m + 1) =
Modèles
S (m + 1) = m S (m) − (m − 1) S (m − 1)
453
(9-97)
et pour l’attente à un nœud k (k = 2, m+1), en prenant la durée moyenne de service comme unité de temps : W (k ) = ( k − 1) S (k − 1) − (k − 2) S (k − 2) − 1
(9-98)
Calcul de la durée de séjour dans le cas de deux nœuds Dans le cas de deux serveurs en série, avec arrivées poissonniennes (de taux λ) au premier serveur, et loi de service identique à tous les serveurs F(t), Boxma [BOX 79] a démontré le résultat suivant pour la durée de séjour au deuxième serveur : S (t ) = L(t ) J (t ) F (t )
(9-99)
avec : L(t ) = (1 − ρ )
∞ z (t ) et J (t ) = exp − ∫ z (ν )dν λ [1 − F (t )] t
(9-100)
avec z(t) la racine unique réelle et positive de l’équation en z : t z − λ 1 − ∫ exp(− zu )dF (u ) = 0 , 0
z(t) étant petit, nous faisons l’approximation suivante : exp(− zu ) ≈ 1 − zu . Et dès lors nous obtenons : z (t ) =
t λ [1 − F (t )] avec α (t ) = λ ∫ udF (u ) et α (∞) = ρ 1 − α (t ) 0
et donc aussi L(t ) =
1− ρ 1 − α (t )
(9-101)
454
Trafic et performances des réseaux de télécoms t
En outre, en intégrant par partie α (t ) = λ ∫ udF (u ) , on a : 0
t
α (t ) = λ ∫ udF (u ) = −λt [1 − F (t )] + ρ 0
avec ρ = λ E (T ) < 1
t
1 [1 − F (u )] du , E (T ) ∫0
1 − F (u ) est simplement l’expression de la densité du temps E (T ) résiduel de service(voir chapitre 7), et donc :
Or
t
∫ 0
[1 − F (u )] du = F (t ) E (T )
D’où, pour t grand, t [1 − F (t )] → 0 et :
α (t ) ≈ ρ F (t ) Et enfin : L(t ) =
λ [1 − F (t )] 1− ρ 1− ρ , z (t ) = d’où J (t ) ≈ ≈ L(t ) (9-102) 1 − ρ F (t ) 1 − ρ F (t ) 1 − ρ F (t )
Application au réseau de m+1 serveurs en série : Compte tenu de la relation stochastique nous pouvons traiter chaque t étage comme l’étage 2 avec le changement de variable t → . La m t variable t prend maintenant la valeur . m D’où : ∞ ∞ ν m J (t ) → exp − ∫ z ( )dν = exp −m ∫ z (ν )dν = [ J (t ) ] t m t/m
(9-103)
Modèles
455
Nous avons alors : S (t ; m) = L(t ) [ J (t ) ] F (t ) et compte tenu du résultat précédent J (t ) ≈ L(t ) , il vient : m
(
1− ρ S (t ; m) ≅ 1 − ρ F (t )
)
m +1
(9-104)
F (t )
Le temps moyen de séjour par nœud (du nœud 2 au nœud to (m+1)), est alors : ∞
∞
0
0
S (m) = ∫ [1 − S (t ; m)] dt , ( S (m) = ∫ t
dS (u; m) (t ) dt ) du
(9-105)
Et la durée de séjour totale du nœud 2 jusqu’au nœud m+1 est donc m S (m) (9-106) Evaluons cette expression dans le cas d’une loi de durée de service exponentielle. Dans ce cas , ∀t ≥ 0 F (t ) = 1 − e −t
∞
D’où : S ( p ) = ∫ [1 − 0
(9-107)
(1 + [ρ /(1 −1 ρ )] e −t )
p +1
(1 − e −t )] dt
Posons : u = e −t , il vient :
(
1 1 S ( m) = ∫ [ − 0 u 1 + [ ρ /(1 − ρ )]u 1
Posons v =
S ( m) = ∫
ρ
1− ρ 0
ρ 1− ρ
)
m +1
1− u ( )] du u
u , il vient :
( )
1 1 [ − v 1+ v
m +1
1 − [(1 − ρ ) / ρ ]v ( )] dv v
(9-108)
456
Trafic et performances des réseaux de télécoms ρ
S (m) = ∫ 1− ρ 0
ρ
Or ∫ 1− ρ 0
Et 1 −
(( ) )
1 1 1− 1+ v v
(1 +1 v )
m +1
dv =
m +1
dv +
1− ρ
ρ
∫
ρ
1− ρ 0
(1 +1 v )
m +1
dv
1 [1 − (1 − ρ ) m] m
( ) ( )
m 1 n 1 n + 1 m v = ∑ − =∑ 1+ v n = 0 (1 + v) n +1 (1 + v) m +1 n = 0 1 + v
1
m
D’où S (m) = ∑ n=0
∫
ρ
1− ρ 0
1 (1 + v) n +1
dv +
1 1− ρ [1 − (1 − ρ ) m] m ρ
Et enfin : m 1 1 1− ρ 1 [1 − (1 − ρ ) m] + ln( ) S (m) = ∑ [1 − (1 − ρ ) n] + 1− ρ m ρ n =1 n
(9-109)
Finalement en utilisant la relation de récurrence : W (k ) = ( k − 1) S (k − 1) − (k − 2) S (k − 2) − 1
on obtient l’attente moyenne à un nœud k, ∀ k ≥ 2 : k −2 1 1 ) W (k ) = ∑ [1 − (1 − ρ ) n] + ln( 1− ρ n =1 n
(9-110)
Pour des valeurs de k suffisamment grandes, nous pouvons écrire : (1 − ρ ) n ≅ ln( ρ ) , et aussi, n n =1
k −2
−∑
k −2
1
n =1
où γ est la constante d’ Euler ( γ ≅ 0.577) et donc :
1
∑ n ≅ ln(k − 2) + γ + 2(k − 2)
Modèles
W (k ) ≅ ln[( k − 2)
ρ 1− ρ
]+γ +
1 2(k − 2)
457
(9-111)
Une valeur asymptotique de l’attente est alors : W (k ) ≅ ln[(k − 2) k →+∞
ρ 1− ρ
]+γ
(9-112)
ou encore pour de très grandes valeurs de k : W (k ) ≅ ln(k k →+∞
ρ 1− ρ
)+γ
(9-113)
Le résultat est remarquablement simple compte tenu de la relative complexité des calculs. La figure 9.22 montre la très bonne cohérence entre le modèle et la simulation. Attente moyenne par nœud simulée (S) et calculée (C) pour différentes charges (10..90%)
S50
9
S60
8 durée d'attente
S10 S20
10
S70
7
S80
6
S90
5
C10
4
C20 C50
3
C60
2
C70
1
C80
0 0
5
10
15
20
25
30
35
40
45
50
C90
noeud
Figure 9.22. Attente moyenne par nœud
Généralisation au cas de flux intermédiaires convergents Nous considérons cette fois la possibilité de flux supplémentaires convergents sur un même serveur.
458
Trafic et performances des réseaux de télécoms
Figure 9.23. Files convergentes dans un réseau maillé
Il est possible alors de démontrer [LEG 94a, LEG 94b] que ce réseau peut se ramener à un réseau équivalent de queues séries par un changement du nombre de serveurs m en une valeur appropriée m0. De même, les flux transversaux ayant existés en amont peuvent être ignorés. Nous ne détaillerons pas ici ces résultats. Mais il est important de noter, d’une part, que ces propriétés permettent de traiter le cas général des réseaux maillés et, d’autre part, que les phénomènes d’agglutination peuvent rester sensibles dans des cas très généraux (sous la condition que la réalisation physique conduise à cette situation bien sûr). En conclusion sur le modèle des queues série L’expert en théorie des files d’attente retiendra la nécessité d’adopter dans certains cas une modélisation de bout en bout globale du système. Les comportement à chaque nœud, et en particulier les arrivées, dépendant du comportement aux nœuds précédents. Les messages pouvant être groupés du fait du phénomène d’agglutination, ils deviennent indiscernables et en ce sens ne peuvent être traités individuellement. En toute rigueur, on ne peut plus considérer la notion habituelle de source locale de trafic. D’où la relative complexité du problème. L’expert en performances retiendra essentiellement l’impact important de ce phénomène de queues série sur la busy period et sur la valeur de l’attente locale, quand les conditions de réalisation sont réunies. Il veillera surtout à ce que les réalisations ne conduisent pas à des phénomènes d’agglutination non maîtrisés. Au niveau transport, des techniques telles que le brassage de flux, la limitation de la longueur maximale de messages, l’utilisation de liens à hauts débits, etc., permettront d’éviter ce type de phénomène. Au niveau commande des systèmes, on évitera l’enchaînement de tâches trop longues, créant le
Modèles
459
phénomène de « hoquet » et son effet d’avalanche dans les files de traitements. En pratique, il sera difficile de s’affranchir totalement de situations particulières. Ces problèmes seront alors à traiter au même titre que les situations exceptionnelles telles que les arrivées simultanées (sur panne et basculement, sur top de synchronisation de jeu..). On entre dans le domaine de la défense des systèmes et réseaux en situation extrême, et l’analyse doit alors tenir autant de l’approche déterministe que de l’approche probabiliste. 9.2.6. Matrice de connexion Nous étudions le cas d’une matrice de connexion de type ATM, commutant donc des paquets de longueur constante. La modélisation de ce système, bien que spécifique, va nous permettre de déduire des résultats assez généraux. Soit une matrice avec files en sortie, commutant M liens d’entrée sur M liens de sortie, organisée selon la figure 9.24. 1
M
1
M
Figure 9.24. Matrice de connexion à files en sortie
Soit p la probabilité d’occupation d’un temps cellule d’un lien d’entrée. On suppose donc un processus de Bernoulli d’occupation des temps cellules sur ce lien, ce qui traduit assez bien le comportement réel d’un lien sur lequel ont pu être multiplexés divers courants de trafics. On suppose aussi une parfaite équiprobabilité de routage du trafic et donc chaque cellule a une probabilité 1/M d’aller vers l’une des
460
Trafic et performances des réseaux de télécoms
sorties. La probabilité pour un lien de sortie d’avoir un temps cellule occupé du fait d’une entrée est donc p/M. Notons aussi que la charge du lien de sortie, ou d’un temps cellule, est ρ = p. Calculons alors le nombre de cellules dans le système, en attente d’émission sur un lien de sortie. Pour cela, calculons le nombre d’arrivées sur ce lien pendant un temps cellule. La probabilité que i cellules arrivent simultanément à une sortie donnée à un instant cellule donné, est : P ( xi = i) = CMi ( p / M )i (1 − p / M ) M − i
(9-114)
La fonction caractéristique de P(x) est alors :
φ ( z ) = ∑ pk e zx
k
k
ou en termes de fonction génératrice F ( z ) = ∑ pk z k . k
Et donc (voir aussi le chapitre 4) : M
M
i =0
i =0
X ( z ) = ∑ P ( xi ) z i = ∑ z i CMi ( p / M )i (1 − p / M ) M − i = (1 − p / M + zp / M ) M
(9-115)
Dès lors, nous pouvons appliquer la relation de Pollaczek relative au nombre de clients (ici de cellules) dans le système (voir chapitre 7) : N ( z) = X ( z)
(1 − ρ )(1 − z ) X ( z) − z
(9-116)
Soit : N ( z ) = (1 − ρ ))
(1 − p / M + zp / M ) M (1 − z ) (1 − p / M + zp / M ) M − z
(9-117)
On en déduit les moments par différenciation par rapport à z , et pour z = 1 (voir chapitre 3).
Modèles
461
E ( N ) = N '(1), et σ 2 ( N ) = N "(1) + N '(1) − N '2 (1) E(N ) =
ρ 1− ρ
(1 −
ρ 2
−
ρ 2M
(9-118)
)
2
M ( M − 1) ρ 2 (3 − 2 ρ ) M ( M − 1) ρ 2 σ ( N ) = ρ (1 − ρ ) + + + 2 2(1 − ρ ) 2(1 − ρ ) M2 M 2
M ( M − 1)( M − 2) ρ 3 M3 3(1 − ρ )
A ce stade, il est intéressant de comparer au résultat classique de la file M/D/1. On a (voir chapitre 7) : E(N ) =
1 ρ2 ρ ρ +ρ= (1 − ) 2 1− ρ 1− ρ 2
et : 2
ρ 2 (3 − 2 ρ ) ρ 2 ρ3 σ ( N ) = ρ (1 − ρ ) + + + 2(1 − ρ ) 2(1 − ρ ) 3(1 − ρ ) 2
Ceci met en évidence que dès que M est assez grand (> 10), même sans être vraiment très grand, notre système est équivalent à une file M/D/1. Notons enfin l’expression de l’attente moyenne, obtenue par application de la formule de Little (le taux d’arrivée est 1/p) : E (W ) = (
M −1 1 ρ ) τ , avec τ temps cellule M 2 1− ρ
(9-119)
Un fois encore on note la similitude avec la file M/D/1. Ce résultat est bien sûr évident quand M tend vers l’infini, ce qui est remarquable c’est la rapidité de la convergence. Ainsi l’approximation
462
Trafic et performances des réseaux de télécoms
à la file M/D/1 pourra être appliquée dans la plupart des cas réels. Et plus généralement, dans le cas de paquets de longueur variable, l’approximation à une file M/G/1 sera valide. 9.2.7. Réseau de connexion Le réseau de connexion est un équipement qui permet d’établir un chemin physique de transport des informations entre une entrée et une sortie données pour la durée d’un appel, ou d’une session, ou de tout élément de communication dont la durée ou l’intégrité justifient l’établissement d’un tel chemin. Il peut s’agir bien sûr d’établissement de chemins (circuits) virtuels entre circuits d’entrée et de sortie virtuels, supportés par des liens physiques. Un réseau de connexion comporte par principe plusieurs sous-ensembles, généralement appelés matrices, disposés en étages et interconnectés entre eux. Le but de cet assemblage est de construire des réseaux de très grosse capacité à partir d’éléments de capacité limitée. La figure 9.25 donne le principe d’un réseau à 3 étages. Les étages d’extrémité comportent m matrices à n entrées et k sorties, l’étage central comporte k matrices à m entrées et m sorties. Si la capacité de chaque lien d’entrée ou de sortie est c (par ex c canaux à 64 kbit/s ou c Mbit/s) alors le réseau est dit de capacité nxmxc. Mais cette capacité dépend bien sûr de la capacité d’interconnexion des matrices d’extrémité par l’étage central, donc de la valeur de k, et de la capacité des liens internes. 1 n
1
1 n
m
1
1 1 1
1
k
1 mn m
k
n,
1
1 1 1
1
1
k
m
k m n
k
1 1
m
Figure 9.25. Réseau de connexion à trois étages
n
Modèles
463
De manière très générale, un réseau sera caractérisé du point de vue du trafic par trois grands paramètres : – son blocage, c’est-à-dire la probabilité de ne pas trouver de chemin libre entre l’entrée et la sortie considérées (blocage point à point). Il y aura blocage par exemple si on ne trouve pas un chemin physique disposant de la bande passante minimale requise par la communication ; – son délai de traversée, c’est-à-dire les caractéristiques (moyenne, dispersion, quantiles...) du total des durées d’attente et de service subies par l’information élémentaire (le paquet par exemple) à chaque étage de commutation. Dans un réseau synchrone, comme les réseaux téléphoniques classiques, il n’y aura pas de délai d’attente exceptés quelques délais fixes de resynchronisation. Par contre, dans un réseau asynchrone, ATM ou paquets, chaque étage peut comporter des files d’attente et donc entraîner des délais variables. (Rappelons ici les délais maximaux donnés par Q.551, voir chapitre 2.) ; – la probabilité de perte d’information. Dans un réseau de connexion paquet ou ATM le débordement de file d’attente entraînera la perte de l’information. 9.2.7.1. Calcul du blocage : modèle de Lee-Le Gall Ce modèle est très général et englobe des méthodes de calcul comme celles de Lee, ou de Jacobeus. Reprenons notre exemple d’architecture de réseau à trois étages. Pour simplifier nous prenons pour tous les liens une capacité identique c, c’est à dire que nous affectons une capacité de c places, ou circuits virtuels, par lien représenté. Nous appelons liens A et B les liens entre étage d’entrée et étage central d’une part, et entre étage central et étage de sortie d’autre part. De façon à aider le raisonnement, nous représentons d’abord les chemins possibles pour une communication, entre une entrée donnée et une sortie donnée, par un graphe dit graphe de Lee (voir figure 9.26). On va d’abord établir ce que Le Gall a appelé la « fonction fondamentale » du réseau [LEG 62], sous l’hypothèse de la loi de Bernoulli pour l’occupation des places et chemins à chaque étage. De manière habituelle, on suppose l’indépendance entre étages.
464
Trafic et performances des réseaux de télécoms Chemins
"graphe de LEE”
c (A)
1
1 c (B)
(A) c c (B)
k
k Liens A
Liens A
Liens B
Liens B
Figure 9.26. Graphe des chemins du réseau de connexion à trois étages
Dès lors si on appelle p1 la probabilité qu’une place d’un lien A soit occupée, et p2 la probabilité qu’une place d’un lien B soit occupée, alors la probabilité (B) que tous les chemins possibles entre une entrée de A et une sortie de B soient occupés, est, sous l’hypothèse d’indépendance entre chemins : c
c
B = (1 − (1 − p1 )(1 − p2 ))k
(9-120)
En effet, un chemin n’est libre que s’il y a une place libre sur un lien A et une place libre sur un lien B correspondant. Il y a blocage quand il n’y a aucun chemin libre sur aucun lien. Pour simplifier l’écriture posons maintenant π1 = p1c la probabilité qu’un lien A soit occupé (les c places sont occupées), et π2 = p2c la probabilité qu’un lien B soit occupé, la relation précédente s’écrit : B = (1 − (1 − π 1 )(1 − π 2 )) k = (π 1 + π 2 (1 − π 1 ))k
Et en appliquant la loi du binôme de Pascal : k k ( a + b) k = ∑ a i b k −i i =0 i
(9-121)
Modèles
465
on obtient : B=
k
∑ i =0
k i k −i k −i π 1 π 2 (1 − π 1 ) = i
k
k −i
i =0
j =0
∑ ∑ (−1) π j
i+ j 1
k k −i
π 2k −i i j
C’est la fonction fondamentale du réseau qui s’écrit ainsi : k
B=∑ i =0
k −i
∑ (−1) π j
j =0
i+ j 1
π 2 k −i
k! i ! j !(k − i − j )!
(9-122)
Elle fait clairement apparaître trois termes. Les deux termes en π expriment, de manière indépendante, les probabilités d’occupation des places et chemins à chaque étage sous l’hypothèse de Bernoulli. Et le terme avec les factorielles, indépendant des probabilités d’occupation, traduit l’impact du type de maillage du réseau. Le modèle est généralisable à toute structure maillée avec bien sûr des analyses plus ou moins complexes, mais qui restent du domaine du dénombrement. Dans une deuxième étape, nous nous affranchissons de l’hypothèse binomiale. En effet, il est clair que l’expression du blocage sous la forme précédente ne présente pas grand intérêt sous la seule hypothèse binomiale, l’expression en (1–p) suffirait amplement dans ce cas. Dans la réalité, nous serons amenés à prendre d’autres hypothèses, d’une part selon que les matrices d’extrémité concentreront ou non le trafic, d’autre part selon le mode de recherche de chemin libre (par exemple recherche séquentielle), qui entraînent une dépendance plus ou moins grande entre les places. Nous serons d’ailleurs amenés la plupart du temps à prendre des hypothèses simplificatrices. Dans un premier temps, affranchissons-nous de l’hypothèse d’indépendance entre les liens d’une même matrice. En effet, le trafic issu d’une matrice A est offert globalement à l’ensemble des k liens sortants et donc la probabilité d’occupation d’un lien donné n’est pas indépendante de l’état des autres liens. Grâce à la formulation i+ j k −i précédente en remplaçant π 1 par H i+ j et π 2 par H k − i , nous pouvons écrire :
466
Trafic et performances des réseaux de télécoms k
B=∑ i =0
k −i
∑ (−1) j =0
j
H i+ j . H k -i
k! i ! j !(k − i − j )!
(9-123)
Hj représente la probabilité d’avoir j liens parmi k occupés, quel que soit l’état des k-j liens restants. C’est-à-dire la probabilité d’avoir j × c places occupées parmi c × k places, en effet définir si un lien est occupé est équivalent à définir que les c places données le constituant sont occupées. Dans un deuxième temps, nous devons exprimer cette probabilité H. Comme expliqué précédemment, la loi à utiliser pourra varier selon la nature du trafic offert et du mode de fonctionnement du réseau. Calculons d’abord Hr probabilité d’occuper r places données parmi N sous l’hypothèse souvent vérifiée d’équiprobabilité d’occupation des places. Soit x le nombre total de places occupées sur les N, et soit r ≤ x les places qui nous intéressent. Le nombre de manières d’avoir les r places données parmi les x est le nombre de manières de placer N −r les x–r places restantes dans les x , soit . Et le nombre de x−r N manières d’occuper x places parmi N est . La probabilité d’avoir x N −r x−r r places spécifiées occupées est donc . (9-124) N x
Formule de Palm Jacobeus Une hypothèse plutôt pessimiste consiste à prendre la loi d’Erlang comme loi de distribution de l’occupation de x places sur l’ensemble des N places, A étant le trafic offert. On obtient alors en sommant sur tous les cas possibles : Ax ∑ x! H r = xN= r n A ∑ n=0 n! N
N N −r Ax −r AN ∑ x − r , qui s’écrit encore H = N ! x = r ( x − r )! r N An AN − r N ∑ ( N − r )! n=0 n! x
Modèles
467
Et donc : E ( A, N ) E ( A, N − r )
Hr =
(9-125)
qui est bien connue sous le nom de formule de Palm-Jacobeus. Extension à Engset Nous obtiendrions aisément, de la même manière, une expression semblable à partir de la formule d’Engset. Le lecteur pourra faire l’exercice et vérifier que l’on obtient alors : Hr =
Ε( A, N , S ) Ε( A, N − r , S − r )
(9-126)
avec Ε( A, N , S ) formule d’Engset pour S sources, N serveurs et un trafic A. Cette expression permettra de traiter le cas d’un trafic issu d’un nombre de sources limité. Blocage Dans notre cas, en supposant un trafic d’Erlang, la probabilité d’avoir j liens donnés occupés est celle d’avoir r = j × n places données occupées parmi k × c, et donc : E (ck , A) E (ck , A) E (ck , A) , d’où H i + j = , H k −i = E (c(k − j ), A) E (c(k − i − j ), A) E (ci, A)
Hj =
en supposant le trafic identique aux deux étages. La probabilité de blocage du réseau est donc : k
B=∑ i =0
k −i
∑ (−1) j =0
j
E (ck , A) E (ck , A) k! E (c(k − i − j ), A) E (ci, A) i ! j !(k − i − j )!
(9-127)
Le tableau 9.7 donne quelques exemples de résultats numériques.
468 c
Trafic et performances des réseaux de télécoms 1
5
10
25
50
100
200
k
4
8
16
32
A=0,235
A=7,771
A=21,4
A=69,3
A=156,2
A=338,4
A=714,3
B=4.79.10-4
B=2,44.10-4
B=2,2.10-4
B=2,07.10-4
B=2,029.10-4
B=2,011.10-4
B=2.010.10-4
A=1.42
A=21,4
A=52,7
A=156,2
A=338,4
A=714,3
A=1481,7
B=7,51.10-4
B=2,48.10-4
B=2,17.10-4
B=2,058.10-4
B=2,023.10-4
B=2,016.10-4
B=2.010.10-4
A=5,34
A=52,7
A=120,9
A=338,4
A=714,3
A=1481,7
A=3037,8
B=1,17.10-3
B=2,76.10-4
B=2,36.10-4
B=2,11.10-4
B=2,054.10-4
B=2,028.10-4
B=2.019.10-4
A=15,60
A=120,9
A=264,75
A=714,3
A=1481,7
A=3037,8
B=1,68.10-3
B=3,45.10-4
B=2,68.10-4
B=2,273.10-4
B=2,138.10-4
B=2,074.10-4
Tableau 9.7. Blocage du réseau en fonction du nombre et de la capacité des liens interétages
Il est facile de vérifier que dès que k × c est grand par rapport à k, le blocage est très peu différent de : B = 2 E (ck , A) − E (ck , A) 2
(9-128)
Ceci s’explique aisément par le fait que les cas les plus fréquents de blocage correspondent à : – soit k liens sont totalement occupés au deuxième étage, quel que soit l’état d’occupation au premier étage, ce qui correspond à i = 0 et j = 0, – ou k liens sont occupés au premier étage, quel que soit l’état d’occupation au deuxiéme étage, ce qui correspond à i = k et j = 0. Pour chacun de ces cas, la probabilité de blocage est E (ck , A) . Ce résultat pratique est important car il montre bien l’influence prépondérante de c, capacité (ou débit) des liens internes, par rapport au maillage. Pour compléter ce modèle, considérons le cas particulier et extrême du même réseau avec c = 1. Ce cas simple peut être étudié directement à partir du graphe.
Modèles
469
Comme précédemment, il y a blocage si les places libres parmi les k places possibles à chaque étage ne sont pas en correspondance. Si on appelle i le nombre de places occupées l’étage A et j le nombre de places occupées à l’étage B, tels que i + j = k, la probabilité de blocage est : i k − j k j
C’est le nombre de manières de placer les i places occupée au premier étage en face des k–j libres du deuxième étage, divisé par le nombre de manières de placer les j parmi les k. Et donc, toujours sous l’hypothèse de la loi d’Erlang, en sommant sur tous les cas possibles, on obtient : i A / i! A / j! k − j B=∑ k ∑ k k i =0 A x / x ! j = k −i ∑ A x / x ! ∑ x=0 x =0 j k
i
k
j
qui s’écrit encore : i k k k j − 1 i j / ! / ! B= A i A j ∑ 2 ∑ k k j = k −i i =0 x ∑ A / x ! j x=0
posons u = j – (k – i), il vient :
470
Trafic et performances des réseaux de télécoms
i A A 1 i − u = B= ∑ 2 ∑ k A x i = 0 i ! u = 0 (u + k − i )! k ∑ u + k − i x=0 x! k
i
i
u + k −i
Ai i Au + k −i i ! ∑ 2 ∑ k Ax i =0 i ! u =0 u ! k ! ∑ x =0 x ! k
1
Ak k k! B= 2 ∑ k Ax i =0 ∑ x=0 x! E (k , A)
Au = E (k , A) ∑ u =0 u ! i
1 k Ax ∑ x =0 x!
k
∑ i =0
Au = ∑ u =0 u ! i
1 A2 (1 + (1 + A) + (1 + A + ) + ⋅⋅⋅) x A 2! ∑ x =0 x! k
D’où : B ≈ E (k , A)(1 + k − A)
(9-129)
Ce résultat est remarquable, du fait de sa simplicité (après quelques développements néanmoins, d’où l’intérêt de la méthode de Lee-Le Gall pour les cas plus complexes), mais surtout parce qu’il met encore en évidence l’influence relative de k et c. N’ayant pas beaucoup de possibilités sur chaque lien (ici une seule, c = 1), il faut une très forte valeur de k pour obtenir un blocage faible avec de bons rendements. 9.2.7.2. Cas d’un réseau multidébit L’analyse que nous avons présentée est très générale et s’applique comme déjà expliqué au cas de réseaux TDM (Time Division Multiplexing), ATM (Asynchronous Transfer Mode), ou paquet du moment que les connexions sont établies sur la base de circuit virtuel et à débit identique. L’évaluation du blocage dans le cas du mélange de connexions de débits différents est bien plus complexe mais peut être simplifié et ramenée au cas précédent par quelques considérations simples. En effet, dans la plupart, des cas les débits à transporter
Modèles
471
restent faibles par rapport au débit des liens. C’est d’ailleurs une condition nécessaire pour obtenir des gains significatifs en multiplexage. Dans ce cas, on peut appliquer avec une précision suffisante le modèle du peakedness factor sur chacun des liens, tel que présenté dans le cas du concentrateur multidébit et du multiplexage, et donc aboutir au modèle du réseau réduit. On appelle réseau réduit le réseau initial mais tel que la capacité de chaque lien est divisée par z, valeur du peakedness factor. Par exemple, le graphe des chemins du réseau précédent devient celui de la figure 9.27. 1 c/z
c A!
"
c
1
A/z !
c/z k
k
Figure 9.27. Graphe équivalent du réseau réduit pour un réseau multidébit
Et donc dans les expressions précédentes il suffit de remplacer la formule d’Erlang par sa formule équivalente pour le multidébit : c A E ( , ) , c étant le nombre de places correspondant au trafic de plus z z petit débit pris comme unité. Ainsi, par exemple pour le réseau considéré, le blocage qui était donné par la formule approchée B = 2 E (ck , A) − E (ck , A) 2 devient tout simplement : B= 2E (
c A c A k , ) − E ( k , )2 z z z z
(9-130)
9.2.7.3. Réseau sans blocage On ne peut clore cette section sans évoquer les caractéristiques fondamentales des structures de réseau de connexion sans blocage. En effet, c’est aussi le rôle de l’ingénieur en performances de savoir identifier et comparer des solutions, sans doute plus coûteuses en
472
Trafic et performances des réseaux de télécoms
matériel, mais pouvant aussi simplifier les problèmes de recherche d’itinéraire, de réservation de bande passante et de QoS. Les structures de réseau de connexion sans blocage sont connues sous le nom de structure de Clos. Le principe en est simple au vu des analyses précédentes : étant donné un nombre d’entrées et de sorties possibles sur un réseau, il s’agit d’augmenter suffisamment le nombre de chemins pour qu’il en reste toujours au moins un libre entre une entrée et une sortie libres (ici aussi, on ne s’intéresse qu’au blocage point à point, le cas de toutes les entrées ou sorties occupées est un problème d’accès). Reprenons la structure réseau précédente (voir figure 9.28). Liens A
Liens B 1
1 n
A1 k
1 n
1 k
1 n
1 1 n
1 k
k n
1 k
1
B
n
Figure 9.28. Structure sans blocage
a) Etudions d’abord le cas simple avec c = 1 (une seule place par lien). La condition de non blocage est : k ≥ 2n − 1
(9-131)
En effet, si on veut établir une connexion entre une entrée libre de A et une sortie libre de B, étant données ces entrée et sortie libres, alors il y a au plus n – 1 entrées prises sur A et n – 1 sorties prises sur B. Et donc il y a au plus x = n − 1 liens internes A ou B pris de chaque côté
Modèles
473
du réseau. Pour qu’il y ait au moins deux liens libres (A et B) en correspondance, il faut et il suffit que : k ≥ 2 x + 1 , donc k ≥ 2n − 1 .
On parlera alors d’un réseau à coefficient d’expansion de e = 2–1/n. En effet le nombre de liens internes est e fois plus élevé que le nombre de liens externes… C’est le prix à payer pour n’avoir aucun blocage. b) Etudions maintenant le cas c ≥ 1 . Une place est dite libre s’il y a de la bande passante disponible sur le lien (d’entrée, de sortie, ou interne) correspondant au débit requis par le connexion. De la même manière que précédemment, si on veut établir une connexion entre une entrée libre de A et une sortie libre de B, alors il y a au plus nc–1 entrées prises sur A et nc–1 sorties prises sur B. Et nc − 1 donc il y a au plus x = liens internes A ou B pris de chaque c 1 côté du réseau. Ce qui s’écrit aussi x = n − = n − 1 . c Pour qu’il y ait au moins deux liens libres (A et B) en correspondance, il faut et il suffit que : k ≥ 2 x + 1 , donc k ≥ 2n − 1
(9-132)
On retrouve la condition précédente. c) Etudions maintenant le cas du mélange de connexions de débits constants différents. Soit D le débit d’un lien (toujours supposé le même pour tous les liens). Soit d le débit le plus élevé des connexions à établir. On cherche à établir une connexion quel que soit son débit d i ≤ d . Alors il y a au plus nD – d entrées prises sur A et nD – d sorties prises sur B. nD − d Et donc il y a au plus x = liens internes A ou B pris de D − d + d0 chaque côté du réseau. Avec d0 << d fonction de la modularité des débits à transporter :
474
Trafic et performances des réseaux de télécoms
Ainsi, si tous les services sont identiques de débit d et que D = cd, on a: nD − d nc − 1 x= = = n − 1 . On retrouve la condition précédente, D c soit k ≥ 2n − 1 .
Si les débits des connexions sont différents, le coefficient d’expansion peut devenir bien plus important, selon que d est élevé ou non par rapport à D. A titre d’exemple, considérons le cas où d = D/2. On nD − D / 2 2n − 1 obtient x = = = 2n − 2 . D / 2 + ε 1+ ε ' Et donc avec k ≥ 2 x + 1 , il vient : k ≥ 4n − 3
(9-133)
Ce cas extrême met en évidence le rôle du paramètre d0 qui traduit l’impact des connexions de plus bas débit que d. Concrètement, il faut comprendre qu’une simple connexion de débit d i << d peut à elle seule empêcher l’établissement d’une connexion de débit d, même s’il reste un débit d – di. Conclusion D’un point de vue pratique, on peut dire que lorsque le débit maximum à écouler est nettement inférieur à celui du lien, par exemple 2 Mbit/s sur un lien à 600 Mbit/s, alors le réseau se comporte comme un réseau classique. On peut garantir pour toute connexion de débit inférieur à d, soit un blocage nul, en réalisant l’expansion en 2n – 1, soit accepter un blocage inférieur à celui d’un réseau ne transportant que des connexions de débit d. Les modèles et méthodes présentées permettront d’identifier les structures les mieux adaptées à l’objectif. 9.2.8. Matrice de trafic, méthode de Kruithof Nous abordons maintenant le problème de l’évaluation de la répartition des flux de trafic sur les différentes directions d’un réseau
Modèles
475
de télécommunication au sens large (réseau international, national, local). Cette connaissance est évidemment absolument nécessaire pour déterminer la capacité des équipements à installer. Bien souvent, on sera dans la situation de devoir estimer une nouvelle répartition, du fait de la croissance du trafic, de l’introduction de nouveaux services, ou du fait de l’installation de nouveaux équipements de réseau et d’abonnés. La méthode dite de Kruithof tente de résoudre ce problème. Le problème posé est celui de l’extrapolation de données de trafic. Plus précisément, on connaît la répartition présente des flux dans le réseau, cette répartition est donnée par la matrice de trafics, matrice A dont l’élément ai , j donne la valeur du trafic circulant du nœud i vers le nœud j. On notera N le nombre des nœuds du réseau. Les sommes par lignes et par colonnes, que l’on désignera respectivement par Ai ,. et A., j représentent le trafic sortant du nœud i ou entrant au nœud j : Ai ,. = ∑ ai , j , A., j = ∑ ai , j j
(9-134)
i
Cette matrice est supposée connue pour l’instant actuel t et le problème posé est celui de la prévision de sa valeur pour une époque future, que l’on peut noter t + 1 pour fixer les idées. Les outils de la prévision, basés sur les méthodes générales de planification, prenant en compte les données socio-économiques, permettent de prévoir l’évolution des trafics globaux Ai ,. et A., j (ces trafics sont reliés, par exemple, à la composition de la clientèle connectée aux nœuds et à l’évolution de son comportement). Une prévision directe des ai , j est à l’inverse impossible. La méthode de Kruithof vise à construire une nouvelle matrice, dont la structure soit la plus proche de la matrice initiale, en termes d’affinité entre les lignes et les colonnes. Notons aussi que, de par son principe, la méthode permet, même dans le cas d’une création de réseau, de calculer une matrice vraisemblable sur la seule connaissance (ou hypothèse) des trafics globaux et d’une répartition proportionnelle des trafics.
476
Trafic et performances des réseaux de télécoms
La méthode procède par itérations. Notons ai(,mj ) (t + 1) la prévision du trafic pour l’époque t + 1 à l’issue de l’itération m. ITÉRATION 1.– On effectue sur chaque ligne une homothétie de rapport Ai ,. (t + 1) / Ai ,. (t ) : ai(1) , j (t + 1) = ai , j (t ).
Ai ,. (t + 1) Ai ,. (t )
, i, j = 1,...N
(9-135)
ITÉRATION 2.– De toute évidence, le mouvement sur les lignes va (1) perturber les colonnes, de sorte que les sommes A., j ne seront pas identiques à la prévision. La seconde itération va tenter de remédier à cet écart, en renormalisant par rapport à la valeur cible : (1) ai(2) , j = ai , j .
A., j (t + 1) A.(1)j (t )
, i, j = 1,...N
ITÉRATION 3.– La normalisation de l’étape 2 a bouleversé à son tour les sommes des lignes, on réitère alors l’étape 1 : (2) ai(3) , j (t + 1) = ai , j (t + 1).
Ai ,. (t + 1) A(2) i ,. (t + 1)
, i, j = 1,...N
ITÉRATION 4 ET SUIVANTES.– L’itération 4 est identiques à la 2, et le processus se poursuit jusqu’à ce qu’un critère d’arrêt soit vérifié. Un critère possible sera un test sur l’erreur quadratique :
ε=
1 2N
{ ∑ A
(k ) i ,.
(t + 1) − Ai ,. (t + 1) + ∑ A.,( kj ) (t + 1) − A., j (t + 1) 2
2
}
(9-136) Exemple d’utilisation Supposons la matrice de trafic entre 5 nœuds donnée par le tableau 9.8.
Modèles
477
Vers A
B
C
D
E
Total sortant
10 9 12 19 14 64
20 12 21 23 13 89
25 21 30 14 18 108
18 11 13 10 21 73
24 18 10 19 22 93
97
De A B C D E Total entrant
71 86 85 88 427
Tableau 9.8. Matrice de trafic initiale
Supposons maintenant que les prévisions des trafics entrant et sortant soient données par le tableau 9.9. Vers A
B
C
D
E
De
Total sortant
A
110
B C D E
100 90 105 120
Total entrant
70
100
120
100
135
525
Tableau 9.9. Flux globaux prévisionnels
A la première itération, on multipliera les éléments de la ligne 1 par 110/97, ceux de la ligne 2 par 100/71, etc. D’où une première itération. Les sommes de colonnes, donnant les trafics entrants, diffèrent de la cible, et on procède à l’itération 2, en agissant par colonne.
478
Trafic et performances des réseaux de télécoms
Itération 1 A B C D E ∑
A 11.34 12.68 12.56 23.47 19.09 79.14
B 22.68 16.9 21.98 28.41 17.73 107.7
A 10.03 11.21 11.11 20.76 16.89 70
B 21.06 15.69 20.41 26.38 16.46 100
C 28.35 29.58 31.4 17.29 24.55 131.16
D 20.41 15.49 13.6 12.35 28.64 90.5
E 27.22 25.35 10.47 23.47 30.0 116.5
∑ 110 100 90 105 120
Itération 2 A B C D E ∑
C 25.94 27.06 28.72 15.82 22.46 120
D 22.56 17.12 15.03 13.65 31.64 100
E 31.54 29.38 12.13 27.2 34.76 135
∑ 111.12 100.46 87.4 103.81 122.21
Le même processus est poursuivi, la convergence est toujours très rapide. L’itération 5 fournit la matrice qu’on adoptera comme définitive (voir tableau 9.10). Vers De A B C D E Total entrant
A
B
C
D
E
9.91 11.14 11.43 20.97 16.55
20.78 15.57 20.96 26.6 16.1
25.62 26.88 29.54 15.98 21.99
22.39 17.09 15.53 13.85 31.14
31.31 29.33 12.53 27.6 34.22
Total sortant 110 100 90 105 120
70
100
120
100
135
525
Tableau 9.10. Matrice de trafic finale prévisionnelle
NOTE.– Sur les problèmes de prévision, voir dans la bibliographie le manuel de planification de l’UIT.
CHAPITRE 10
Méthodologie des performances
Dans ce chapitre, nous présentons une méthodologie qui, appliquée au différentes phases de développement des équipements et des réseaux, doit permettre la garantie du respect des objectifs de performance et de qualité de service (QoS). Comme dans le chapitre 2, nous insisterons sur les aspects génériques de la démarche, tout en nous appuyant sur des exemples concrets correspondant aux réseaux et équipements existants. Dans les chapitres précédents, nous avons présenté un aperçu de l’ensemble des paramètres de performances, et les objectifs correspondants généralement requis par les normes ou les fournisseurs de réseaux et de services. Nous avons aussi présenté les outils nécessaires au calcul de ces paramètres. Nous allons maintenant montrer comment mettre en œuvre ces différents éléments au sein d’une méthodologie réellement intégrée au cycle de vie de développement des produits et des réseaux. Cette méthodologie tend à garantir à la fois au fournisseur d’équipements la tenue des objectifs dans les délais impartis, au fournisseur de réseau des équipements conformes à son cahier des charges, et enfin à l’usager une fourniture de service conforme à ses aspirations. Concrètement, nous montrons ici les différentes facettes du métier d’évaluation des performances, en mettant en évidence plus particulièrement la nécessité d’une démarche globale et cohérente,
480
Trafic et performances des réseaux de télécoms
depuis le tout début du projet jusqu’à son expérimentation et même sa phase opérationnelle. 10.1. Les phases de vie d’un projet Le développement d’un système, ou la mise en place d’un réseau de télécommunication suit en règle générale ce qu’on appelle un cycle de vie en V, comme représenté en figure 10.1. Suivi et maintenance
Besoin du client
Objectifs de performance
Produit en clientèle
Observations de charge, suivi des performances
Analyse du besoin
Validation
Essais en charge et surcharge
Essais Analytiques
Analyse générale Modélisation, et règles de dimensionnement
Production et programmation
Mesures unitaires de performances
Mesures Mesures de code de code
Figure 10.1. Cycle de vie du projet et activités de performance
On y reconnaît six activités majeures qui sont : l’analyse du besoin, l’analyse générale, la production, les essais analytiques, la validation et le suivi-maintenance. La méthodologie d’évaluation des performances va y associer aussi six activités qui sont : la définition des objectifs de performance, la modélisation des architectures, les mesures de code, les mesures dites unitaires de performance, les essais en charge, le suivi des performances en exploitation. Pour chacune de ces activités, que nous allons détailler, seront normalement réalisés un ou des documents, répertoriés dans le tableau 10.1.
Méthodologie des performances Documents de performance Titre Objet 1-Environnements de Précise les hypothèses de trafic, les référence et conditions mécaniques et climatiques, objectifs de les capacités et objectifs de performance performance à charge normale et en surcharge. Définition 1-Modélisation des Modélise l’architecture en termes de performances en clients et serveurs, évalue les capacités de l’architecture et les délais de réponse. Propose des Trafic solutions. Modélise l’architecture en termes de 2-Modélisation des redondances, de mécanismes de performances en défense, en déduit la disponibilité etc. Sûreté de Propose des solutions. Fonctionnement Définit les capacités de chaque élément 3-Règles de dimensionnement et les règles de calcul du nombre nécessaire pour écouler le trafic. 4-Stratégie de test en Définit la liste des essais à effectuer trafic et Sûreté de pour vérifier les performances, et les moyens de test nécessaires. Fonctionnement Phase du projet Elaboration du contrat
Développement du code
Essais analytiques
1-Définition des mesures de code. 2-Mesures et résultats 1-Définition des mesures unitaires de performances 2- Mesures et résultats
Validation /Intégration
1-Définition des essais en charge et surcharge 2-Définition des essais en Sûreté de Fonctionnement 3-Essais et résultats
Support client
1-Présentation des performances 2-Suivi sites
Définit les parties de code à mesurer. Interprète les mesures et fait la synthèse des résultats. Définit les types d’appels, et de traitements à mesurer (temps UC etc.). Interprète les mesures et fait la synthèse des résultats. Définit les mix d’appels à tester, les capacités en charge et surcharge à vérifier. Définit les fautes à injecter, les mécanismes de défense à vérifier. Interprète les essais et fait la synthèse des résultats. Présente les performances et les règles de dimensionnement aux clients. Observe le comportement sur site. Analyse, explique, corrige les problèmes sites. Tire les enseignements.
Tableau 10.1. Activités et documents de performances
481
482
Trafic et performances des réseaux de télécoms
Détaillons maintenant les principales tâches et donnons des exemples. 10.2. L’analyse du besoin La définition des objectifs de performance et des environnements de référence La phase d’analyse du besoin se situe en amont de la vie du projet et préside en fait à sa naissance. Elle consiste à analyser les spécifications externes, les normes et les cahiers des charges, pour identifier en termes de services (fonctions et capacités) le contenu du projet, les délais et coûts de réalisation associés. Durant cette phase, l’ingénieur en performance va participer à la définition des objectifs globaux de capacité des équipements projetés, et identifier les principaux paramètres de performance et objectifs à respecter, ainsi que les environnements de référence à considérer (en trafic et en sûreté de fonctionnement). Ces trois aspects sont intimement liés : déterminer une capacité d’écoulement de trafic n’a de sens que si on définit les hypothèses de trafic, c’est-à-dire les mix, ou proportions d’appels de chaque type à traiter, et les temps de réponse ou taux de perte attendus. En effet, par exemple, à l’évidence le débit requis par un service vidéo (plusieurs Mbit/s) n’est pas le même que celui requis par de la voix (quelques kbit/s). De même, un appel téléphonique avec services supplémentaires requiert plus de ressources qu’un appel ordinaire, et aussi tout simplement un appel inefficace (échouant par encombrement par exemple) occupe moins longtemps les ressources réseaux qu’un appel efficace donnant lieu à une communication de plusieurs minutes, voire plusieurs dizaines de minutes pour des sessions IP. Enfin, les exigences de temps de réponse plus ou moins sévères peuvent modifier considérablement le nombre et la nature des équipements à mettre en œuvre, et donc le coût des produits développés, et en final le coût du projet. 10.2.1. Les environnements de référence en trafic Lors de la définition des objectifs de performance et en particulier de capacité, il est bien clair qu’il faut définir ce que l’on veut traiter
Méthodologie des performances
483
comme types de services et pour quels volumes de trafic. Il est tout aussi clair qu’il ne s’agit pas de définir un produit ou réseau pour une unique valeur et un unique mélange de trafics, ni à l’inverse de concevoir un produit apte à tout. Ce serait irréaliste et bien peu compétitif. On va donc plutôt définir un ou plusieurs modèle(s) de référence que l’on appellera mix de référence. Comme on va le voir, ils traduiront les proportions d’activation de chacun des types de trafic, à partir desquels il sera suffisant de déterminer et tester les caractéristiques des architectures à tenir les objectifs de performance. En partant donc d’une population d’usagers typique, décrite par la proportion de chaque catégorie (professionnels, résidentiels, grandes et petites entreprises...) il va y être associé des services et ce que l’on appelle des taux de pénétration de services et des taux d’activation des services. Par exemple, on dira très logiquement qu’un usager professionnel (une grande entreprise par exemple) utilisera plus la vidéoconférence à haut débit qu’un usager résidentiel (l’abonné « normal » à son domicile ne sera pas équipé du matériel nécessaire, il utilisera un service plus sommaire). A taux de pénétration semblable, on dira de même que le taux d’utilisation ou d’activation d’un service comme la simple communication de parole ou l’échange d’e-mails, sera bien plus important chez un professionnel que chez l’usager résidentiel (le nombre d’appels par unité de temps, ou le nombre d’erlangs par usager, est incomparable). L’autre dimension à considérer lors de l’établissement d’un mix de référence est celle des flux de trafic relatifs à la détermination de la matrice de trafic. En effet, que ce soit au niveau d’un réseau ou d’un élément du réseau, il est nécessaire de distinguer les flux arrivée, des flux départ, locaux et transits tels qu’expliqués dans le chapitre 1. Pour concrétiser ceci, nous donnons ci-après quelques exemples de mix, dans le domaine de la téléphonie fixe, mobile et dans le domaine de l’IP. Nous ne détaillerons pas la démarche suivie pour l’obtention de chacun de ces mix, mais nous en donnerons un exemple et montrerons surtout comment, in fine, le résultat doit être avant tout synthétique. A titre de premier exemple, dans le domaine de la téléphonie fixe, on distingue en général quatre catégories d’usagers : les usagers
484
Trafic et performances des réseaux de télécoms
résidentiels, les petites entreprises, les entreprises moyennes, et les grandes entreprises. En outre, on devra distinguer les usagers équipés de lignes à haut débit ou non (abonnés RNIS, abonnés ADSL, etc.). Pour chacune de ces catégories, on affecte un taux d’équipement et un taux d’utilisation. Puis, compte tenu de la répartition de la population, on obtient les caractéristiques de la demande moyenne. Les tableaux 10.2 et 10.3 résument cette démarche pour les abonnés « fixes » dans un pays très équipé et à forte efficacité. Il ne s’agit que de valeurs indicatives illustrant une démarche qui s’applique de manière très générale à tous les types de réseaux et de services comme on va le voir plus loin. Pénétration et activité Catégorie Nombre d’abonné d’accès 64 kbit/s résidentiel 1 Petite entreprise 1 ,2 Moyenne 2,7 entreprise Grande 92 entreprise
Activité en erlang/accès
Activité en BHCA/accès
Répartition %
0,04 0,12 0,15
0,96 2,88 3,6
84,4 14,1 1,49
0,3
7,2
0,01
Tableau 10.2. Service téléphonique : pénétration et activité
La durée moyenne d’appel est prise ici égale à 150 s, ce qu’on vérifie aisément : (0,96 × 150)/3600 = 0,04). Compte tenu de la répartition des abonnés, on obtient une valeur moyenne pour l’abonné moyen : Abonné « moyen »
Nombre d’accès 64 kbit/s 1,06
Activité en erlang/accès
Activité en BHCA/accès
Répartition %
0,06
1,44
100
Tableau 10.3. Service téléphonique : pénétration et activité moyennes
Ce type de démarche sera effectué pour différents types d’accès et de service. A ce stade on obtient donc une expression de la demande (en appels et en erlangs) par abonné. Il est très important de noter que cette expression nous permettra de relier les capacités des
Méthodologie des performances
485
équipements en termes d’appels, aux capacités en raccordement d’abonnés : un équipement capable de 1 appel/seconde sera capable de traiter le trafic de 3 600/1,44 = 2 500 abonnés « moyens ». Pour déterminer la capacité de traitement, il nous faut préciser maintenant le mix d’appels. Toujours dans le cas simple de la téléphonie fixe, pour commencer, on distingue généralement deux mix typiques : le mix à forte efficacité qui correspond aux pays très bien équipés, et le mix à faible efficacité qui correspond plutôt aux pays moins bien équipés, généralement en cours de développement. L’efficacité est un paramètre important car les traitements des appels et les ressources engagées diffèrent notablement, comme déjà évoqué. Pour les mêmes raisons, il est nécessaire de préciser aussi le taux d’utilisation des services IN abonnés tels que le CNIP (Call Name Identity Presentation), la carte de crédit, le libre appel (free phone), la boîte vocale, etc., et réseaux tels que la portabilité, le service prepaid (votre compte est approvisionné pour une certain nombre d’appels), les listes black and white (fitrage des appels). On regroupera pour simplifier ici ces services en deux catégories : simples et complexes. Du point de vue du traitement, ces services viendront se rajouter comme des suppléments aux appels de base (départ, arrivée...). Les tableaux 10.4 et 10.5 résument les principales caractéristiques d’un centre d’abonnés « fixes ». Les valeurs sont bien sûr indicatives mais issues de cas réels. Mix Forte efficacité Type d’appel %Flux % Efficace % Non réponse % Occupation % Numérotation incorrecte Caractéristiques générales et services supplémentaires Durée moyenne d’appel Durée moyenne de conversation % services IN simples/appel % services IN complexes/appel
Interne 17 58 15 10 17
Départ 40 58 15 10 17
Arrivée 33 70 18 12 0
160 s 228 s 30 5
Tableau 10.4. Service téléphonique fixe : mix Forte efficacité
Transit 10 70 18 12 0
486
Trafic et performances des réseaux de télécoms Mix Faible efficacité Type d’appel % Flux % Efficace % Non réponse % Occupation % Numérotation incorrecte % Echecs réseaux Caractéristiques générales et services supplémentaires Durée moyenne d’appel Durée moyenne de conversation % services IN simples/appel % services IN complexes/appel
Interne % 5 40 10 25 25 0
Départ % 50 36 9 23 22 10
Arrivée % 30 47 11 29 13 0
Transit % 15 42 10 26 12 10
60 s 100 s 10 5
Tableau 10.5. Service téléphonique fixe : mix Faible efficacité
Le lecteur observera les différences notables en occupation (un poste de particulier joue en quelque sorte le rôle de « cabine » dans un pays peu équipé), en numérotation incorrecte et échec réseau (le réseau est parfois sous-dimensionné ou partiellement hors service). Il faut noter bien sûr que ces « modèles » évoluent rapidement avec l’évolution des pays concernés. Considérons maintenant un autre exemple important, celui de la téléphonie mobile. Cet exemple est intéressant à plus d’un titre. En effet, il faudrait en principe suivre une approche détaillée pour caractériser les différents abonnés (piétons, automobilistes, etc.) en termes de mobilité, en fonction de la taille des cellules, de l’organisation du réseau. En fait, l’usage a très vite conduit à une caractérisation macroscopique très proche de celle des réseaux fixes, c’est-à-dire en termes d’appels OC (Originating Call ou appel départ), TC (Terminating Call ou appel arrivée), GW (Gateway ou appel rerouté, en transit), et en y rajoutant les attributs typiques de la mobilité que sont les taux de HO (Handover ou changement de zone de couverture) et de LR (Location
Méthodologie des performances
487
Register ou localisation de l’abonné), traduisant ainsi une mobilité moyenne observée sur le réseau considéré. En outre, les opérateurs on trouvé plus pratique d’associer directement la valeur de l’activité aux différents types d’appels. On aboutit ainsi à un tableau unique, fusion des tableaux activité et mix d’appels précédents. Il ne s’agit que de présentation, celle-ci pouvant évoluer avec l’usage et le besoin. En pratique, là aussi, on a été amené à distinguer deux grands types de mix : le mix à moyen trafic correspondant en fait au cas « normal » des pays déjà bien équipés en téléphone fixe, et le mix à fort trafic correspondant plutôt à des pays ayant donné une très forte priorité au développement de leur réseau mobile (voir tableaux 10.6 et 10.7). Enfin se rajoutent à ces caractéristiques, comme pour le « fixe », les services supplémentaires IN tels que le service Prepaid (type Mobicarte), mais aussi un type particulier d’appel : le service des SMS (Originating et Terminating) ou service des messages courts (Short Messages Service) qui n’utilise que les ressources de la signalisation. Mix Moyen trafic Type d’appel
OC
TC
GW
OSMS
TSMS
Nombre d’appels/heure/MS 0,487 0,3 0,357 0,15 0,15 % Efficace 70 55 70 100 50 % Non réponse 10 20 10 50 20 20 % Occupation 5 % Demandé Non accessible 20 % Inefficaces re routés vers 80 messagerie vocale HO intra HO inter LR intra LR inter Mobilité Evénements/heure/MS 0,27 0,10 0,6 inter 1,2 inter Caractéristiques générales et services supplémentaires Durée moyenne d’appel Durée moy. de conversation % services IN simples /appel % services IN complexes/appel
120 150 20 10
Tableau 10.6. Service téléphonique mobile : mix Faible trafic
488
Trafic et performances des réseaux de télécoms Mix Fort trafic Type d’appel
OC
TC
GW
OSMS
TSMS
Nombre d’appels/heure/MS 3 2,1 2 0,05 0,05 % Efficace 70 68 70 100 50 % Non réponse 20 1 20 50 % Occupation 2 10 10 % Demandé non accessible 29 % Inefficaces re routés 50 vers messagerie vocale Mobilité HO intra HO inter LR intra LR inter Evénements /heure/MS 0,13 0,05 0,9 inter 0,9 inter Caractéristiques générales et services supplémentaires Durée moyenne d’appel Durée moy. de conversation % services IN simples /appel % services IN complexes/appel
80 100 20 10
Tableau 10.7. Service téléphonique mobile : mix Fort trafic
Considérons maintenant un dernier exemple complémentaire, celui de la caractérisation d’un environnement IP, multiservice. Bien que ce domaine soit encore en totale évolution, on peut d’ores et déjà identifier des caractéristiques essentielles (voir chapitre 9) : – la distinction en trois grands niveaux d’activité : le niveau appel ou session, le niveau flot et le niveau paquet ; – la distinction en deux grandes catégories de trafics, les trafics stream ou à contrainte temps réel et les trafics élastiques, sans contrainte temps réel forte. Les études de modélisation des performances et de dimensionnement relatives à ces trafics ont en effet permis de montrer en particulier que : – d’une part, pour le trafic élastique il est suffisant de connaître le volume moyen des flots offert au réseau et à ses équipements, les dimensionnement et les performances s’évaluant par le modèle processor sharing ;
Méthodologie des performances
489
– d’autre part, pour les flux de type stream, la connaissance de la moyenne et de la variance des débits des flots suffit au dimensionnement et à l’évaluation des performances par l’utilisation de modèles de type Erlang multidébits. Le tableau 10.8 résume le cas d’une étude prospective pour un groupe d’usagers d’un réseau multiservice IP utilisant les services stream suivants : service de parole avec codage à 64 kbit/s (G.711), ou avec codage G.729 avec suppression des silences, services de vidéo conférence (H.261) et de visiocommunication (H.263), services vidéo temps réel de haute qualité (MPEG 2), et de moindre débit (MPEG 4), et enfin des services élastiques tels que le Web (e-mail, etc.) et le transfert de fichier (FTP). Rappelons qu’il s’agit bien sûr d’un abonné « moyen ». Le lecteur attentif notera que lorsqu’il s’agit de trafic de type ON-OFF (G.729 avec VAD), tels que décrits dans le chapitre 9, le débit crête et la moyenne sont seuls donnés, la variance s’en déduisant directement. Pour les trafics vidéo par contre la variance est nécessaire. Pour les trafics élastiques (Web et FTP), seule la moyenne est nécessaire (voir chapitre 9). Service Pénétration/ usager Activité (erlang) Débit/flot - crête (kbit/s) - moyenne - variance
VoIP
VoIP
G711
G729A
0,5
H261
H263
MPEG2 MPEG4
WEB FTP
0,5
0,01
0,01
0,1
0,2
1
0,01
0,1
0,1
0,1
0,1
0,1
0,1
0,1
0,1
80
24
384
128
80
12
384
128
500 2502
64 322
15
8
Tableau 10.8. Mix dans un environnement multiservice
Pour une caractérisation complète de la demande, il faudra associer à cette description des valeurs sur l’efficacité, les flux, similaires à celles présentées dans les tableaux précédents.
490
Trafic et performances des réseaux de télécoms
Nous arrêtons ici nos exemples car il s’agit surtout de retenir la démarche pour pouvoir l’appliquer et l’adapter aux différentes situations d’un domaine en perpétuelle évolution. Considérons maintenant les aspects relevant de la sûreté de fonctionnement. 10.2.2. Les environnements de référence en sûreté de fonctionnement Il s’agit ici de définir principalement deux grands types de paramètres : ceux décrivant les conditions climatiques et mécaniques de fonctionnement servant à calculer les taux de défaillance des composants, cartes, supports de transmission, etc., et ceux caractérisant la politique de maintenance servant à calculer la disponibilité des équipements et des réseaux. On distinguera ainsi les équipements devant fonctionner au sol, de ceux embarqués sur satellites et de ceux soumis à un environnement sous-marin. Ces environnements sont généralement bien définis dans ce qui est appelé les recueils de fiabilité et il en résulte des règles, souvent simplement des coefficients, à appliquer aux formules de calcul des taux de défaillance des matériels. Quant au logiciel, on considérera son taux de défaillance comme pratiquement indépendant de ces contraintes car le facteur prépondérant est très largement le taux d’utilisation du code, et donc seulement fonction du trafic. Nous donnons ci-après comme exemple le cas des systèmes de télécommunication au sol, en salle protégée (air conditionné, bâtiments antisismiques, etc.). Cet environnement est appelé classiquement sol-fixe-protégé ou ground benign en anglais. Conditions mécaniques et climatiques Accélération 1 m/s2 Vibrations Fréquence 200 Hz Amplitude 50 m/s2 Chocs Durée 22 ms Taux d’humidité relative 40 à 70 % Ambiante au niveau Température 40 °C composant Tableau 10.9. Conditions d’environnement mécaniques et climatiques
Méthodologie des performances
491
Concernant la maintenance (voir chapitre 2), elle est caractérisée par les différents délais d’intervention et par les temps de réparation sur site que s’autorise l’exploitant. C’est en fait un compromis entre les conséquences sur le service offert à l’usager et l’objectif de faciliter la maintenance, par exemple en autorisant des interventions différées. Le tableau 10.10 donne un exemple de valeurs moyennes adoptées par plusieurs opérateurs. Conditions de maintenance Type d’intervention Délai d’intervention Intervention immédiate 3,5 heures Intervention différée 12 heures Intervention sans impératif 72 heures Temps moyen de réparation sur site : 30 minutes Tableau 10.10. Conditions de maintenance
10.2.3. Objectifs de capacité et de qualité de service Ayant définis les environnements de référence en trafic et en sûreté de fonctionnement, il faut ensuite définir, sous ces conditions, les objectifs de capacité, principalement en termes de : – nombre d’Erlang, – nombre d’appels, – nombre de paquets à écouler, – nombre d’usagers, – nombre de circuits, de liens STM, etc. raccordables, – les paramètres de QoS exigés. Concernant les capacités de traitement et de raccordement, il s’agit en fait de fixer à la fois des objectifs marketing et des objectifs de modularité. D’une part, on vise à satisfaire différents secteurs de marché, et ce peut être des équipements d’accès (pour aller chercher des grappes d’usagers), ou à l’inverse des gros commutateurs ou routeurs dans le cœur des réseaux. D’autre part, les équipements doivent être modulaires pour s’adapter aux différents besoins en capacité et au souci d’évolution des clients (un même exploitant peut
492
Trafic et performances des réseaux de télécoms
gérer des réseaux différents (accès, cœur, fixe, mobile), mais doit aussi prévoir des extensions de capacité de ses équipements, des évolutions de services. Les objectifs en capacité de traitement s’exprimeront essentiellement en termes de capacité de traitement en BHCA, paquets/s, messages/s. Les objectifs en capacité d’écoulement de trafic s’exprimeront en Erlang. Et les objectifs en capacité de raccordement s’exprimeront en nombre d’abonnés et de liaisons raccordables (Mic, STM, etc.). Rappelons que ces objectifs seront précisés principalement pour le niveau de charge B (le plus sévère généralement), mais aussi pour le niveau de charge A (voir chapitres 1 et 2). Concernant la QoS et les paramètres de performance associés, il s’agit d’abord d’identifier et de sélectionner les paramètres et les normes s’appliquant au projet étudié : normes en trafic, normes en sûreté de fonctionnement, normes en surcharge (voir chapitre 2). On ne rappellera généralement que quelques paramètre fondamentaux. On donne ci-après un exemple succinct dans le cas d’un nœud d’accès. Performances en trafic Paramètre Temps d’établissement à l’accès en départ (Q543) Temps d’émission d’indication d’arrivée d’appel (Q543) Temps de libération à l’accès (Q543) Probabilité de refus d’appel à l’accès (Q.543) en : – départ – arrivée Temps de transfert d’un message /paquet temps réel (Q766/Y1541) Variation du temps de transfert d’un paquet IP à 10-3 (Y.1541) Temps de transfert d’un échantillon de parole à travers un commutateur (Q.551)
Charge normale (A) Moyenne 95%
Charge élevée (B) Moyenne 95%
600ms 650ms
800ms 900ms
800ms 1000ms
1200ms 1600ms
250ms
300ms
400ms
700ms
0,5% 0,5%
Non applica ble
3% 3%
Non applicable
180ms/ 100ms
360ms
450ms
900ms
50ms
Non spécifié 1,5ms
Non spécifié Non spécifié
Non spécifié Non spécifié
0,9ms
Tableau 10.11. Objectifs de performances en trafic
Méthodologie des performances
493
Performances en sûreté de fonctionnement Indisponibilité d’un équipement d’accès pour : – un usager – tous les usagers de cet accès (Q541 et opérateurs) Libération prématurée au niveau d’un nœud (Q543) Charge de maintenance au niveau d’un nœud d’accès (opérateur)
30 mn/an 3 mn/an 2 10-5 < 15 pannes par an et par 10 000 usagers
Tableau 10.12. Objectifs de performances en sûreté de fonctionnement
On pourra aussi, pour des raisons de marché, spécifier des objectifs de performance plus ambitieux. On devra surtout donner des directives quant à la répartition de ces valeurs entre les différents sousensembles (quel « budget » pour chacun : raccordement, matrice, commande), et s’assurer de la faisabilité. Ainsi, à ce stade, un important travail de préétude aura déjà dû être effectué. Le document de spécification des objectifs de performance et environnements de référence est donc un document de synthèse décisif pour la réussite du projet. A ce titre, il sera discuté et approuvé par les responsables projet comme par les responsables marketing. 10.3. Modélisation Nous abordons maintenant ce qui constitue avec les essais le cœur de notre métier. Lors de la phase dite d’analyse générale, lorsque se définit l’architecture générale du système, l’activité de modélisation va traduire le fonctionnement temps réel en termes de clients et serveurs et en évaluer les performances. Ce travail de modélisation va contribuer fortement au choix des architectures les plus appropriées à fournir le service demandé, selon les critères de qualité de service requis. Le travail de modélisation sera très varié selon la nature du projet, selon qu’il s’agit d’un projet complètement nouveau du point de vue matériel et logiciel, ou d’une simple évolution matérielle ou logicielle. De manière à couvrir l’ensemble des techniques à utiliser, nous allons
494
Trafic et performances des réseaux de télécoms
illustrer cette activité à travers un exemple de projet totalement nouveau. La première étape consiste à établir les schémas d’établissement d’appels, le cheminement des flux des informations échangées à travers les équipements et les réseaux pour, d’une part, identifier les traitements à effectuer et, d’autre part, identifier les ressources, ou serveurs, intervenant du point de vue de la qualité de service. Les diagrammes de flux de messages de commande et d’information d’usager seront établis pour les différents services, dans le même esprit que ceux présentés dans le chapitre 2. A partir des mix de trafic et des objectifs de capacité, on déterminera les volumes des différents flux, les traitements associés et les ressources engagées. On distinguera a priori deux grands types de ressources : les unités de traitement et les unités de défense. Ces notions correspondent à des entités qui peuvent être considérées comme indépendantes du point de vue du trafic, ou de la sûreté de fonctionnement. Elle peuvent être relatives au plan de commande ou au plan usager. Une unité de traitement peut être par exemple un bloc fonctionnel (une entité logicielle de traitement), un processeur, ou une station à plusieurs processeurs, un lien de transmission, etc., tels que l’impact sur l’écoulement du trafic est bien identifié. De même, une unité de défense peut être un processeur, une station multiprocesseur, un nœud réseau ou un lien, etc. Une unité de défense correspond à un ensemble matériel et logiciel qui peut être mis hors service en cas de faute et dont l’impact sur la continuité du service est clairement identifié. Ces unités vont être ensuite caractérisées en termes de performance. Pour les unités de traitement on définira ainsi le type de service : processor sharing, service cyclique, serveur M/M/1, M/D/1, etc. ainsi que le mode de gestion des files d’attente et les priorités. A cet effet, on se référera aux modèles théoriques que nous avons présentés dans les chapitres précédents. La détermination des lois de durées de services se fera sur la base des caractéristiques des flux à traiter et compte tenu des mix. Ainsi des traitements logiciels d’établissement d’appel pourront suivre une
Méthodologie des performances
495
distribution exponentielle ou constante. Au contraire, des longueurs de paquets auront plutôt des distributions à faible décroissance (heavy tailed). A chaque fois, il faudra ne pas oublier l’influence des mix, qui heureusement bien souvent nous ramènent à des distributions simples (exponentielle par exemple). Quant à la durée de service elle-même, s’il est facile de l’évaluer pour un message ou paquet sur un support de transmission, il est plus complexe de l’estimer pour une durée de traitement de logiciel. C’est ici qu’on utilisera les méthodes de prévision des puissances processeurs telles que présentées précédemment : décomposition en primitives, extrapolation, specinteger… Pour les unités de défense, on définira les taux de défaillance (matériel et logiciel), le type de redondance, les temps de basculement et de reconfiguration. Pour ce faire, on se référera aux modèles présentés dans le chapitre 6. On définira aussi le nombre de sessions, d’appels, simultanément en cours et éventuellement concernés par une défaillance. De même, des messages, des paquets peuvent être perdus sur défaillance, même avec des routages de secours. Enfin la dernière étape consistera à évaluer les paramètres de performances tels qu’exprimés dans les spécifications d’objectifs de performance et bien sûr les normes. C’est ici qu’on utilisera les modèles de calcul théoriques développés dans les chapitres 6 et 7. A cet effet, du point de vue du trafic, pour chaque paramètre concerné, on établira la séquence des traitements requis et la série des ressources engagées conformément aux diagrammes présentés dans le chapitre 2. Puis sur la base des hypothèses de trafics et des modèles précédemment définis, on évaluera la charge de chaque entité et les temps de réponse, ou probabilités d’échec individuels. Enfin, on évaluera le comportement global des éléments en série sur la base des propriétés de la somme de variables aléatoires. Bien souvent, heureusement, nous pourrons considérer les éléments en série comme indépendants, et donc utiliser les propriétés des produits de convolution de variables indépendantes comme présenté au chapitre 3. Surtout si on a pris soin de respecter, lors de la conception du système, les règles préconisées au chapitre 9 à propos des réseaux de queues. Plus simplement encore on pourra, par exemple, approximer un temps
496
Trafic et performances des réseaux de télécoms
de réponse global par une loi normale ou Gamma, dont les moments seront la somme des moments des lois individuelles. Pour concrétiser tout ceci, nous allons traiter quelques exemples, en procédant du niveau le plus bas au niveau le plus général, c’est-à-dire du niveau équipement au niveau réseau. 10.3.1. Temps de traitement d’un message Cette première évaluation est indispensable pour estimer, par exemple, la capacité d’un équipement de commande, et par la suite comme nous le verrons un peu après, pour évaluer les temps de réponse des systèmes. En fait, même dès la phase de définition des objectifs, des premières évaluations de ces temps de traitement, avec celles du nombre de messages à traiter en fonction des mix retenus, permettront de déterminer la faisabilité d’un objectif global de capacité, ainsi que la technologie ou le nombre d’équipement à employer. Comme nous l’avons vu au chapitre 9, l’exercice est à hauts risques lorsqu’on aborde à la fois un projet nouveau et des technologies nouvelles. Cependant, en associant l’expérience, l’analyse et les mesures, on peut obtenir des premiers éléments significatifs. Reprenons notre modélisation de la carte processeur. Précisons tout d’abord que la notion de « message » utilisée ici et qui correspond plutôt à des messages réellement échangés sur un bus, pourrait tout aussi bien s’appliquer à des messages échangés entre blocs logiciels. Le temps de traitement d’un message se décompose en trois grandes parties : la réception du message avec l’activation du processus consommateur (primitive receive), le traitement de niveau applicatif du message et l’émission du message subséquent (primitive send). Nous allons appliquer le modèle d’évaluation du temps d’exécution d’une instruction processeur décrit dans le chapitre 9. Nous rappelons le modèle simplifié suivant : I = hip .tic + (1 − hip ) ( tim ) + di (1 − hdp ) ( tdm ) + d e .(ae + te )
Méthodologie des performances
497
avec : hip = taux d’instructions dans le cache primaire, tic = durée d’exécution dans le cache, tim = durée d’exécution pour une instruction en mémoire privée ; di = taux de lecture de data par instruction ; hdp = taux de data dans le cache primaire, tdm = durée d’accès à une data dans la mémoire privée ; de = taux de lecture de données en mémoire d’échange, ae+ te = temps de lecture de la mémoire d’échange. En réception de message : Les données traitées sont majoritairement en mémoire d’échange locale, le code est limité mais exécuté par intermittence, le taux d’accès aux datas par instruction est di = 0,6. On évalue la taille du code à environ 200 instructions avec un taux de hip proche de 0.8. Et il y a pour chaque message : gestion des files (exploration, déchaînage, gestion des tables d’occupation) et transfert du message en mémoire privée. On retrouve en fait notre exemple du chapitre 9. Avec un processeur à 266 MHz on avait obtenu : tic = 3,76 ns, tim = 23 ns, tdm = 151 ns, ae = 1510 ns, te = 944 ns . D’où : P receive = 200 × 0,8 × 3,76 ns+ 200 × 0,2 × 23 ns + 200 × 0,6 × 0,2 × 151 ns + 1 × (1 510 ns + 944 ns) ~ 7 600 ns En émission : Sans détailler admettons une valeur semblable pour l’émission d’un message : P send = 7,6 µs Evaluons maintenant le coût d’un traitement applicatif. Nous sommes dans le cas de logiciels avec de nombreux changements de contextes (type processeur sharing sur plusieurs processus d’établissement ou de rupture d’appels).
498
Trafic et performances des réseaux de télécoms
L’analyse du code conduit à un nombre d’instructions de l’ordre de 2 500, avec un taux de hip de 0,6. Dans ces phases, il n’y a pas d’échanges externes. On a un taux d’accès aux données, par instruction, de 0,6 et les données sont aussi dans le cache avec un taux de hdp = 0,6. On a donc comme dans notre exemple du chapitre 9 : I appli = 2 500(0,6 × 3,76 ns + 0,4 × 23 ns + 0,6 × 0,4 × 151ns) ~ 119 000 ns Et donc finalement : I = 7,6 + 119 + 7,6 ≈ 134µ s
Il est prudent de se réserver une marge de précaution, de l’ordre de 10 à 20 %. En conclusion, la durée de traitement d’un message peut donc être estimée à environ 150 µs. Sachant qu’un appel « moyen » nécessite le traitement d’environ 50 messages (émission et réception), un tel processeur chargé à 80 % pourrait traiter de l’ordre de 100 appels par seconde. La modélisation ultérieure du service et de l’ensemble des autres ressources du système nous permettra de déterminer précisément la charge maximale et les temps de réponse compatibles avec les objectifs de qualité de service. Nous abordons ce point dans l’exemple suivant. 10.3.2. Délai d’indication d’appel en arrivée Abordons maintenant un exemple de calcul d’une phase d’établissement d’appel, dans un commutateur. Cet exemple va nous permettre, d’une part, de montrer ce que peut être la modélisation d’un système de commande à multiprocesseurs et, d’autre part, de montrer que les valeurs spécifiées par les normes pour les équipements sont plutôt pessimistes, compte tenu de la puissance accrue des nouvelles technologies. Le système est schématiquement constitué de plusieurs processeurs spécialisés, ou non, dans différentes fonctions d’établissement d’appel.
Méthodologie des performances
499
Essentiellement, on distingue des fonctions dites principales correspondant à la supervision du traitement d’appel (TAP) et des fonctions dites secondaires correspondant à la réalisation de services tels que la traduction (TRAD), la taxation (TAX), la gestion des services supplémentaires du réseau intelligent (GIN), mais aussi le traitement de la signalisation réseau comme la gestion des canaux de signalisation n° 7 (SIG), et enfin les unités de raccordements des interfaces réseaux tels que les circuits à 64 kbit/s (URC) et bien sûr la matrice de connexion (MCX). Les services IN sont pilotés par un serveur IN (SIN), généralement commun à plusieurs commutateurs et accessible à travers le réseau.
SERVEUR IN (SCP)
Réseau de telecom Voix/données Signalisation
T A P
T R A D
T A X
S I G
G I N
M C X
U R C
U R A
LAN Commutateur
TAP : traitement d’appel TAD : traduction TAX : taxation
SIG : signalisation GIN: gestion IN SCP :Service Control Point
MCX : matrice de connexion URA : interfacesabonnés URC : interfaces réseau
Figure 10.2. Organisation d’un commutateur SSP
Le schéma de la figure 10.2 présente le diagramme de principe du commutateur avec services IN, un SSP (Switching Service Point), avec ses différentes stations interconnectées via son réseau local.
500
Trafic et performances des réseaux de télécoms
Pour simplifier la représentation, on associe une fonction à une station (ce qui peut correspondre au cas de très gros commutateurs), mais ceci ne change rien à la méthode. Pour atteindre les très grosses capacités souhaitées, il y a généralement plusieurs stations de chaque type sur lesquelles sont distribuées équiprobablement les nouveaux appels. Réseau
ServIN
IAM
Sig réseau
Gest Serv
TAP
TR
TX
URc
URa
Demande établissement Prise circuit
Traduction 1 (discri) Traduction 2 (prean) Traduction 3 (ana) Traduction 4 (trad) Prise contexte Taxation service TC Begin(Prise serveur IN)
TC Continue(ordre de taxation et connexion)
Traduction Taxation service
Passages ½ appel demandé/demandeur Prise circuit demandé SET UP( Demande établissement à UR demandé)
Suite de la communication
Figure 10.3. Indication d’appel en arrivée avec service IN type libre appel
Méthodologie des performances
501
Les fonctions sont généralement (du fait des normes d’ailleurs) implémentées sous forme de blocs fonctionnels aux interfaces bien définies. Pour effectuer un établissement d’appel, les différentes machines et blocs s’échangent séquentiellement, à travers un réseau local (LAN), une suite de messages. Ces messages correspondent à des demandes de services et à leurs réponses, permettant ainsi l’enchaînement des différents traitements élémentaires, jusqu’à réalisation complète de la fonction d’établissement. Compte tenu du grand nombre d’appels indépendants en cours simultanément, et de la variété des messages échangés, il est justifié, et vérifié, de considérer l’ensemble de ces machines comme des serveurs indépendants soumis à des arrivées de demandes poissonniennes. Nous allons prendre le cas d’un établissement d’appel en arrivée, avec service IN de type libre appel, et estimer le temps d’établissement d’appel en arrivée, correspondant à la norme pour le délai d’indication d’appel en arrivée. Le diagramme de la figure 10.3 donne un exemple des messages échangés et des traitements effectués sur les différentes machines, entre la réception d’une demande d’établissement d’appel venant du réseau (IAM) et le transfert de cette demande vers l’unité de raccordement de l’abonné demandé, avec mise en œuvre du serveur IN. On trouve successivement : le message de signalisation de demande d’établissement d’appel (IAM), issu du réseau et transmis par le processeur de traitement de la signalisation au traitement d’appel qui va réserver un circuit arrivée pour cet appel. Puis le TAP va demander au traducteur les caractéristiques du numéro demandé (discrimination, destination, etc.). Le traducteur détecte qu’il s’agit d’un numéro de libre appel (0800…). Le TAP réserve alors un contexte pour taxer le service (au fournisseur de service), puis présente la demande de service au serveur IN, via son interface serveur puis via le réseau. Le serveur IN commun à plusieurs commutateurs est accédé comme le reste du réseau en utilisant la signalisation réseau. Le service pouvant être fourni (cas normal), le serveur IN répond au commutateur en lui demandant d’établir la connexion vers le demandé et de démarrer la taxation. Le TAP demande alors au traducteur de lui donner la destination, la direction sortante correspondant au numéro demandé (il
502
Trafic et performances des réseaux de télécoms
faut traduire ce numéro en adresse physique d’équipement, et de faisceau de sortie du commutateur vers l’unité de raccordement de l’abonné demandé (URa)). La connexion du circuit entrant au circuit sortant est alors effectuée, et le message de demande d’établissement est retransmis à l’unité de raccordement du demandé. Grâce à l’étude de l’architecture de chaque machine (nous donnerons plus loin un exemple), nous pouvons évaluer leur temps de réponse par des modèles relativement simples. Ainsi, par exemple, le TAP peut être modélisé par un serveur de type processeur sharing tel que pour une tache de durée si, la moyenne et la variance du temps de réponse sont (voir chapitre 9) : ti =
1 si 1− ρ
et :
σ i2 =
2 ρ si 2ρ (1 − e − µ (1− ρ ) si ) − 3 µ (1 − ρ ) µ (1 − ρ )4
1/µ étant la durée moyenne des traitements obéissant à une loi exponentielle. Le modèle processor sharing convient tout à fait à ce type de machine qui partage équitablement son temps entre plusieurs processus simultanément en cours dans la machine tels que les établissements d’appels. En particulier, il permet d’estimer finement le temps de réponse de tâches de durées différentes. Cependant, comme présenté dans le diagramme, du fait de la variété des tâches intervenant dans la phase d’appel étudiée, on devra s’intéresser non pas à un seul type de traitement mais à leur ensemble, et donc à leur valeur moyenne 1/µ. Des formules précédentes on déduit, pour un traitement moyen (voir chapitre 9) : t TAP =
1 1 1− ρ µ
(10-1)
Méthodologie des performances
σ 2TAP ≈
2+ ρ 1 2 (1 − ρ ) (2 − ρ ) µ 2
503
(10-2)
Les autres machines se présentent plutôt comme des serveurs de tâches élémentaires, à durée de service s quasiment constante. On adopte donc le modèle M/D/1 dont les caractéristiques des temps de réponse sont (voir chapitres 7 et 9) : 12−ρ t SEC = s 2 1− ρ
σ 2 SEC =
1 ρ ρ2 2 − s (1 − ρ )2 3 12
(10-3)
(10-4)
A ces temps de réponse, il faut rajouter le temps d’émission et de réception des messages échangés sur le LAN. Ces délais peuvent être assimilés à une constante c (pour l’émission et la réception), plus le temps de réponse d’un serveur exponentiel. Car il s’agit, d’une part, de temps d’acquisition, de formatage et de routage des messages et, d’autre part, du délai d’attente et de la durée d’émission sur le lien de communication interne. On approximera, pour simplifier, ce serveur à un serveur M/M/1 (voir chapitre 7). Soit : t LAN =
1 1 , plus la constante c 1 − ρ µ LAN
(10-5)
et :
σ 2 LAN =
1 1 2 2 (1 − ρ ) µ LAN
(10-6)
Nous simplifions ici les calculs en ne différenciant pas les tâches dans le détail, mais en prenant simplement des ordres de grandeur pour les durées de traitement selon les deux types de serveurs. Ainsi, nous prendrons une durée moyenne par traitement de 150 µs pour le TAP et une durée de 250 µs pour un processeur de service. (Nous verrons plus loin à quelle capacité de traitement correspondent ces valeurs.) Nous
504
Trafic et performances des réseaux de télécoms
supposons le LAN composé de liens à 100 Mbit/s, et des messages d’une longueur moyenne de 100 octets, soit un temps de transmission de l’ordre de 8 µs par message. Nous prenons 50 µs pour c. Les processeurs sont supposés tous chargés à 80 %, ainsi que le LAN en régime dégradé (il y a au moins deux liens pour des raisons de sûreté de fonctionnement, en régime normal chaque lien est chargé à 0,4). Dès lors, nous obtenons : t TAP = 0,75ms , σ TAP = 1,14ms t SEC = 0,75ms , σ SEC = 0,577 ms t LAN = 0,032ms , σ LAN = 0,032ms
Le temps de réponse du serveur IN est une donnée externe au commutateur dont nous supposons connues les caractéristiques T SIN et σ SIN . Pour notre exemple, nous supposons : T SIN = 20ms
σ SIN = 20ms Sachant que nous y incluons les temps d’accès à travers le réseau de signalisation. A partir du diagramme des messages, nous pouvons écrire : T ICISD = 12t TAP + 15t SEC + 24t LAN + 24c + T SIN ≈ 42ms
et :
σ ICISD = 12σ 2TAP + 15σ 2 SEC + 24σ 2 LAN + σ 2 SIN ≈ 21ms et enfin, toujours en utilisant notre approximation : T (95%) ICISD = T ICISD + 2σ ICISD = 84ms
Méthodologie des performances
505
On notera que ces délais sont largement conformes à l’objectif. Ceci n’est pas surprenant car les commutateurs, comme on le verra aussi pour les routeurs et les liens du réseau, utilisent des équipements de technologies de plus en plus puissantes. Cependant, n’oublions pas que nous avons considéré pour la compréhension un cas relativement simple de service. Enfin, on notera l’impact important du serveur IN. Comme déjà précisé, le serveur IN est généralement un élément réseau externe au commutateur. En tant que tel, ses caractéristiques de temps de réponse seront elles aussi spécifiées par une valeur moyenne et une valeur à 95 %. Pour notre exemple, nous avons pris t SIN = 20ms et t(95%) SIN = 60ms . En utilisant l’approximation à la loi Gamma, on en a déduit : σ
SIN
= (t(95%) SIN − t SIN ) / 2 = 20ms .
10.3.3. Temps de traversée de paquets à travers un réseau et variation du délai de traversée Soit la structure suivante : AGW
R
R
R
AGW
Figure 10.4. Modèle pour le temps de traversée d’un réseau
Ce diagramme représente la suite des nœuds et liens parcourus par un message ou paquet à travers le ou les réseaux considérés. La Gateway d’accès (AGW) raccorde les abonnés, « paquétise » et « dépaquétise » l’information, les routeurs (R) acheminent les paquets à travers le réseau. On prend l’hypothèse simplificatrice (et à vérifier soigneusement) que l’ensemble considéré est fortement maillé (grand nombre de directions à chaque nœud, et plusieurs flux sur un même lien), et que les flux de trafic sont fortement brassés à l’intérieur des nœuds, minimisant ainsi les phénomènes de queues série (voir chapitre 9). Ceci ne sera pas vérifié pour toutes les politiques de routage, certaines (tunelling) favorisant la convergence de flux sur un même itinéraire à travers un
506
Trafic et performances des réseaux de télécoms
grand nombre de nœuds consécutifs. Cette hypothèse pourra cependant généralement être considérée comme acceptable en première approximation. Sous ces conditions, on peut adopter d’une part l’hypothèse d’indépendance entre les nœuds et négliger les phénomènes de queue série et d’autre part considérer les arrivées comme poissonniennes. On considérera donc les durées d’attente des paquets ou messages avant émission, indépendantes à chaque nœud, sachant par contre que la durée d’émission du paquet reste bien sûr la même à chaque nœud pour des liens de débit identique. Avant sa mise en file d’attente pour émission sur le lien sortant, un paquet entrant devra être pris en compte par le processeur (temps de scheduling des entrées, routage interne, classification, etc.). Ces temps sont relativement courts et, dans notre modélisation, nous les considérerons comme constants. En émission, le paquet pourra rentrer en concurrence avec d’autres paquets de taille différentes correspondant à des services différents mais de même priorité. Dans le cas de services prioritaires, à contrainte temps réel importante, tels que la voix sur IP, on modélisera donc le temps de traversée des nœuds par la somme d’un temps de traitement constant, d’une attente devant un serveur de type M/G/1, et d’une durée d’émission du paquet. 10.3.3.1. Calcul du temps de transfert Concernant les temps de transfert, les normes spécifient des valeurs moyennes et à 95 %. On adopte alors la méthode d’évaluation suivante : on calcule les moments des temps de séjour à chaque nœud, moyenne et variance, de manière indépendante. Par sommation (variables indépendantes), on obtient les caractéristiques moyenne et variances globales. Et, enfin, on en déduit par ajustement à la loi Gamma (ou Gauss) la valeur à 95 % (voir chapitres 4 et 7). On va ainsi devoir sommer le temps passé dans les Gateway d’accès et le temps passé dans les routeurs. Temps de traversée aux accès En départ, ce temps est la résultante d’un temps éventuel de transcodage et du temps de paquétisation. En prenant l’exemple du service Voix sur IP (VoIP), nous aurions par exemple le passage d’un
Méthodologie des performances
507
codage de la parole G711 (64 kbit/s) à G729 (8 kbit/s), pour réduire le débit dans le réseau. Puis, les échantillons de parole sont mis en paquets. Supposons que nous restions en G711. Dans ce cas, les échantillons de parole sont groupés en paquets toutes les 20 ms, conduisant ainsi à des paquets de 200 octets (1 échantillon de parole de 1 octet toutes les 125 µs, groupés en paquet toutes les 20 ms, soit 160 octets par paquet plus 40 octets de header). Associé à ce temps de paquétisation nous devrions rajouter un temps de traitement (< 1 ms), mais que nous considérerons comme négligeable. Nous devons enfin tenir compte d’un délai supplémentaire de traitement correspondant à l’acquisition et le routage des paquets, et aussi d’un délai d’attente d’émission et de transmission du paquet sur le lien de sortie vers le réseau. Par simplification, pour notre exemple nous considérerons ces derniers délais identiques à ceux des routeurs. En arrivée, on retrouve les mêmes opérations inversées, avec cependant une opération supplémentaire, la « déjitterisation » (suppression de la gigue). En effet, comme nous allons le voir ciaprès, les paquets d’une même communication n’ont pas le même temps de traversée du réseau. Pour respecter les contraintes du service temps réel (un échantillon de parole à délivrer à l’usager toutes les 125 µs), le jitter (gigue) est compensé en stockant les paquets dans un buffer (tampon) pendant une durée suffisante que nous allons déterminer ci-après. Ce délai fixe sera donc à rajouter au temps total de traversée. Temps de traversée des routeurs Comme déjà présenté, il sera composé d’un temps de traitement constant, d’une attente dans la file d’émission et du temps d’émission sur le lien. Temps de traversée dans le réseau Devant le lien de sortie à l’accès et dans les routeurs, avec une hypothèse de longueur de paquet exponentielle, et donc le modèle M/M/1 à chaque nœud, nous obtenons pour l’attente totale moyenne et sa variance : N
W =∑ i
ρi 1 1 − ρ i µi
(10-7)
508
Trafic et performances des réseaux de télécoms
et :
σW =
N
2 ρi − ρi 2 1
∑ (1 − ρ )2 i
i
µi
(10-8)
On en déduit par ajustement à la loi Gamma (ou règle de J. Martin, voir chapitre 7), la valeur à 95 % : W95% = W + 2σ W
(10-9)
A ces délais, il faut rajouter les durées de traitement, les durées de transmission et les durées de propagation (fonction de la longueur des liens), comme décrits précédemment. Supposons un réseau constitué de N liens de transmission de débits identiques (y compris la partie concernée de la Gateway d’accès), et évaluons le temps de transfert d’un paquet VoIP. Appelons c le temps de traitement (acquisition paquet, routage...) à chaque nœud, 1/µ la durée moyenne d’émission des paquets sur le lien à chaque nœud, τ la durée de d’émission du paquet de parole et P le temps total de propagation. On aura pour le délai de transfert : Tmoy = tpaquétisation + (N+1)c + N.tmoyattente(µ)+ N.τ + P + tdéjittérisation ou encore : Tmoy = tpaquétisation + (N+1)c + W(µ) + N.τ + P + tdéjittérisation , et
(10-10)
T95% = tpaquétisation + (N+1)c + W(µ) + 2 σ(w)+ N.τ + P + tdéjittérisation
(10-11)
Un exemple de valeurs, dans le cas du VoIP avec codage G711, est le suivant. Nous prenons le cas d’une communication nationale. Chaque paquet traverse 2 accès plus 9 routeurs et parcourt une distance totale de 1 000 km avec un temps de propagation de 5 ns par mètre. Le temps de traitement d’un paquet dans chaque nœud est de 50 µs. Un
Méthodologie des performances
509
paquet VoIP de référence a une longueur de 200 octets. Tous les liens sont au minimum à 155 Mbit/s et sont chargés dans le cas le plus défavorable à 60 %. Nous supposons une longueur moyenne de l’ensemble des paquets temps réels traités par ce lien de 500 octets. On obtient : tpaquétisation = 20 ms c = 50 µs 1/µ = 25,8 µs
τ = 10,32 µs P = 5 ms W = 10
0,8 25,8µ s ≈ 1ms 1 − 0,8
σ W = 10
2.0,8 − 0,64 25,8µ s ≈ 400µ s (0, 2) 2
Nous prenons arbitrairement un temps de déjittérisation égal à 20 ms (nous estimerons un peu plus loin la valeur probable de notre réseau). Et donc : Tmoy = 20 ms + 11 × 0,05 ms + 1 ms + 10 × 0,01 ms + 5 ms + 20 ms = 46,65 ms T95% = 20 ms + 11 × 0,05 ms + 1 ms + 2 × 0,4 ms + 10 × 0,01 ms + 5 ms + 20 ms = 47,45 ms Cet exemple de calcul, bien que basé sur des valeurs arbitraires, montre clairement que l’impact de la transmission à travers le réseau IP reste négligeable au regard des délais de paquétisation et de déjitterisation, à condition que le réseau soit équipé de liens de débits suffisamment élevés, comme des STM1.
510
Trafic et performances des réseaux de télécoms
Nous notons enfin que ces valeurs répondent largement aux exigences des normes ( T < 100ms , voir les spécification d’objectifs de performance paquet, en début de ce chapitre). Par contre, ces valeurs se situent bien au-delà des exigences de Q.551 : la transmission IP associée à des équipements téléphoniques analogiques impose alors l’utilisation d’annuleurs d’échos. Etudions maintenant la variation de ce délai. 10.3.3.2. Calcul de la variation de ce délai de transfert Les normes spécifient plutôt dans ce cas des valeurs à des probabilités très faibles (10–3, 10–4 par exemple). L’ajustement par les deux premiers moments n’est plus alors suffisamment précis. Pour résoudre notre problème, nous calculons directement la distribution de probabilité du temps de transfert. Nous approximerons la variation recherchée à la valeur du délai de transfert à 10–x, moins le temps minimum de traversée du paquet ou message de référence. C’est une évaluation pessimiste puisqu’elle revient à considérer que le message ou paquet précédent n’a subi aucun délai. Sous l’hypothèse d’indépendance la distribution du délai total est donnée par le produit de convolution des distributions à chaque nœud. Dans notre exemple, le temps de service est supposé exponentiel. On a alors à faire le produit de convolution de files M/M/1. Comme démontré dans le chapitre 7, la densité de probabilité du temps d’attente devant un tel serveur est : w(t ) = (1 − ρ )u0 (t ) + ρµ (1 − ρ )e − µ (1− ρ )t
Le produit f i (t ) = α i e− ai t de Laplace :
(10-12)
de convolution pour n files telles que (i=1,2,..n) , est aisément obtenu par les transformées
F( n ) * ( s ) = F1 * ( s ).F2 * ( s)...Fn * ( s ) =
A1 A2 ... An ( s + a1 )( s + a2 )...( s + an )
Dans le cas de n files identiques, on a bien sûr :
Méthodologie des performances
F( n ) * ( s ) =
511
An ( s + a)n
On reconnaît le résultat déjà obtenu pour la loi Erlang n, et dont la An t n −1 − at fonction originale est f ( n ) (t ) = e . (n − 1)! Ce qui nous donne appliqué à w(t), compte tenu de la probabilité à l’origine (probabilité de ne pas attendre) : N
W = ∑ C ((1 − ρ ) k =1
N k
N −k
ρ
k
(µ
(1 − ρ ) t )
k −1
(k − 1)! N
ou encore W = (1 − ρ ) N e − µ (1− ρ ) t ∑ CkN λ k k =1
µ (1 − ρ )e − µ (1− ρ )t t k −1 (k − 1)!
(10-13)
et la fonction de répartition est : W (< t ) = 1 −
1
µ
N
(1 − ρ ) N −1 e − µ (1− ρ ) t ∑ CkN λ k k =1
t k −1 (k − 1)!
(10-14)
Les calculs donnent alors pour n = 10 et une probabilité de 10–3, t = 30 . 1/µ. D’où : W (< 1ms ) ≈ 10−3
Valeur qui donne la variation du délai puisqu’il s’agit de la seule partie variable du temps de traversée. Encore une fois, nous trouvons une variation très faible toujours due au haut débit des liens de transmission. Ces ordres de grandeur restent vrais même dans le cas de liens de plus bas débit entre les Access Gateways et le réseau, tels que des liens E3 à 34 Mbit/s. En effet, on a alors sur deux liens : 1/µ = 117,6 µs
τ = 47 µs
512
Trafic et performances des réseaux de télécoms
Ce qui impacte peu le résultat global. A partir de ce résultat, on pourrait fixer des délais de déjitterisation de l’ordre de 10 ms, mais nous devons aussi tenir compte de cas avec un bien plus grand nombre de routeurs, et en nombre pouvant varier pour une même communication. Aussi conserverons-nous la valeur initiale de 20 ms. 10.3.4. Délai d’établissement d’appel Abordons maintenant l’évaluation du délai d’établissement d’appel de bout en bout dans le cas d’un réseau NGN. La configuration étudiée est représentée par la figure 10.5. Le Media Gateway Controller (MGC) origine établit un appel avec le Media Gateway Controller destination à travers le réseau IP, de manière à pouvoir mettre en communication les deux centres locaux (Local Exchanges).
LEX
TGW
Echange de signalisation via le réseau IP
MGC
SGW
Zone de départ zone
ER
CR
BR
SGW = Signalling Gateway TGW = Trunk Gateway LEX = Local exchange MGC = Media gateway Controller
Zone de transit
BR
CR
MGC
SGW
Zone d’arrivée
BR
BR
CR
LEX
ER
TGW
ER = Edge Router CR = Core Router BR = Border Router
Figure 10.5. Configuration de Réseau NGN
Fonctionnement Le Media Gateway Controller de départ (MGC) reçoit un message d’établissement d’appel du centre de raccordement local (LEX) via la Signalling Gateway (SGW) dont le rôle est simplement d’adapter la signalisation.
Méthodologie des performances
513
Le MGC origine envoie via le réseau IP une demande d’adresse IP à la Trunk Gateway (TGW) origine, qui la lui fournit en retour (messages ADD). Puis le MGC origine adresse la requête d’établissement au MGC destination (SET UP). Celui-ci de même demande son adresse IP à la TGW destination, qui la lui renvoie en retour. Le MGC destination retransmet l’information au MGC origine (SET UP ack), qui retransmet au TGW origine (MOD). Sur réponse du TGW origine, le MGC demande d’établir l’appel au MGC destination (SET UP), qui ensuite envoie le message d’établissement IAM au LEX destination, via la TGW et la Signalling Gateway. En retour, le LEX origine reçoit l’acceptation d’appel par le chemin inverse. La figure 10.6 récapitule les messages échangés et les traitements effectués dans les différents éléments du réseau. LE or
SG1
TGW1
MGC1
MGC2
TGW2
SG2
LE ter
IAM IAM ADD ADDR SETUP
ADD ADDR
SETUPack
MOD MODR
SETUPcomp
IAM
IAM
ACM ACM ACM
ANM
ACM
ACM
ANM ANM
ANM
Figure 10.6. Diagramme d’établissement d’appel dans le NGN
514
Trafic et performances des réseaux de télécoms
Détermination des délais individuels Pour estimer le temps d’établissement de bout en bout tel que définit par les normes, entre IAM et IAM, nous devons nous référer aux valeurs spécifiées pour les différents composants. En effet, si nous nous plaçons en concepteur de réseau, nous devons assembler des équipements différents dont nous ne connaissons pas le comportement détaillé, mais dont les performances sont spécifiées par des normes ou par des cahiers des charges. Le tableau 10.13 récapitule des valeurs à titre d’exemple. Ces valeurs ont été établies sur la base de recommandations existantes, pouvant bien sûr évoluer, mais aussi sur la base d’évaluations des temps possibles pour les nouveaux éléments (TGW, MGC...), avec de nouvelles technologies telles que dans l’exemple précédent.
Network component
Parameter
TLESETUP
Originating LE
T1MGC=TGW
MGC et TGW
TLEICISD
Terminating LE
Value Mean
95 %
Call set up delay (Table 30/Q543)
800 ms
1 200 ms
IAM processing (1/2Table 1/Q766)
130 ms
260 ms
Incoming call indication sending delay(Table 4/Q543)
800 ms
1 200 ms
TSGW
SGW
Message transfer time (1/2Table 4/Q706)
20 ms
40 ms
T2MGC
Transit exchanges
ANS processing (1/2Table 1/Q766)
80 ms
160 ms
TLETRANS
Originating/ Terminating LE
Signalling transfer delay (Table 28/Q543)
350 ms
700 ms
TROUTER
Routeur
Packet Transmission delay (operator)
1 ms
3 ms
Transmission links
Transmission delay (Q.41)
5 µs/km
-
TLINKTRANS
Tableau 10.13. Paramètres et valeurs de référence pour le délai d’établissement
Méthodologie des performances
515
A partir de ces valeurs, en appliquant comme précédemment les propriétés de la loi Gamma (voir chapitre 7), nous en déduisons les variances :
σ = (t(95%) − tMOY ) / 2 et :
σLESETUP = 200 ms, σ1MGC = 65 ms, σLEICISD = 200 ms, σSGW = 10 ms, σ2MGC = 40 ms, σLETRANS = 175 ms, σROUTER = 1 ms Dès lors, compte tenu de l’hypothèse d’indépendance entre les différents éléments du réseau, et sachant que nous sommes intéressés par la valeurs moyenne et la variance du délai recherché, nous pouvons estimer les caractéristiques du temps de réponse global par la somme des moyennes et variances individuelles. Détermination du temps d’établissement global D’après le diagramme d’établissement nous avons : T SETUP = T LESETUP + 4T SGW + 7T 1MGC + 2T 2 MGC + 3T TGW + T LEICISD + T LETRANS + NT ROUTEURS + LT LINKTRANS
et :
σ 2 SETUP = σ 2 LESETUP + 4σ 2 SGW + 7σ 21MGC + 2σ 2 2 MGC + 3σ 2TGW + σ 2 LEICISD + σ 2 LETRANS + Nσ 2 ROUTEURS avec N le nombre de passages dans les routeurs et L la longueur totale des liens de transmission parcourue par les messages. Prenons pour notre exemple une distance de 500 km entre les deux MGC, 200 km entre SGW et MGC, 200 km entre MGC et TGW, 6 routeurs entre les MGC et 3 routeurs entre TGW et MGC. D’après le diagramme d’établissement, on a donc une longueur totale parcourue par les messages :
516
Trafic et performances des réseaux de télécoms
L = 11 × 200 km + 4 × 500 = 4 200 km De même on trouve un nombre total de traversées de routeurs : N = 4 × 6 + 6 × 3 = 42 L’application numérique nous donne : T SETUP = 3,5sec , σ SETUP = 0, 4sec
et donc : T 95% SETUP = 4,3sec On constate que ce réseau respecte les objectifs des normes (voir chapitre 2). 10.3.5. Sûreté de fonctionnement Nous évaluons maintenant les performances du projet du point de vue de la sûreté de fonctionnement. Nous évaluerons successivement la charge de maintenance, l’indisponibilité totale et la probabilité de relâchement prématuré d’une communication établie.
MCX
TUa
SC RC
TUr
SC
SA
RC LAN
LAN: réseau local inter stations TUa : Interface de raccordement côté accès SC : Station de commande SA : stations auxiliaires (signalisation ..)
MCX : matrice de commutation TUr : unités de raccordement côté réseau RCP : Serveur mobile
Figure 10.7. Architecture du commutateur MSC (Mobile Switching Center)
Méthodologie des performances
517
Rappelons les principaux objectifs : indisponibilité totale < 5,7 10–6 (3 mn par an) ; relâchement prématuré < 2 10–5. Le diagramme (simplifié) de la figure 10.7 représente, du point de vue des unités de défense, l’architecture du projet dans son application de centre mobile (le même système pris en exemple réalisant les deux fonctions : centre fixe et centre mobile). Les données de départ pour nos évaluations sont les types de redondance et les taux de défaillance prévisionnels des différents équipements. Redondances et taux de défaillance LAN : doublés et auto-cicatrisants. MCX : le réseau de commutation est doublé, la redondance est active, les communications sont établies en parallèle sur les deux matrices, une matrice (à elle seule) peut écouler tout le trafic. TU : redondance de type N+k, il y a k TU en stand-by pour N TU de raccordement. SC : les stations de commande sont en redondance N+1, de type stand-by. RCP : chaque serveur mobile est doublé, en redondance individuelle de type stand- by. SA : les stations auxiliaires sont en redondance N+1 de type stand-by. La configuration étudiée, correspondant à un centre d’environ 500 000 abonnés. Le nombre et le taux de défaillance matériel, ou logiciel quand il y a lieu, des équipements de chaque type sont les suivants (on adopte la règle λ logiciel = λ matériel) : MCX : il y a deux branches constituées de plusieurs cartes. Ces plans peuvent être plus ou moins équipés en fonction de la capacité recherchée. Dans notre cas, l’équipement conduit à un système équivalent à deux matrices, chacune de taux de défaillance λMCX = 5 10–6/h. TUa : il y a un seul équipement de très grosse capacité (N = 1) plus un équipement de secours (car ces équipements se placent derrière le réseau d’accès des abonnés mobiles (BSC, UTRAN), ayant déjà concentré le trafic sur des liens de très forte capacité. λTUa = 10 10–6/h.
518
Trafic et performances des réseaux de télécoms
TUr : il y a un grand nombre d’équipements de ce type (N = 20) car les directions réseau sont nombreuses et la modularité grande (connexion de liens STM1). λTUr = 5 10–6/h. Il y a 3 équipements de secours pour l’ensemble des 20 autres équipements. SC : la modularité des stations de commande permet de s’adapter aux différents besoins en capacité de traitement. Pour la configuration étudiée ici, le nombre de stations de commande est N = 2, plus une de secours, chacune de taux de défaillance λSC = 50 10–6/h. (On verra plus loin un exemple de dimensionnement). RCP : il y a 2 serveurs RCP (secourus). λRCP = 60 10-6/h . SA : les stations auxiliaires sont organisées de façon modulaire comme les stations de commande. Ici on a N = 5, plus une station de secours, et λSA = 50 10-6/h. On néglige l’impact du LAN car présentant un taux de défaillance négligeable par rapport aux autres équipements. Charge de maintenance La charge de maintenance peut déjà être évaluée. Seul interviennent ici les taux de défaillance matériels : on considère que les pannes logicielles sont « réparées » par des redémarrages de station très rapides (voir chapitre 6). On a un taux de défaillance global :
λG = 2 λMCX + 2 λTUa + 23 λTUr + 3 λSC + 4 λRCP + 6 λSA = 2 × 5 10–6/h
+2 × 10 10–6/h + 23 × 5 10–6/h +3 × 50 10–6/h + 4 × 60 10–6/h + 6 × 50 10–6/h, et donc λG = 835 10–6/h, soit 7,3 interventions par an en moyenne. A cet égard, rappelons que conformément aux conditions spécifiées dans les objectifs, nous supposons une politique d’intervention distinguant intervention différée (les équipements de secours sont utilisés mais il n’y a pas encore de perte de service) et intervention immédiate ou urgente (nécessaire quand il y a perte de service). Nous appellerons µd les taux d’intervention différée (µd = 8 10–2/h correspondant à un délai moyen de déplacement plus réparation, de
Méthodologie des performances
519
12,5h) et µi le taux d’intervention immédiate (µi = 0,25/h correspondant à un délai de 4h). Indisponibilité totale Toutes les fonctions identifiées précédemment sont en série du point de vue de la fiabilité. On a alors le diagramme de fiabilité de la figure 10.8, que l’on va expliciter. RCP TUr TUa
SC
SA
MCX
RCP
Figure 10.8. Diagramme de fiabilité
Il faut d’abord bien préciser ce que l’on entend par panne totale, notamment par rapport au concept de régime dégradé. Dans le cas des stations de commande, la panne d’une seule station n’apporte aucune dégradation de service car la capacité de traitement est maintenue du fait du remplacement de la station défaillante par la station de secours. Par contre, la panne simultanée de deux stations de commande ne permettra plus d’écouler tout le trafic ; cependant, du fait de la station de secours, la moitié de celui-ci pourra être traité. C’est un régime dégradé. A l’inverse, dès que les trois stations de commande sont simultanément en pannes l’indisponibilité est totale. Dans le cas des RCP, seule la panne simultanée des deux RCP entraînera l’indisponibilité totale. La panne d’un seul RCP permettant d’écouler encore la moitié du trafic. En outre, le RCP étant une machine secourue, la panne d’un RCP correspond à la panne simultanée de ses deux éléments. Dans le cas des stations auxiliaires, en fonction du nombre de stations simultanément en panne, il y aura des états plus ou moins dégradés.
520
Trafic et performances des réseaux de télécoms
Du fait du nombre de stations et du secours, on considérera l’indisponibilité totale comme négligeable. De même, la perte de quelques unités de raccordement au réseau ne conduit pas à une indisponibilité suffisante pour être considérée comme totale, compte tenu du grand nombre d’équipements de ce type et de la redondance. On les négligera. Les autres équipements étant doublés, l’indisponibilité totale adviendra avec la panne simultanée des deux équipements. Seules interviennent ici, aussi, les défaillances matérielles (les pannes logicielles étant réparées par des redémarrages très rapides). On a alors l’expression suivante : I =2
λTUa 2 λ 2 λ 3 λ 4 + 2 MCX + 3x 2 SC 2 + 4 x3x 2 RCP 3 µ d µi µ d µi µ d µi µ d µi
Nous ne détaillons pas les graphes, il suffit pour le lecteur de se reporter au chapitre 6 pour traiter ces cas simples de redondance. Précisons cependant que, pour les RCP, nous avons supposé une intervention urgente dès que deux équipements sont en panne, quels qu’ils soient, sur un même RCP ou sur des RCP différents. L’application numérique donne : I = 110−8 + 2,510−9 + 1,510−10 + 2, 410−13 ≈ 1,310−8
Nous avons laissé le détail des calculs car il permet de voir l’impact de chaque fonction. L’impact prépondérant des interfaces d’accès montre qu’il y a lieu de bien sécuriser les éléments extrêmement concentrants. Il faudrait peut être aussi dans ce cas effectuer une modélisation plus détaillée de ces équipements. Par ailleurs, on voit bien que dès que la modularité est grande, l’indisponibilité totale devient faible. De toute évidence, nous pouvons conclure que cette architecture tient largement l’objectif fixé de 5,7 10–6, mais rappelons nous que nous avons considéré le taux de pannes logicielles « graves » comme négligeable… Ceci ne peut être garanti que par un produit
Méthodologie des performances
521
bien testé. D’où l’importance de la phase d’essais que nous allons aborder un peu plus loin. Relâchement prématuré Supposons une communication établie et analysons les événements de défaillance pouvant entraîner une rupture prématurée de la communication. SC et SA : en cas de défaillance de ce type de station, toutes les communications établies sont perdues lors du basculement sur la station de secours (perte de contexte). Le trafic frais est évidemment aussitôt repris par la station de secours. Nous supposons que la communication met en jeu deux SC et deux SA (cas général). En outre, cette fois, il nous faut tenir compte du taux de défaillance logiciel. Le taux d’occurrence de cet événement pour une communication donnée est donc 2 × ( 2λSC + 2λSA ). Par contre, pour le serveur RCP, on considère qu’il n’y a pas de rupture de communication : les contextes sont conservés sur le RCP en stand-by, chose aisée lorsqu’on a une simple redondance. De même, pour les TU et pour la matrice de commutation, il n’y a pas de perte. En effet, il ne s’agit que de transport physique et le système est tel que le basculement sur les TU de secours est instantané et, comme nous l’avons déjà dit pour le réseau de commutation, les communications sont établies sur les deux branches. Enfin, il n’y a rupture de communication que s’il y a du trafic à écouler. On prendra l’hypothèse pessimiste d’un équivalent de 10 heures chargées sur 24 heures. En prenant comme référence une durée moyenne de communication τ de 100 s, on obtient la probabilité de rupture d’une communication établie, par la relation : Pr =
10 2(2λSC + 2λSA )τ = 5 10–6 24
522
Trafic et performances des réseaux de télécoms
L’objectif de 2 10–5 est tenu. L’étude met en évidence l’importance de ce critère dans les choix d’architecture (logicielle et matérielle). 10.4. Les essais en charge C’est en phase d’intégration que vont être validées les performances globales du projet. On dispose alors d’une configuration complète des équipements et des moyens pour simuler les environnements de référence à tester. La liste des essais à effectuer ainsi que la définition de la (ou des) configuration(s) à tester auront été définis en amont. Les moyens d’essais permettront de générer les flux de messages ou paquets correspondant, par exemple, aux appels à établir, issus du réseau ou issus des accès (Gateways, unités de raccordement d’abonnés). Il s’agit alors, d’une part, de minimiser le matériel mis en œuvre et, d’autre part, de rendre faisables les essais avec des volumes de trafics très élevés. Des simulateurs de trafic sont ainsi développés, remplaçant les abonnés, les circuits, les liens de signalisation et de données, etc. Il peut s’agir d’organes externes autonomes, mais aussi de logiciels développés sur des équipements du système. En outre, pour mieux sérier les problèmes lors de la validation de grands ensembles, on aura avantage à décomposer les essais en une phase préalable de validation de certains sous-ensembles, puis en une phase d’essais globaux plus « légers ». Concrètement, prenons le cas d’un réseau construit autour d’accès, de commutateurs, de routeurs, de serveurs IN… On validera d’abord chacune de ces entités en simulant son environnement en trafic, en charge et en surcharge, avant de valider le bon fonctionnement de l’ensemble interconnecté. Par exemple, pour tester un commutateur, on simulera les messages échangés avec l’accès, avec le serveur, etc. Pour cela, on aura développé, au niveau accès ou serveur, des logiciels de simulation n’effectuant que des enchaînements élémentaires des messages échangés aux interfaces, comme décrit ci-après. Ainsi tous les traitements à effectuer par le commutateur seront réalisés, y compris les connexions, les envois de sonnerie, etc. Mais, n’ayant pas de terminal réellement connecté, il n’y aura pas ni de réception de sonnerie, ni de parole échangées. Ces fonctions feront l’objet de tests à part. A cet effet, on disposera en supplément, d’une part, d’un
Méthodologie des performances
523
nombre restreint d’accès et de terminaux réels pour effectuer des mesures de qualité de service détaillées vues de l’usager, mais aussi de simulateurs d’abonnés « standard » (agréés par les opérateurs), de moindre capacité, répliquant fidèlement les terminaux d’abonnés. Le principe des simulateurs de trafic est le suivant. Une fois encore on se réfère aux diagrammes de messages d’établissement et de rupture d’appel, pour définir les scénarios ou séquences de messages échangés à une interface externe et correspondant au type d’appel (départ, arrivée, etc.) de service que l’on veut tester. Ces listes de messages, demandes et réponses sont enregistrées dans le simulateur en tant que scénarios. Les scénarios sont lancés de manière aléatoire, dans les proportions correspondant au mix d’appels à tester, tels que définis dans le document d’objectifs. Notons ici l’importance du caractère aléatoire de cette génération des demandes d’appels. Il faut en effet d’abord reproduire les conditions normales de fonctionnement, pour pouvoir distinguer les phénomènes « normaux » d’encombrement des phénomènes particuliers liés à des dysfonctionnements. La précision exigée ici sur l’aspect aléatoire est cependant bien moins grande que pour une simulation détaillée, comme celle d’une file, et on pourra donc se contenter d’algorithmes sommaires (voir chapitre 8). Une fois les premières demandes d’appel lancées, le processus d’échanges entre le simulateur et l’organe testé s’enchaîne appel par appel. Chaque message issu du système testé entraîne un autre message du simulateur vers le système, jusqu’à la fin de l’appel, qui entraîne lui même le lancement d’un autre appel, etc. C’est le rythme de relance de ces demandes d’appels qui va définir le volume de trafic offert au système (voir l’exemple ci-après). Il sera donc nécessaire de disposer en supplément, de simulateurs standard d’équipements d’abonnés, ou de circuits, etc., agréés par les opérateurs. Ceci afin de générer une certaine part (faible) de trafic réel, et ainsi pouvoir mesurer en détail la qualité de service perçue par l’usager, comme le délai d’établissement, la bonne réception et le délai de sonnerie, de tonalités ainsi que la qualité de la transmission en phase de conversation, etc. On disposera aussi, bien sûr, de terminaux réels pour effectuer des appels de tests, par exemple sous des conditions sévères de surcharge, pour tester la capacité à traiter des appels prioritaires. Enfin, en se plaçant aux interfaces normalisées (exemple : interface circuit n° 7), il sera facile de vérifier la rigueur de
524
Trafic et performances des réseaux de télécoms
la simulation puisque les séquences de messages échangés par les simulateurs internes, comme par les simulateurs externes standard devront être exactement les mêmes. Les phases des essais On pourra distinguer trois grandes phases d’essais : les essais de performance en trafic, les essais de surcharge et les essais de sûreté de fonctionnement. Phases que nous allons décrire maintenant. 10.4.1. Les essais de performances en trafic Lors de cette phase, le système va être soumis progressivement au trafic avec deux paliers importants, le trafic de charge A, puis le trafic de charge B, conformément aux objectifs. On vérifiera le bon respect du mix d’appels, on mesurera le trafic écoulé, les temps de réponse, les charges processeurs. Les fonctions d’observations du système seront mises en œuvre pour obtenir ces résultats (nombre d’appels présentés de différents types, nombre d’appels refusés). On utilisera aussi les observations des simulateurs externes standard, compteurs d’appels, compteurs de fautes, de manière à conforter les résultats. Grâce à l’observation de la charge des processeurs, on pourra conforter, affiner si nécessaire, la modélisation et les règles de dimensionnement. Bien souvent cette phase sera une phase importante de mise au point du système, non seulement du point de vue des capacités de traitement, mais aussi du point de vue fonctionnel. En effet durant ces essais on identifiera, d’une part, des durées de traitement et des échanges entre machines à optimiser, mais aussi des cas de conflits d’accès à des ressources communes, ou des défauts de défense suite à un débordement de file ou de temporisation. On comprend ici toute l’importance du travail fait en amont lors de la modélisation. La capacité du système à écouler le trafic prévu dans les délais prévus sera d’autant plus grande que les évaluations des charges et des comportements temps réel des processeurs et matériels (ASIC, etc.) auront été pertinentes. En outre, l’identification des problèmes, leur compréhension et leur résolution seront d’autant plus faciles que la
Méthodologie des performances
525
modélisation aura été détaillée (on saura quels paramètres mesurer et quelles devraient être leurs valeurs « normales »). 10.4.2. Les essais en surcharge Il s’agit ici de soumettre le système à des niveaux de charge exceptionnels, mais cependant bien réels. Rappelons les phénomènes de base que sont les événements exceptionnels tels que les jeux télévisés, les catastrophes, ou des événements culturels tels que le Jour de l’an, mais aussi l’impact du renouvellement d’appels qui se produit dès que l’encombrement est sensible. Il n’est pas possible bien sûr de simuler dans le détail les arrivées d’appel sous ces circonstances. Cependant, heureusement, et l’observation le prouve, au niveau d’un gros commutateur par exemple, le trafic présenté peut être assimilé à un trafic poissonnien de très gros volume, mais aussi perdurant sur une très longue durée. En outre, l’observation montre aussi qu’il faut distinguer selon les circonstances des surcharges en arrivée et des surcharges en départ. Par exemple lors d’un jeu télévisé ou lors d’une catastrophe, les appels vont venir en surnombre sur un point donné du réseau, mais d’un peu partout. On sera surtout confronté à une surcharge en arrivée. Par contre, lors d’un grand rassemblement (Coupe du monde de football, par exemple, ou cas d’une population bloquée par les intempéries), ce seront tous les mobiles qui seront simultanément activés et créeront un afflux de trafic départ. Et enfin lors d’un grand événement culturel (début et fin du Ramadan, Jour de l’an), c’est tout le réseau en départ comme en arrivée qui sera chargé. Nous traiterons cette situation plus en détail un peu plus loin. Dans tous les cas, on tracera la courbe de réponse du système : trafic écoulé en fonction du trafic offert et on vérifiera le respect du gabarit exigé par les normes (voir chapitre 2, figure 2.6), ainsi que la validité de la stratégie de priorité entre les rejets d’appel. Ce sera avant tout une phase de réglage des seuils de régulation dans toutes les éléments du système. Car il s’agit bien de détecter assez tôt une surcharge afin de préserver le bon traitement des appels déjà acceptés : en d’autres termes, les files de traitement des messages subséquents, comme les ressources associées au transport des informations de niveau usager correspondant à des sessions en cours, ne doivent jamais saturer. On complétera aussi les mesures de durées de traitement d’appels et de
526
Trafic et performances des réseaux de télécoms
charge processeur par les mesures des coûts de rejet d’appel de façon à valider totalement la modélisation du système. La figure 10.9 rappelle le type de courbe de réponse attendu (voir chapitres 2 et 9). Trafic écoulé
Comportement théorique idéal
Capacité d’ingénierie
Comportement réel attendu
100% 90%
Comportement inacceptable sans régulation 100%
150%
Trafic offert
Figure 10.9. Ecoulement du trafic en surcharge
10.4.3. Les essais en sûreté de fonctionnement Alors que le système écoule du trafic de charge A et de charge B, on injectera des fautes sur les équipements, ou simplement on positionnera par commande opérateur des unités hors service. On vérifiera alors les réactions attendues des mécanismes de défense : détection de la panne, isolement de l’élément défectueux, basculement sur secours et reconfiguration. On mesurera bien sûr les pertes éventuelles d’appels, les durées d’indisponibilité. Les valeurs obtenues permettront de confirmer et d’affiner les paramètres du modèle de sûreté de fonctionnement. Le rôle de l’injection de pannes est avant tout de vérifier l’efficacité des mécanismes de localisation de l’élément défectueux, car dans les systèmes complexes actuels tout dysfonctionnement matériel ou logiciel est très vite détecté au niveau applicatif et conduit à des positionnements hors services des machines. Si les positionnements par commande sont relativement simples à effectuer, car ils procèdent des procédures d’exploitation normales, par contre l’injection de pannes est plus compliquée. En général, des cartes seront mises sur prolongateur et on y mettra des points à la
Méthodologie des performances
527
masse. C’est là que devront être appliquées les méthodes d’échantillonnage : les points à toucher seront issus d’un tirage aléatoire pondéré par les taux de défaillance prévisionnels des composants. Mais, à cet égard, il faudra aussi tenir compte non seulement de la probabilité de défaillance de l’élément, mais aussi de l’impact de sa défaillance sur la qualité du service. Par exemple, toute défaillance d’élément commun ou partie d’élément pouvant conduire à indisponibilité totale est absolument à tester (par exemple une base de temps, certains éléments de bus). On réalise là encore tout l’intérêt d’avoir au préalable modélisé le système du point de vue de la sûreté de fonctionnement, pour mieux identifier les paramètres et éléments à tester, et mieux juger des résultats obtenus, en comparant aux objectifs. 10.4.4. Organisation générale des essais Les diagrammes ci-après résument ces principales phases et les résultats attendus. Il ne s’agit bien sûr que d’un exemple de séquence d’opérations, les durées relatives peuvent varier selon les difficultés rencontrées. Trafic offert Trafic écoulé
Surcharge Charge B
Charge A Essais de SDF
Temps
Figure 10.10. Essais en charge : séquence des essais
528
Trafic et performances des réseaux de télécoms
En phase de surcharge, on notera la nécessité de distinguer plusieurs étapes, conformément au modèle (voir chapitre 9). Dans une première étape, on observe la capacité du système à traiter les priorités : par exemple les appels d’urgence (pompiers...) et les appels d’arrivée. Puis, la surcharge persistant, on teste sa capacité à maintenir le niveau de trafic écoulé à son niveau normal, sous une très forte surcharge de très longue durée. On notera aussi la nécessité de vérifier le retour au fonctionnement normal après chaque phase de « stress », test de défense ou de surcharge. Exemple de génération de trafic Nous présentons une méthode qui, bien qu’apportant un certain biais à la nature poissonnienne du trafic, présente l’avantage d’une très grande simplicité de mise en œuvre tout en donnant des résultats tout à fait significatifs. Nous souhaitons générer un trafic d’appels départ, interne, arrivée, transit suivant le mix forte efficacité présenté dans les objectifs et rappelé ci-après sous une forme simplifiée. Mix forte efficacité Interne Départ Type d’appel % Flux 20 35 % Efficace 58 58 % Non réponse 15 15 % Occupation 10 10 % Numérotation incorrecte 17 17
Arrivée 35 70 18 12 0
Transit 10 70 18 12 0
Tableau 10.14. Mix d’essais en charge
Pour ce faire, nous disposons d’un (ou plusieurs) automate(s) gérant, d’une part, des couples d’abonnés demandeur (Dr) et demandé (Dé), pour générer le trafic interne, départ et arrivé, et, d’autre part, des couples de circuits pour simuler le trafic de transit. Le diagramme ciaprès présente le principe de l’organisation de la génération du trafic.
Méthodologie des performances Simulateur Abonnés
Système en test
529
Simulateur Circuits
35
Dr Dr
Dr
Dé Dé
20
10
Dé
35
Figure 10.11. Organisation de la génération du trafic
Le fait de travailler par couple de même nature apporte une corrélation certaine entre les appels départ et arrivée, mais qui, dans les conditions normales de fonctionnement, pourra êter négligée. Par contre, pour des essais en surcharge, il faudra en tenir compte (le rejet d’un appel départ entraînant lui aussi, automatiquement, la suppression d’un appel arrivée), et éventuellement réaliser des organisations plus complexes, à partir de la gestion de couples abonné plus circuit. Pour chaque couple, l’automate va d’abord tirer au sort un nombre aléatoire obéissant à une loi exponentielle de paramètre θ = 1/λ (voir chapitre 8) et définissant la durée inter-appels. Cette valeur va définir le taux d’arrivée des appels offerts au système. Dès qu’un appel est lancé, aussitôt la date de lancement de l’appel suivant est calculée. Par exemple, si on veut générer un trafic de 500 appels par secondes (1,8 MBHCA), le paramètre θ sera fixé à 2 ms. A chaque appel, on tire ensuite au sort, selon une loi uniforme, le type d’appel correspondant au mix de référence. Pour simplifier la mise en œuvre et pour traduire au mieux la réalité, le tirage se fait en plusieurs étapes. Pour notre mix, on aura donc les opérations suivantes : 1) tirer au sort un appel interne ou départ-arrivée : le nombre aléatoire tiré au sort entre 0 et 1 est comparé aux valeurs 20/55 et 35/55 ; 2) tirer au sort si l’appel est du type efficace, non-réponse etc. : par exemple pour un appel interne, un nouveau nombre aléatoire est comparé aux valeurs 58/100, 15/100, 10/100,17/100. De la même façon, on décidera éventuellement de la nature d’un service IN, du type de signalisation, etc.
530
Trafic et performances des réseaux de télécoms
Dès lors, le message de demande d’établissement d’appel (IAM, voir diagramme d’établissement) est lancé dans le système avec le numéro du demandé (correspondant à celui de l’autre élément du couple). Les acheminements appropriés ayant été créés au préalable dans le système (tables de traduction, routage, etc.), le message d’appel en arrivée (Set Up) revient au simulateur qui, à partir du numéro demandé, reconnaît le couple concerné et ses caractéristiques (occupé, non réponse, efficace...), et donc renvoie au système la réponse appropriée. Et ainsi de suite selon les diagrammes d’établissement et de libération d’appel. Des mécanismes de défense (temporisations...) permettent de libérer le couple en cas de messages absent ou erroné. 10.5. Dimensionnement La définition des règles de dimensionnement des équipements et du réseau est une activité clé d’un point de vue écomomique. Il s’agit de déterminer le nombre optimal de matériels à installer pour garanrtir la fourniture du service avec la qualité requise. Il s’agit dans cette phase d’activité de définir les règles de base servant au dimensionnement, sachant que des équipes spécialisées traduiront ces règles de base en programmes de calculs de nombre de cartes, de bâtis, etc. et en calculs de prix. Des premières règles sont fournies dès la phase de modélisation, de manière à lancer les produits sur les marchés (on réalise ici toute l’importance du travail de modélisation qui doit conduire à un risque d’erreur minimal). Puis elles sont paufinées suite aux essais de performance. Lors de ces essais, les coûts en charge UC des différents types d’appels, de traitements, sont affinés, ainsi que les taux d’occupation maximaux admissibles compatibles avec les temps de réponse exigés. Dès lors, les règles de dimensionnement consisteront à calculer le nombre d’équipements nécessaires pour écouler un trafic donné, sachant que le capacité de chaque équipement est donnée par la relation de base : N(appel / s) =
C(ch arg e max) c(ch arg e / appel / s)
(10-15)
Méthodologie des performances
531
On distinguera deux grands types de ressources dimensionnables : les processeurs de traitement correspondant au plan contrôle et les ressources de transport correspondant au plan usager. Nous donnons ci-après deux exemples d’application relatifs au trafic : calcul du nombre de processeurs nécessaires pour le traitement d’appels dans un réseau mobile et calcul de la taille et du nombre de liens nécessaires pour écouler un trafic multimédia IP. Nous donnons ensuite un exemple de calcul de lot de maintenance. 10.5.1. Dimensionnement de la commande d’un centre mobile Il s’agit ici avant tout de décrire la démarche, l’usage des concepts de charges A et B, et en particulier l’utilisation des données qui sont du domaine du site (domaine de l’exploitant) et des données qui sont du domaine du constructeur (le vendeur de matériel). Nous allons considérer le cas d’un centre « mobile », et plus exactement le dimensionnement d’un CSCN dans un environnement GSM. Rappelons que le CSCN (Circuit Switch Core Network) est la partie commande du Core Network qui raccorde les abonnés mobiles via les BSS (stations radios) et établit les connections avec le PSTN (le réseau fixe public). Conformément à la découpe fonctionelle présentée dans le chapitre 1, nous allons considérer ce centre composé de deux grandes entités physiques : le serveur mobile appelé RCP (Radio Control Point) et le centre de commutation appelé SSP (Service Switching Point). Le serveur mobile (RCP) fait l’interface avec les stations radios raccordant les abonnés mobiles et est en charge des fonctions de mobilité (Hand Over, etc.). C’est la fonction RCF (Radio Control Function) à laquelle il associe la fonction VLR (Visitor Location Register). Le SSP réalise les fonctions classiques de commutation : établissement, relâchement d’appel, appel au serveur IN (le RCP peut aussi faire appel au serveur IN), etc., et établit donc les connexions avec le réseau fixe pour atteindre les autres abonnés (fixes ou mobiles).
532
Trafic et performances des réseaux de télécoms
Il ne s’agit bien sûr que d’une hypothèse d’architecture, que nous choisissons car elle permet de distinguer les traitements sans pour autant trop compliquer l’exposé. La première étape consiste à saisir les données d’environnement en trafic, afin d’évaluer le coût de traitement moyen par appel par machine. Il s’agit de données « site » (généralement fournies par l’opérateur). Pour le site considéré, nous avons par exemple 500 000 abonnés mobiles (MS) générant un trafic moyen par abonné de 0,025 Erlang (0,77 OC plus TC par heure, de durée moyenne 120 s) en charge A. Compte tenu des caractéristiques des abonnés et du réseau, le mix de trafic est le suivant (voir le paragraphe objectifs et environnements, mix simplifié car il ne s’agit que de montrer la démarche).
Type d’appel
Mix site OC TC
Nombre d’appels/heure/MS Mobilité Evénements /heure/MS
0,57 0,2 0,25 0,33 HO intra HO inter LR intra 0,08 0,04 0,8
GW
IN
OSMS/TSMS 0,08 LR inter 0,4
Tableau 10.15. Mix client
Il faut noter dès à présent la différence importante entre le nombre total d’événements (OC, TC, GW, HO, LR) à traiter et le nombre d’appels (OC, TC) vus de l’abonné. C’est rappelons-le une caractéristique importante du « mobile ». La deuxième étape consiste à associer à ces types d’appels les coûts « machines », qui sont elles des données « constructeur ». On exprime généralement ces coûts en temps machine. Ainsi, nous avons par exemple :
Méthodologie des performances
Type d’appel Coût processeur RCP (secondes) Mobilité Evénements /heure/MS
Type d’appel Coût processeur SSP (secondes) Mobilité Evénements /heure/MS
OC
Coûts RCP TC GW
IN
533
OSMS/TSMS
0,0052 0,0063 0,0025 0,0018 0,0036 HO intra 0,002
LR intra 0,002
LR inter 0,0045
Coûts SSP OC TC GW
IN
OSMS/TSMS
0,0128 0,0128 0,0128
0,026
HO intra 0,0075
HO inter 0,0045
HO inter 0,023
LR intra 0
0 LR inter 0
Tableau 10.16. Coûts de traitements
Les coûts diffèrent bien sûr par machine, certains traitements n’existant d’ailleurs pas sur certaines machines. La troisième étape consiste à calculer le coût moyen par abonné sur chaque machine. Ainsi, le coût processeur RCP d’un appel « moyen » du mix est : C = 0,57 × 0,0052 + 0,2 × 0,0063 + 0,25 × 0,0025 + 0,33 × 0,0018 + 0,08 × 0,0036 + 0,08 × 0,002 + 0,04 × 0,0045 + 0,8 × 0,002 + 0,4 × 0,0045 = 0,0095 s/h/MS. La machine doit traiter ce mix de trafic dans les conditions de charge B (voir chapitre 2). La valeur de charge B est une donnée « site ». Une valeur communément admise dans les normes est : charge B = 1,2 × charge A. Sous ces conditions le coût machine par MS devient : 0,0095 × 1,2 = 0,0114 s/h/MS. De même, le coût processeur SSP d’un appel « moyen » du mix est :
534
Trafic et performances des réseaux de télécoms
C = (0,57 + 0,2 + 0,25) × 0,0128 + 0,33 × 0,026 + 0,08 × 0,0075 + 0,04 × 0,023 = 0,0232 s/h/MS. Et aussi, la machine devant traiter ce mix de trafic dans les conditions de charge B, le coût machine par MS devient : 0,0232 × 1,2 = 0,0278 s/h/MS La quatrième étape consiste à calculer le nombre de machines nécessaires. Il faut d’abord connaître la charge maximale de la machine permettant de respecter la qualité de service (temps de réponse, etc.). C’est aussi une donnée constructeur (issue de la modélisation). Elle peut ne pas paraître explicitement dans les règles. Elle est alors simplement prise en compte implicitement dans les coûts, mais ceci présente l’inconvénient de rendre difficile l’interprétation des mesures de charge lors des essais. Supposons ici que la charge maximale d’une machine, RCP ou SSP, permettant de respecter la qualité de service (temps de réponse, etc.) est donnée à 80 %. Nous pouvons maintenant calculer le besoin en équipements. Cas du RCP Il s’agit dans notre hypothèse d’architecture d’une machine de type serveur, il faut simplement déterminer le nombre de serveurs de ce type nécessaire. La capacité maximale de charge B d’une machine RCP est de (0,8 × 3 600)/0,0114 ~252 600 MS. Notre centre devant traiter le trafic de 500 000 abonnés (MS), nous devrons l’équiper de 2 RCP. Nous supposons les problèmes de redondance résolus au niveau de chaque machine (chaque machine RCP étant elle-même une station à processeur secouru).
Méthodologie des performances
535
Considérons maintenant la fonction SSP La démarche est la même, mais avec cette fois un structure machine différente. Il s’agit d’un ensemble de stations multiprocesseurs, de capacité modulaire, gérée par configurations plus ou moins puissantes. Ces configurations sont des données constructeurs et il s’agira de déterminer la bonne configuration la mieux adaptée au besoin site. La capacité maximale de charge B d’un processeur SSP est de (0,8 × 3 600)/0,0278 ~103600 MS. Les configurations proposées sont par exemple classées en small (S), médium (M), et large (L), en fonction de leur équipement en nombre de processeurs (voir chapitre modèles). Il s’agit de données « constructeurs ». Par exemple on a : Configuration n processeurs /station N stations
S 1
M 3
L1 4
L2 4
L3 4
L4 4
L5 4
L6 4
1
2
2
3
4
5
6
7
Tableau 10.17. Configurations
La configuration S est ainsi composée de 1 station, équipée à 2 processeurs. La configuration M est composée de 2 stations à 3 processeurs. La station L6 est équipée de 7 stations à 4 processeurs. Toutes les configurations sont secourues sur la base d’une redondance en N + 1, par exemple la configuration M aura en réalité 2 + 1 stations, dont une en secours. Notre centre devant traiter le trafic de 500 000 abonnés (MS), nous devrons l’équiper d’une configuration à 5 processeurs au total. Celleci n’étant pas proposée nous devrons donc choisir la configuration M. Néammoins il sera prudent, lors de ce choix, de reconsidérer attentivement d’une part les hypothèses de trafic du moment avec leurs incertitudes, mais aussi la stratégie d’évolution du parc, et notamment au vu des facilités d’extensions progressives offertes par ce type de structure en configurations.
536
Trafic et performances des réseaux de télécoms
10.5.2. Dimensionnement des liens d’une Gateway Nous prenons l’exemple d’une Gateway d’accès IP. Nous appliquons les propriétés du modèle défini précédemment pour les services IP. Le dimensionnement se fait en deux étapes. Dans une première étape, on dimensionne au niveau appel afin de déterminer, pour une probabilité de rejet donnée, le nombre d’abonnés raccordables sur la Gateway. Comme on veut garantir à chaque service un taux de rejet donné, on applique simplement pour chaque service, ou groupe de services, la formule d’Erlang. On suppose ainsi que l’acceptation d’appel est faite sur chaque catégorie d’appel. Dans une deuxième étape, on dimensionne au niveau flot, de manière à garantir la qualité de service au niveau paquet. Pour les services temps réel, nous devons d’abord vérifier que tous les débits crêtes sont d’un ordre de grandeur inférieur au débit d’un lien. Ce qui est le cas dès qu’on utilise des liens de débit supérieur ou égal à 155 Mbit/s. On applique alors la formule multidébit, puis la formule time sharing pour les trafics élastiques. Appliquons ceci à une Gateway concentrant le trafic de n = 20 000 abonnés. Pour simplifier, nous affectons la même probabilité de rejet, par exemple PR = 10–3, à tous les services. Nous avons pour chaque service de type i, pour un taux de pénétration pi et une activité ai par abonné : PRi = Erlang ( Ai , N i ) avec Ai = pi .ai .n
et compte tenu des hypothèses d’activité définies dans les objectifs de performance on obtient, par exemple, pour le service VoIP G711: A1 = 0,5 × 0,1 × 20 000 = 1 000. Et en appliquant la formule d’Erlang pour une probabilité de perte de 10–3, on obtient N1 = 1 070. Ceci répété à tous les services donne le tableau 10.18. Il faut bien distinguer la règle de calcul, qui s’applique à toutes les hypothèses de trafic, de son application, qui vise à quantifier les ressources pour chaque cas particulier de mix de trafic. Nous ne prenons ici le mix de
Méthodologie des performances
537
référence des objectifs de performance, que comme exemple. Dans la réalité chaque site constituera un cas particulier. Service n = 104 usagers Pénétration /usager (p) Activité en erlang (a) Activité totale (A) Nombre (N), d’appels simultanés à 10-3
VoIP VoIP H261 H263 MPEG2 MPEG4 WEB FTP G711 G729a 0,5
0,5
0,01
0,01
0,1
0,2
1
0,01
0,1
0,1
0,1
0,1
0,1
0,1
0,1
0,1
1000
1000
20
20
200
400
2000
20
1070
1070
34
34
237
450
2094
34
Tableau 10.18. Mix multiservices
Déterminons maintenant les besoins au niveau flot. Comme défini dans le chapitre modèles nous distinguons les trafics temps réel, et les trafics élastiques. Trafic temps réel Ce sont les trafics correspondant aux services VoIP, H26x, et MPEG. Parmi ces services, il faut encore distinguer les services à débit constant et les services à débit variables. Services à débit constant : leur dimensionnement se fait simplement sur la base d’un taux d’occupation du lien de 0,9 (facteur de précaution). Appliqué à nos hypothèses, on obtient : Service N = 10 000 usagers Nombre d’appels N simultanés (à 10–3) Débit par flot (kbit/s) -crête -moyenne -variance Débit total Mbit/s (c) Lien (Cc=c/0,9)
VoIP G711 1070
H261
80 80 0 85,600
384 384 0 13,056
34
98,656 109,618
Tableau 10.19. Débits constants : calcul de la bande passante
538
Trafic et performances des réseaux de télécoms
Services à débits variables : pour chaque service en phase d’appel, nous avons la moyenne du débit demandé mi et le débit crête di, ou la variance du débit σi2. Lorsqu’on a le débit crête di, on détermine la variance par :
σ i 2 = mi di
(10-16)
Par exemple, pour le service VoIP G729A, le débit crête est 24 kbit/s, l’activité est de type ON-OFF, à environ 50 %, donc le débit moyen est 12 kbit/s et la variance est 288. Service n = 10 000 usagers Nombre d’appels simultanés (10–3), N Débit/flot (kbit/s): -crête di -moyenne mi Total -variance σi2 Total Z Cs (10–6) Mbit/s
VoIP G729A 1070
H263
MPEG2
MPEG4
34
237
450
24 12 12840 288 308160
128 64 2176 8192 278528
500 118500 2502 14812500
64 28800 322 460800
162316 15859988 97,71 179,592
Tableau 10.22. Débits variables : calcul de la bande passante
On applique alors la méthode du peakedness factor (voir chapitre 9) pour un taux de congestion Ps au niveau flot très faible, par exemple de 10-6. Le trafic total est , M = ∑ N i mi . La variance totale est, σ 2 = ∑ N iσ i i
∑Nσ On a aussi , z = ∑N m
2
i
2
i
i
i
i
(10-17)
i
i
et l’application de la formule d’Erlang donne la capacité Cs requise :
Méthodologie des performances
Ps ≈ Erlang (
M Cs , ) z z
539
(10-18)
A partir des hypothèses de la section 10.2, on obtient le tableau 10.20. Trafic élastique Nous appliquons le modèle du processeur sharing. Comme nous l’avons vu au chapitre 9, ce modèle donne des temps de réponse correspondant à des débits d = Ce(1-ρ)). En adoptant une charge maximale de 0,8 nous obtenons les résultats du tableau suivant. Service N = 10000 usagers Nombre d’appels simultanés (10–3), N Débit/flot : (kbit/s) - crête - moyenne Nombre moyen de sources à 56 kbit/s Total Mbit/s : ce
WEB
FTP
2094
34
15 561
8 4,86
31,410 0,272
Ce= ce/0,8
31,682 39,602
Tableau 10.21. Trafics élastiques : calcul de la bande passante
Et finalement en appliquant la règle d’intégration des trafics stream et élastiques : C = Max(Cs + Cc ; Ce + Csm + Cc)
(10-19)
C = Max(289,210 ; 311,536) = 311,536 Mbit/s Dans cet exemple, on ne gagne pas énormément en débit avec la règle d’intégration par rapport à un dimensionnement sans intégration : C = Cc + Cs + Ce = 109,618 + 162,316 + 39,602 = 328,812 Mbit/s Ceci est simplement dû à la part importante des trafics temps réels.
540
Trafic et performances des réseaux de télécoms
Enfin, on doit tenir compte des cas de pannes. La capacité trouvée doit être assurée en cas de perte d’un lien (on néglige les cas de panne double). On dimensionnera donc la Gateway avec quatre liens à 155 Mbit/s, soit trois liens en dégradé, c’est-à-dire 465 Mbit/s. 10.5.3. Dimensionnement d’un lot de maintenance Cette activité est bien sûr fondamentale pour garantir la sûreté de fonctionnement des systèmes de télécommunication qui très généralement, pour la partie terrestre au moins, sont des systèmes réparables. Nous pouvons très souvent nous ramener à une situation équivalant à une stratégie de remplacement au fil de l’eau, et presque toujours le nombre de matériels en parc de chaque type est suffisamment grand par rapport au stock, pour pouvoir appliquer alors simplement la loi de Poisson (voir chapitre 6). Cependant, développons quelques aspects concrets à partir d’un exemple. Soit un réseau constitué de plusieurs sites pour lequel on veut dimensionner un stock de maintenance commun. Sur l’ensemble du réseau considéré, on recense les types d’équipements suivants, auxquels sont associés leur nombre et leurs taux de défaillances respectifs. Type i 1 2 3 4 5 6 7 8
Ni 6 6 6 6 12 78 78 624
λi 10-6/h 3,5 3,5 1,5 4 3,3 0,16 6,3 0,9
Tableau 10.22. Caractéristiques des équipements du parc
Ayant plusieurs types de matériels, se pose d’abord le problème de la définition de la rupture de stock. En pratique, on définit souvent la
Méthodologie des performances
541
probabilité de rupture globale, qui est la probabilité d’une rupture de stock quel que soit le type de matériel affecté. On a :
PRG =
∑N λ P i
i
Ri
(10-20)
i
∑N λ i
i
i
avec PRi la probabilité de rupture individuelle pour chaque type de matériel. Pour effectuer le calcul on démarre en prenant les PRi égaux à PRG. Puis on réajuste la valeur des PRi pour être au plus près du PRG fixé. Un autre problème concret vient aussi du très faible nombre de pannes engendré par certains matériels (en nombre restreint ou à très faible taux de défaillance). La solution sécuritaire est de mettre au moins un équipement de ce type dans le stock. Cependant, si la probabilité individuelle réelle de rupture est très inférieure à celle fixée, par exemple 10 fois moindre, on pourrait admettre de ne pas avoir ce type de matériel en stock. Mais alors nous devrons prendre PRi = 1 pour ce type d’équipement (et nous risquons d’affecter fortement PRG). Appliquons ceci à notre exemple avec un temps de réapprovisionnement (dit aussi temps de rotation) de 90 jours (nous prenons le cas de sites à l’étranger) et un objectif de probabilité de rupture globale de 2 %. On obtient alors le stock suivant. Type i 1 2 3 4 5 6 7 8
si 2 2 0 2 2 2 5 20
λi 10-6/h 3,5 3,5 1,5 4 3,3 0,16 6,3 0,9
Tableau 10.23. Dimensionnement du lot de maintenance
542
Trafic et performances des réseaux de télécoms
Le lecteur vérifiera que du fait des valeurs forcément entières du nombre d’équipements de chaque type on obtient une PRG effectif de 1,38 %, avec des PRI de 2,4 %. Les résultats dépendent bien sûr fortement des valeurs prises comme objectif, des modes de réapprovisionnements adoptés, et fondamentalement de la validité des taux de défaillance adoptés. On ne perdra pas de vue l’impact possible d’une rupture de stock sur la disponibilité du système (on rallonge les temps de réparation), bien que généralement en cas de situation critique une procédure d’urgence sera alors adoptée pour le réapprovisionnement. Dans tous les cas, il s’agit-là de stratégies à décider et à ajuster par l’utilisateur, sur la base des prévisions et des observations des taux de défaillance. Stratégies qui peuvent faire l’objet de contrats entre fournisseur d’équipements et exploitants. 10.6. Suivi en exploitation Il s’agit ici de suivre le comportement des systèmes en phase de vie opérationnelle dans les réseaux, afin de vérifier la validité de nos prévisions, de nos dimensionnements, mais aussi pour tirer de nouveaux enseignements de l’observation in situ. Nous donnons ci-après un exemple de suivi de la fiabilité des équipements. Principe du suivi de la fiabilité opérationnelle Le suivi de la fiabilité opérationnelle des équipements (cartes, composants, etc.) est généralement de la responsabilité des services Qualité. Le rôle de l’ingénieur en performances est d’une part de définir, en collaboration étroite avec ces services, les procédures permettant de recueillir des données significatives permettant l’évaluation de la fiabilité des équipements, mais aussi bien sûr d’aider à l’interprétation mathématique de résultats (évolution dans le temps, degré de confiance, etc.).
Méthodologie des performances
543
Nous donnons ici un exemple de procédure et de type de données à recueillir. Les données brutes de fiabilité opérationnelle sont fournies par les services Qualité à partir des retours de matériels enregistrés dans les centres de réparation. Dans le cas d’un fabricant d’équipements de télécommunication, ce suivi s’applique, par exemple, aux cartes installées à la fois sur les maquettes d’essais et sur les sites des clients. La durée de fonctionnement des cartes est calculée sur la base d’une date de référence comme par exemple la date de sortie du produit au client plus 2 mois, du fait du passage en maquette. Les données brutes de retour sont analysées par des spécialistes (concepteurs du hardware par exemple), objet par objet à partir des fiches de relevés de défauts (FRD) ouverts par le centre de réparation pour chaque objet traité. Cette analyse fine permet de cibler les axes d’amélioration et les points faibles, s’il y en a, et de décomposer les retours en « vraies pannes » et « fausses pannes » : termes purement symboliques tendant essentiellement à distinguer les défauts de manipulation ou d’installation, des autres défauts. Une classification des vraies pannes et des fausses pannes peut être la suivante : – vraies pannes : défauts composants ; défauts de fabrication (défaut de brasure, broche levée, coupure cuivre, etc.) ; doutes (défauts non clairement identifiés) ; défauts divers (cartes « irréparables », échanges standard) ; – fausses pannes : cartes physiquement endommagées (sûrement causées par des manques de précautions lors de manipulations, lors du transport, etc.) ; dossiers non conformes (composant(s) manquant(s) ou non conforme(s)) ; retours dus à des alertes qualité ; défauts dus à des mauvaises configurations logicielles ; les RAS (rien à signaler). A partir des vraies pannes et des heures de fonctionnement, on en déduit : – un taux de défaillances opérationnel « corrigé », « réel », incluant toutes les vraies pannes : on calcule une valeur moyenne et un intervalle de confiance par application de la loi du Chi-2 :
544
Trafic et performances des réseaux de télécoms
λop _ Réel =
Nb _ vraies _ pannes Nb _ heures _ fonctionnement
(10-21)
– un taux de défaillances opérationnel « composants » calculé uniquement sur les pannes de composants :
λop _ comp =
Nb _ pannes _ composants Nb _ heures _ fonctionnement
(10-22)
Le taux de défaillances opérationnel « composants » est alors comparé au taux de défaillances prévisionnel pour action éventuelle selon le résultat du ratio. Ainsi, si le taux de défaillances observé est très supérieur au taux de défaillances prévisionnel (ratio > 2), des analyses composants (contrôles visuels, expertises) et éventuellement des actions correctrices (remplacements de certains composants, alertes qualité) sont alors engagées. Le tableau 10.24 représente la structure type d’un rapport de suivi de fiabilité, et présente des exemples de résultats observés sur des équipements (ici des cartes), pour grande partie récemment mises en service sur site. Il est important de retenir l’approche : – comparaison avec les valeurs attendues ; – comparaison entre données brutes et données après analyse des défauts : dans le cas présent, on cherche à distinguer ce qui est purement du ressort de la fiabilité catalectique (et qui peut être estimé par le calcul prévisionnel des taux de défaillance), de ce qui est du ressort de la mise au point des équipements (mauvaises fabrications, mauvaises manipulations, mauvaises installations, etc.), et qui après identification sera corrigé ; – importance du nombre d’heures cumulées ; – importance de disposer de rapports à des dates différentes pour effectuer un suivi de l’évolution des estimations dans le temps. On notera ainsi dans ce tableau les éléments suivants.
Méthodologie des performances
en Réparé cours
3
33
1
1
16
0
4
11
0
4
1
0
0
1
0
0
0
0
5
8
0
0
7
0
0
1
0
1,74
500
574
6
84
0
3
33
2
16 24
4
15,00
7
30
0
0
8
0
11
8
3
11,00
8
18
1
0
5
0
4
6
2
autre
3 0 27 49
Composant
0 1
Irréparables
4 0 0 3 116 2 19 16
Avec int.
1 2
Sans int.
N°
1 2
Heures λ λ opér. Ratio de prév. brut Brut mt fonct (10-9) λo/ λp (106) (10-9)
3,24 9,50
850 926 3000 7995
1,1 2,7
4,56
970
3,4
1,16
990
3286
Analyse λ défauts « réels »
RAS
FIABILITE brute
Total Retours
Echanges Standards
CUMUL au xx(date)
Défauts « réels »
Eqt
545
Ratio Final λr /λp
3 21
926 2209
1,1 0,7
4
876
0,9
0
0
0,0
1,1
0
0
0,0
1590 2690
1,7
13
874
0,5
1600 1668
1,0
8
702
0,4
2,13
940
4687
5,0
4
1875
2,0 2,8
9
85
1
8
11
2
35 27
1
2,74
3950 22580
5,7
30 10926
10
80
0
3
9
1
48 18
1
1,55
4950 42419
8,6
29 18639
3,8
11
8
0
1
3
0
2
2
0
1,47
1150 2704
2,4
1
676
0,6
12
19
0
0
2
0
9
7
1
1,48
1830 10772
5,9
8
5386
2,9
13
7
0
0
2
0
2
3
0
16,00
290
306
1,1
2
122
0,4
14 15
8 8
0 2
1 0
1 4
0 0
2 0
4 2
0 0
2,00 0,93
1430 2996 880 2149
2,1 2,4
2 0
999 0
0,7 0,0 0,0
16
3
0
0
1
0
0
2
0
1,15
70
1738
24,8
0
0
17
10
0
1
0
1
0
8
0
1,03
110
7751
70,5
0
0
0,0
18
4
0
0
1
0
0
2
1
0,62
1090 3207
2,9
0
0
0,0
19
17
0
1
5
0
7
4
0
2,74
2460 4006
1,6
7
2549
1,0
20
3
0
0
0
0
0
2
1
0,48
2270 4103
1,8
0
0
0,0
Tableau 10.24. Fiche de suivi de fiabilité opérationnelle
Il y a une proportion importante, de l’ordre de 50 %, de fausses pannes : non-conformité au dossier, mauvaise configuration logicielle, dommages physiques. Et aussi, parmi les vraies pannes recensées, encore environ 50 % sont des pannes « composants » et 35 % sont des défauts de fabrication. Ceci, comme nous le vérifierons un peu plus loin, tient au fait que nous étudions un lot de cartes en début de vie opérationnelle.
546
Trafic et performances des réseaux de télécoms
Les cartes 15, 16, 17, 18 présentent un nombre anormal de défauts par rapport aux prévisions. Il ne s’agit pas cependant de défauts « composants ». Leur taux de défaillance observé, bien que peu significatif en raison du nombre d’heures de fonctionnement insuffisant, a conduit à analyse et a permis de mettre en évidence des défauts de fabrication, en particulier des problèmes de brasures. Ces informations ont permis d’intervenir auprès des usines. Les cartes, comme celles déjà citées, ayant un nombre d’heures cumulées de fonctionnement peu important (< 100 000 heures), ne présentent pratiquement pas de défaut composant. C’est par exemple le cas des cartes 4, 5, 15, 16, 17, 18, 20. Pour ces équipements, la fiabilité ne peut être estimée que par une limite supérieure avec un certain indice de confiance. Par exemple pour la carte 20, l’application de la loi du Chi-2 nous donne un taux de défaillance inférieur à 2 000 Fit (2 000 10–9, 1 Fit = 10–9) à 60 % de confiance. Nous sommes en effet dans le cas où les éléments défaillants sont remplacés au fur et à mesure de leur panne. Si T est la durée cumulée d’observation, ce qui équivaut à la durée cumulée d’un essai dit censuré, et r le nombre de défaillances observées, alors la limite inférieure de l’intervalle de confiance pour un intervalle unilatéral d’indice de confiance 1–α, est (voir chapitre 5) :
θi =
2T
χ
2 2 r + 2;1−α
(10-23)
qui rappelons-le signifie que le MTBF est θ > θi avec une probabilité 1– α. 2 Dans notre cas, on a T = 487392, χ 2;0,6 = 1,83 (voir tables en annexe 2)
et donc θi = 532 668 soit λi= 1 877 10–9. Considérons maintenant les équipements ayant un nombre d’heures de fonctionnement important. Ceux-ci présentent des taux de défaillance très satisfaisants au regard des prévisions et sont même meilleurs que les valeurs attendues. C’est notamment le cas des cartes 2 (ratio = 0,7), 6 (ratio = 0,5), 7 (ratio = 0,4), 11 (ratio = 0,6), 3 (ratio = 0,9),13 (ratio = 0,4),14 (ratio = 0,7).
Méthodologie des performances
547
A cet égard, il est important de regarder l’évolution des taux de défaillance en fonction du temps. Nous reportons ici comme exemple le cas de 2 cartes : les cartes 2 et 7. Le suivi donne les courbes suivantes. Nb d’heures de fonctionnement au x /y/z : 11393640h.
Equipement n°7
2 000 λ (fit) 1 500 1 000
λ prév λ réel λ composants
500 0
1/4 1/5 1/6 1/7 1/8 1/9 1/10 1/11 1/12
Nb d’heures de fonctionnement Equipement n°2 au x/y/z : 9505584h. 15 000 λ prév λ réel
λ 10 000 (fit) 5 000
λ composants
0 1/4 1/5 1/6 1/7 1/8 1/9 1/10 1/11 1/12
Figure 10.12. Evolution dans le temps du taux de défaillance
Ces graphes montrent bien que des équipements, comme l’équipement n° 7, ont atteint la période de vie utile, et on peut donc évaluer leur taux de défaillance avec un bon degré de confiance. Par exemple, la durée cumulée d’observation de cet équipement est T =1,1.107 heures, et on a observé 8 vraies pannes. On en déduit donc par la loi du Chi-2, pour un intervalle centré (voir chapitre 5) : 2T
χ 22r + 2;α / 2
<θ <
2T
χ 22r ;1−α / 2
avec 1 – α = 0,8 on obtient (voir tables en annexe 2) : 2 2 χ16;0,9 = 23,5 et χ18;0,1 = 10,9
(10-24)
548
Trafic et performances des réseaux de télécoms
Ce qui donne 9,36.105 < θ < 2,018.106 ou 4,95 10-7 < λ < 1,06.10-6, à 80 % de confiance pour un lambda prévisionnel de 1,59 10–6. Par contre, l’équipement n° 2 paraît être en fin de « période de jeunesse », son taux de défaillance tend vers la valeur prévisionnelle, une estimation précise ne pourra se faire qu’à la période d’observation suivante. Il faut donc bien insister encore une fois, comme en simulation et en trafic, sur l’importance de l’observation de l’évolution dans le temps du phénomène étudié. Enfin, nous notons que certains équipements, bien qu’ayant un nombre d’heures de fonctionnement important, présentent un taux de défaillance important au regard de la valeur prévisionnelle. Il s’agit des cartes 8, 9 10 et 12. L’analyse a permis d’incriminer des défauts sur des composants particuliers et aussi des défauts de soudure associés à ces composants, impliquant bien sûr des actions correctrices. Bien d’autres enseignements seraient à retirer de ces exemples, mais nous arrêterons là l’exposé, et laisserons le soin au lecteur d’approfondir ce type d’étude sur ses propres cas d’observations.
CONCLUSION
Voici terminée notre incursion dans le domaine de l’évaluation des performances. Tout au long de ces dix chapitres, le lecteur aura ainsi découvert, ou redécouvert, les bases de disciplines aussi diverses qu’essentielles pour son métier, telles que les normes de qualité de service et les systèmes de télécommunication, les probabilités, les statistiques, la fiabilité, les files d’attente, et la méthodologie. Il lui reste maintenant à mettre en pratique ces notions et, par l’exercice et l’apprentissage permanent, forger sa propre expertise. Qu’il ne se trompe pas, ceci n’est qu’un point de départ : le domaine des télécommunications est en perpétuelle évolution et de nouveaux problèmes de performance sont sans cesse soulevés. L’expert en performance sera toujours confronté à la nouveauté et au risque. C’est la pratique et la maîtrise de l’ensemble des disciplines présentées dans cet ouvrage qui lui permettront de réaliser les synthèses nécessaires : entre les problèmes du passé et les problèmes présents ou à venir, entre la beauté du modèle mathématique et les contraintes du terrain. S’il est un métier où la modestie et l’apprentissage sont des règles d’or c’est bien celui-là, aussi nous ne pouvons que conseiller au lecteur de faire sienne cette pensée : « Ton passé est comme matériau aux pieds du bâtisseur, c’est à toi d’en forger l’avenir. » (Antoine de Saint Exupéry, Citadelle). Nous souhaitons simplement que cet ouvrage, avec d’autres, lui soit un compagnon fidèle tout au long de son parcours.
ANNEXE 1
Mathématiques
Nous rappelons ici quelques définitions et théorèmes de base pour l’utilisation des fonctions de la variable complexe, ainsi que quelques formules élémentaires des développements en série, mais dont l’usage est extrêmement fréquent. Les fonctions de la variable complexe : théorèmes et définitions Définition de la fonction de la variable complexe Soit Ω un ensemble ouvert du corps C des nombres complexes, on appelle fonction de la variable complexe sur Ω, toute application de Ω dans C qui à tout z appartenant à Ω fait correspondre un complexe noté : Z = f ( z)
On peut aussi toujours écrire : Z = X ( x, y ) + iY ( x, y )
L’ensemble Ω est l’ensemble de définition de la fonction.
552
Trafic et performances des réseaux de télécoms
Fonction uniforme La fonction f(z) est uniforme si à chaque z de Ω ne correspond qu’une seule valeur Z = f ( z ) . Continuité Les définitions sur les limites des fonctions complexes sont les mêmes que celles qui concernent les fonctions scalaires. En particulier, z étant une fonction continue dans tout le plan complexe, tout polynôme entier en z est une fonction continue en tout point du plan. De même, toute fraction rationnelle en z est continue dans tout le plan, sauf aux points où le dénominateur s’annule (on appelle ces points les pôles de la fraction). Fonction analytique Une fonction d’une variable complexe est dite analytique en un point du plan complexe si sa dérivée en ce point est unique. La condition nécessaire et suffisante pour que la fonction complexe f(z) soit dérivable au point z = x + iy est que ses parties réelle et imaginaire X ( x, y ) et Y ( x, y ) soient différentiables au point m( x, y ) , image de z et vérifient les conditions de Cauchy. Conditions de Cauchy : les dérivées partielles de X ( x, y ) et Y ( x, y ) vérifient les conditions : ∂X ∂Y ∂X ∂Y et = =− ∂x ∂y ∂y ∂x
Fonction homomorphe Une fonction f(z) est dite holomorphe en un point z0 si f(z) est dérivable en z0 et s’il existe un cercle de centre z0 dans lequel f(z) est continue et uniforme. Une fonction f(z) est dite holomorphe dans un domaine D si elle est dérivable en chaque point de D et si elle est uniforme dans D tout entier.
Annexe 1
553
Point singulier, pôle Tout point z0 où la fonction f(z) n’est pas holomorphe est dit point singulier pour cette fonction. Tels sont les points critiques d’une fonction multiforme et les pôles d’une fraction. Plus généralement z = z0 est un pôle pour f(z) si 1/ f(z) est holomorphe en z0. Intégration d’une fonction continue Soit un arc simple AB dans le plan complexe :
∫
f ( z )dz =
AB
∫
f ( X + iY )( dx + idy ) =
AB
∫ Xdx − Ydy + i ∫ Ydx + Xdy
AB
AB
L’intégrale d’une fonction complexe est une combinaison linéaire d’intégrales curvilignes. Elle possède toutes les propriétés des intégrales ordinaires. Exemple de calcul : l’intégrale de base dz
∫ z − a , où C est le cercle de centre z = a et de rayon ρ
C
Posons z − a = ρ et z − a = ρ eiθ On a : 2π 2π dz i ρ eiθ = = d θ ∫ z − a ∫0 ρ eiθ ∫0 idθ = 2π i C Théorème de Cauchy Etant donné une courbe fermée simple C et une fonction f(z) holomorphe dans le domaine D intérieur à C et continue sur D + C, on a:
∫ f ( z )dz = 0
C
554
Trafic et performances des réseaux de télécoms
L’intégrale de Cauchy f (a) =
1 f ( z) dz ∫ 2π i C + z − a
C+ signifiant que l’intégrale est prise dans le sens direct (sens trigonométrique). Théorème de Paul Lévy Si φ ( z ) est une fonction indéfiniment dérivable, et si la série ∞
∑
φ ( n ) (0)
(iu )n converge, u étant réel dans un cercle de rayon a, la
n! n=0 fonction φ ( z ) est alors analytique dans la bande, −a < R ( z ) < + a . R(z) désignant la valeur réelle de z.
Corollaires a) si φ ( x) , pour x réel, existe pour α < x < β , φ ( z ) est analytique dans la bande α < R ( z ) < β ; b) le point singulier de φ ( z ) , le plus près de l’origine, devant être sur le cercle de convergence et à l’extérieur de la bande d’analyticité, est nécessairement réel. Théorème de Rouché Si f(z) et g(z) sont analytiques à l’intérieur et sur un contour C fermé, et si aussi g ( z ) < f ( z ) sur C, alors f(z) et f ( z ) + g ( z ) ont le même nombre de zéros à l’intérieur de C. Développements en série Formule de Taylor Soit une fonction continue dans l’intervalle [a, b], admettant des dérivées jusqu’à l’ordre n continues sur cet intervalle, et une dérivée d’ordre n + 1 sur l’intervalle ]a, b[, alors il existe c de ]a, b[ tel que :
Annexe 1
f (b) − f (a ) = +
555
(b − a) (b − a ) 2 (b − a ) n ( n ) f '(a ) + f "(a) + .. f (a) 1! 2! n!
(b − a )n +1 ( n +1) (c ) f (n + 1)!
On retiendra en pratique la forme suivante : f ( x) = f (a ) +
( x − a) ( x − a)2 f '(a ) + f "(a ) + .. 1! 2!
On obtient la formule de Mac Laurin pour a = 0 : f ( x) = f (0) + x
f '(0) x2 ( x − a) + f "(0) + .. 1! 2!
Nous donnons maintenant le développement en série de quelques fonctions usuelles dans notre domaine d’étude. Formule du binôme n étant un entier, appliquons la formule de Taylor à la fonction (a + b) n . On a : (a + b)n = a n + nba n −1 + ... +
On pose :
n(n − 1)...(n − p + 1) n − p p a b + ... + nab n −1 + b n p!
n(n − 1)...(n − p + 1) = Cnp , avec p > 0 et Cn0 = 1 p!
n Cnp est aussi noté (notation anglo-saxonne) : p
D’où la formule dite formule du binôme : (a + b)n = Cn0 a n + Cn1ba n −1 + ... + Cnp b p a n − p + ... + Cnn b n
Le coefficient binomial Cnp s’écrit aussi :
556
Trafic et performances des réseaux de télécoms
Cnp =
n! d’où Cnp = Cnn − p p !(n − p )!
On peut établir aussi : Cnp = Cnp−−11 + Cnp−1 (relation qui permet de construire le triangle de Pascal).
De la formule du binôme, on déduit le développement de la fonction (1 + x)n : (1 + x) n = Cn0 + Cn1 x + ... + Cnp x 2 + ... + Cnn x n
Exponentielle ex = 1 +
x x2 xn + + ... + x nε ( x) , tel que ε ( x) → 0 avec x, valable pour 1! 2! n!
tout x. Puissance ax = 1+
x ln a ( x ln a ) 2 + + ... , pour tout x 1! 2!
Polynôme m(m − 1) 2 m(m − 1)..(m − p + 1) p x + ... x + .... , pour p! 2! m quelconque positif ou négatif, entier ou fractionnaire.
(1 + x) m = 1 + mx +
Pour m entier, on retrouve le développement du binôme : m m m (1 + x) m = 1 + x + x 2 + ... x p + .... 1 2 p
On a le cas particulier important :
Annexe 1
557
1 = 1 − x + x 2 − x 3 + .... + (−1)n x n + x nε ( x) avec x < 1 1+ x
ou aussi : 1 = 1 + x + x 2 + x 3 + .... + x n + ... 1− x qui donne par dérivation : 1 (1 − x) 2
= x + 2 x + 3 x 2 + ...
Logarithme ln(1 + x) = x −
x 2 x3 x 4 + − + ... , pour −1 < x ≤ +1 2 3 4
x − 1 1 ( x − 1) 3 1 ( x − 1) 5 + + + ln( x) = 2 ... , pour x > 0 x + 1 3 ( x + 1) 5 ( x + 1)
Développement en série d’une fonction de la variable complexe Formule de Taylor Une fonction f(z), holomorphe à l’intérieur d’un cercle de centre C de centre a et sur la circonférence elle-même, est développable en série entière suivant les puissances de (z-a) et la série est convergente tant que z est intérieur à C. Son développement est unique et c’est un développement en série de Taylor de f(z) autour de z = a : f ( z ) = f (a) +
( z − a ) n ( n) ( z − a) 2 ( z − a) (a ) + ... f f ' (a) + f " (a ) + .. 2! 1! n!
Donc de la même forme que dans le domaine réel.
558
Trafic et performances des réseaux de télécoms
Les développements des fonctions usuelles sont de la même forme que ceux obtenus avec la variable réelle. Par exemple : ez =1+
z z2 zn + + ... + .. , avec R (rayon de convergence) infini. 1! 2! n!
1 = 1 − z + z 2 − z 3 + .... + (−1) n z n + .. , avec R = 1 1+ z
Développement en série de Laurent Une fonction f(z) holomorphe à l’intérieur d’une couronne circulaire de centre a et sur les circonférences C et γ qui la limitent (γ intérieur à C), est la somme de deux séries convergentes, l’une ordonnée suivant les puissances entières positives de (z – a), l’autre suivant les 1 puissances de . z−a On a : f ( z ) = ... +
A− n A−1 + ... + + A0 + A1 ( z − a ) + ... n ( z − a) ( z − a)
+ An ( z − a ) n + ...
qui est la série de Laurent de f(z) autour de z = a, avec : An =
1 2πi
et A− n =
f (u ) du n +1 ( ) u − a C+
∫
1 2πi
∫ (u − a)
n −1 f (u )du
γ+
Si à l’intérieur de γ le seul point singulier est le point a, alors la série de Laurent fournit le développement de f(z) autour du point singulier z = a (valable pour z aussi voisin de a qu’on voudra, mais pas en a). Et A-1 est le résidus de f(z) en a. C’est aussi le coefficient de (z – a)n-1 dans le développement de Taylor de (z – a)n f(z).
ANNEXE 2
Tables
Ceci constitue simplement un guide. Il est désormais aisé d’obtenir des résultats complets par les moyens informatiques. Le but de ces tables et graphes est de permettre au lecteur de visualiser et quantifier rapidement le comportement de quelques lois importantes. Loi d’Erlang
AN N!
E ( N , A) = B =
∑
N j =0
Aj j!
Table d’Erlang : Trafic A fonction de B (probabilité de perte) et de N (nombre de serveurs) B%-->
0, 01
0,03
0,05
0,1
0,2
0,3
0,5
N 1
0,0001 0,0003 0,0005
0,001
0,002
0,003
0,005
3
0,0868
0,127
0,152
0,194
0,249
0,289
0,349
5
0,452
0,577
0,649
0,762
0,900
0,994
1,13
7
1,05
1,27
1,39
1,58
1,80
1,95
2,16
10
2,26
2,61
2,80
3,09
3,43
3,65
3,96
560
Trafic et performances des réseaux de télécoms 15
4,78
5,34
5,63
6,08
6,58
6,91
7,38
20
7,70
8,44
8,83
9,41
10,1
10,5
11,1
25
10,9
11,8
12,3
13
13,8
14,3
15
30
14,2
15,3
15,9
16,7
17,6
18,2
19
35
17,8
19
19,6
20,5
21,6
22,2
23,2
40
21,4
22,7
23,4
24,4
25,6
26,3
27,4
50
28,9
30,5
31,3
32,5
33,9
34,8
36
60
36,6
38,5
39,4
40,8
42,4
43,4
44,8
70
44,6
46,6
47,7
49,2
51
52,1
53,7
80
52,7
54,9
56,1
57,8
59,7
61
62,7
90
60,9
63,4
64,6
66,5
68,6
69,9
71,8
100
69,3
71,9
73,2
75,2
77,5
78,9
80,9
120
86,2
89,2
90,7
93
95,5
97,1
99,4
130
94,8
97,9
99,5
101,9
104,6
106,3
108,7
140
103,4
106,7
108,4
110,9
113,7
115,5
118
150
112,1
115,6
117,3
119,9
122,9
124,8
127,4
160
120,8
124,4
126,3
129
132,1
134
136,8
170
129,6
133,4
135,3
138,1
141,3
143,4
146,2
180
138,4
142,3
144,3
147,3
150,6
152,7
155,7
190
147,3
151,3
153,4
156,4
159,8
162,1
165,2
200
156,2
160,3
162,5
165,6
169,2
171,4
174,6
210
165,1
169,4
171,6
174,8
178,5
180,9
184,2
220
174
178,5
180,7
184,1
187,8
190,3
193,7
230
183
187,6
189,9
193,3
197,2
199,7
203,2
240
192
196,7
199,1
202,6
206,6
209,2
212,8
250
201
205,8
208,3
211,9
216
218,7
222,4
300
246,4
251,8
254,6
258,6
263,2
266,2
270,4
350
292,3
298,2
301,2
305,7
310,8
314,1
318,7
400
338,4
344,8
348,1
353
358,5
362,1
367,2
500
431,4
438,8
442,5
448,2
454,5
458,7
464,5
600
525,2
533,4
537,6
543,9
551
555,7
562,3
700
619,5
628,5
633,2
640,1
647,9
653,1
660,4
800
714,3
724
729,1
736,6
745,1
750,7
758,7
900
809,4
819,9
825,3
833,3
842,5
848,6
857,2
1000
904,8
916
921,7
930,3
940,1
946,6
955,9
Annexe 2 B%-->
561
1
2
5
10
15
20
1
0,0101
0,0204
0,0526
0,111
0,176
0,250
3
0,455
0,602
0,899
1,27
1,60
1,93
5
1,36
1,66
2,22
2,88
3,45
4,01
7
2,50
2,94
3,74
4,67
5,46
6,23
10
4,46
5,08
6,22
7,51
8,62
9,68
15
8,11
9,01
10,6
12,5
14,1
15,6
20
12
13,2
15,2
17,6
19,6
21,6
25
16,1
17,5
20
22,8
25,3
27,7
30
20,3
21,9
24,8
28,1
31
33,8
35
24,6
26,4
29,7
33,4
36,7
40
40
29
31
34,6
38,8
42,5
46,1
50
37,9
40,3
44,5
49,6
54
58,5
60
46,9
49,6
54,6
60,4
65,6
70,9
70
56,1
59,1
64,7
71,3
77,3
83,3
N
80
65,4
68,7
74,8
82,2
88,9
95,7
90
74,7
78,3
85
93,1
100,6
108,2
100
84,1
88
95,2
104,1
112,3
120,6
120
103
107,4
115,8
126,1
135,7
145,6
130
112,5
117,2
126,1
137,1
147,4
158
140
122
127
136,4
148,1
159,1
170,5
150
131,6
136,8
146,7
159,1
170,8
183
160
141,2
146,6
157
170,2
182,5
195,5
170
150,8
156,5
167,4
181,2
194,2
207,9
180
160,4
166,4
177,8
192,2
206
220,4
190
170,1
176,3
188,1
203,3
217,7
232,9
200
179,7
186,2
198,5
214,3
229,4
245,4
210
189,4
196,1
208,9
225,4
241,2
257,9
220
199,1
206
219,3
236,4
252,9
270,4
230
208,8
215,9
229,7
247,5
264,7
282,8
240
218,6
225,9
240,1
258,6
276,4
295,3
250
228,3
235,8
250,5
269,6
288,1
307,8
300
277,1
285,7
302,6
325
346,9
370,3
350
326,2
335,7
354,8
380,4
405,6
432,7
400
375,3
385,9
407,1
435,8
464,4
495,2
562
Trafic et performances des réseaux de télécoms 500
474
486,4
511,8
546,7
582
620,2
600
573,1
587,2
616,5
657,7
699,6
745,1
700
672,4
688,2
721,4
768,7
817,2
870,1
800
771,8
789,3
826,4
879,7
934,8
995,1
900
871,5
890,6
931,4
990,8
1052
1120
1000
971,2
991,9
1036
1102
1170
1245
Table 1. Loi d’Erlang
Annexe 2
563
10
Trafic offert
8
Courbes de la loi d’Erlang A=0,1-10
1e-05 0.1
0.0001
0.001
0.01
0.1
2 Proba de perte
1
N=1
3
4
1
5
7
6
9
12 14
16 18 20
10
Loi d’Erlang : courbes B = f(A, N)
Trafic et performances des réseaux de télécoms
90
80 70
30
Courbes de la loi d’Erlang A =10-100
1e-05
0.0001
0.001
15 0.01
0.1
1
N=10
10
20
25
35
Trafic offert
40 45 50 55
60
65
100
100
Loi d’Erlang : courbes B = f(A, N)
Proba de perte
564
Annexe 2
565
Loi de Gauss u2 1 f (u ) = e 2 2π −
Loi de Laplace Gauss (loi normale réduite)
Loi de Laplace Gauss- densité de probabilité
f(u) 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 -4
-3
-2
-1
0
1
-a
2
3
4
a
Table de Gauss : probabilité cumulée : 2
∞ −u e 2 du
1
1 − P(−a ≤ u ≤ a) = 2
∫
2π a
Valeurs de a pour P donné (ex. P = 10-3 : a = 3,29 et P = 0,11 : a = 1,598) P
10-3 3,290
P
10-4 3,890
0
0
10-5 4,417
10-6 4,892
10-7 5,327
10-8 5,731
0,01
0,02
0,03
0,04
2,576
2,326
2,170
2,054
0,1
1,645
1,598
1,555
1,514
1,476
0,2
1,281
1,253
1,226
1,200
1,175
0,3
1,036
1,015
0,994
0,974
0,954
0,4
0,842
0,824
0,806
0,789
0,772
10-9 6,110
566
Trafic et performances des réseaux de télécoms 0,5
0,674
0,659
0, 643
0,628
0,613
0,6
0,524
0,510
0,482
0,482
0,468
0,7
0,385
0,372
0,345
0,345
0,332
0,8
0,253
0,240
0,215
0,215
0,202
0,9
0,126
0,113
0,088
0,088
0,075
P
0,05
0,06
0,07
0,08
0,09
0
1,960
1,880
1,812
1,751
1,695
0,1
1,440
1,405
1,372
1,341
1,310
0,2
1,150
1,126
1,103
1,080
1,058
0,3
0,934
0,915
0,896
0,878
0,859
0,4
0,755
0,739
0,722
0,706
0,609
0,5
0,598
0,583
0,568
0,553
0,539
0,6
0,454
0,440
0,426
0,412
0,399
0,7
0,318
0,305
0,292
0,279
0,266
0,8
0,189
0,176
0,164
0,151
0,138
0,9
0,063
0,050
0,038
0,025
0,012
Table 2. Loi de laplace-Gauss (loi normale réduite), probabilité cumulée
Annexe 2
567
Loi de Poisson
P(k ) = e −λ
λk k! Loi de Poisson - densité de probabilité
P(k) 0,25 0,2 0,15
λ=3 λ=5
0,1
λ=10
0,05 0
k 0
2
4
6
8
10
12
14
16
18
20
Table de Poisson : densité de probabilité
P ( x = k ) = e −λ
λ -->
λk
k!
0,1
0,3
0,5
1
2
3
4
0
9,0e-1
7,4e-1
6,1e-1
3,7e-1
1,3e-1
5,0e-2
1,8e-2
1
9,0e-2
2,2e-1
3,0e-1
3,7e-1
2,7e-1
1,5e-1
7,3e-2
2
4,5e-3
3,3e-2
7,6e-2
1,8e-1
2,7e-1
2,2e-1
1,5e-1
3
1,5e-4
3,3e-3
1,3e-2
6,1e-2
1,8e-1
2,2e-1
1,9e-1
4
4,0e-6
2,5e-4
1,6e-3
1,5e-2
9,0e-2
1,7e-1
1,9e-1
1,5e-4
1,6e-4
3,0e-3
3,6e-2
1,0e-1
1,6e-1
k
5
568
Trafic et performances des réseaux de télécoms 6
1e-6
1,3e-5
5,1e-4
1,2e-2
5,0e-2
1,0e-1
1e-6
7,3e-5
3,4e-3
2,2e-2
5,9e-2
8
9e-6
8,6e-4
8,1e-3
3,0e-2
9
1e-6
1,9e-4
2,7e-3
1,3e-2
10
3,8e-5
8,1e-4
5,3e-3
12
1e-6
5,5e-5
6,4e-4
1e-6
1,5e-5
7
15 18 20 22 25 28 30 λ -->
5
6
7
8
9
10
0
6,7e-3
2,5e-3
9,1e-4
3,3e-4
1,2e-4
1,7e-5
1
3,4e-2
1,5e-2
6,4e-3
2,7e-3
1,1e-3
1,8e-4
2
8,4e-2
4,5e-2
2,2e-2
1,1e-2
5,0e-3
1,0e-3
3
1,4e-1
8,9e-2
5,2e-2
2,9e-2
1,5e-2
3,7e-3
4
1,7e-1
1,3e-1
9,1e-2
5,7e-2
3,4e-2
1,0e-2
5
1,7e-1
1,6e-1
1,3e-1
9,2e-2
6,1e-2
2,2e-2
6
1,5e-1
1,6e-1
1,5e-1
1,2e-1
9,1e-2
4,1e-2
7
1,0e-1
1,4e-1
1,5e-1
1,4e-1
1,2e-1
6,4e-2
8
6,5e-2
1,0e-1
1,3e-1
1,4e-1
1,3e-1
8,9e-2
9
3,6e-2
6,9e-2
1,0e-1
1,2e-1
1,3e-1
1,1e-1
10
1,8e-2
4,1e-2
7,1e-2
9,9e-2
1,2e-1
1,2e-1
12
3,4e-3
1,1e-2
2,6e-2
4,8e-2
7,3e-2
1,1e-1
15
1,6e-4
8,9e-4
3,3e-3
9,0e-3
1,9e-2
5,3e-2
18
4e-6
3,9e-5
2,3e-4
9,4e-4
2,9e-3
1,4e-2
4e-6
3,0e-5
1,6e-4
6,2e-4
4,6e-3
3e-6
2,2e-5
1,1e-4
1,2e-3
k
20 22
Annexe 2 25
1e-6
28
6e-6
1,2e-4
1e-6
8e-6
30
569
1e-6 Table 3. Loi de Poisson , densité de probabilité
Table de poisson : probabilités cumulées k
P (≤ k ) = ∑ e − λ k--> λ 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
λx
, x entier
0
x!
0
1
2
0,90 0,82 0,74 0,67 0,61 0,55 0,50 0,45 0,41 0,37 0,13 0,50 0,02 0,01 0,00
0,99 0,98 0,96 0,94 0,91 0,88 0,84 0,81 0,77 0,74 0,41 0,20 0,09 0,04 0,02 0,01 0,00
1 1 1 0,99 0,99 0,98 0,97 0,95 0,94 0,92 0,68 0,42 0,24 0,12 0,06 0,03 0,01 0,00
3
1 1 1 1 0,99 0,99 0,99 0,98 0,86 0,65 0,43 0,26 0,15 0,08 0,04 0,02 0,01 0,00
4
1 1 1 1 1 0,95 0,81 0,63 0,44 0,28 0,17 0,10 0,05 0,03 0,01 0,01 0,00
5
6
1 1 0,98 0,92 0,78 0,62 0,45 0,30 0,19 0,12 0,07 0,04 0,02 0,01 0,01 0,00
1 1 0,97 0,89 0,76 0,61 0,45 0,31 0,21 0,13 0,08 0,05 0,03 0,01 0,00
570
Trafic et performances des réseaux de télécoms k--> λ 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
7
8
9
10
15
20
25
1 1 0,99 0,95 0,87 0,74 0,60 0,45 0,32 0,22 0,14 0,09 0,05 0,03 0,02
1 1 0,98 0,93 0,85 0,73 0,60 0,46 0,33 0,23 0,15 0,10 0,06 0,04
1 1 0,99 0,97 0,92 0,83 0,72 0,59 0,46 0,34 0,24 0,17 0,11 0,07
1 1 0,99 0,98 0,90 0,82 0,71 0,58 0,46 0,35 0,25 0,18 0,12
1 1 1 0,99 0,98 0,95 0,91 0,88 0,76 0,67 0,57
1 1 1 0,99 0,99 0,97 0,95 0,92
1 1 0,99
Table 4. Loi de Poisson, probabilité cumulée
Loi de Bernoulli Loi de Bernoulli , densité de probabilité :
Pr( x = k ) =
N! p k (1 − p) N − k k!( N − k )!
Annexe 2 N
p%!
5
10
20
0
0,9025
0,81
0,64
1
0,0950
0,18
0,32
2
0,0025
0,01
0,04
0
0,8574
0,729
0,512
1
0,1354
0,243
0,384
2
0,0071
0,027
0,096
3
0,0001
0,001
0,008
0
0,7738
0,5905
0,3277
1 2
0,2036
0,328
0,4096
0,0214
0,0729
0,2048
3
0,0011
0,0081
0,0512
0,0005
0,0064
k 2
3
5
4 5 8
0,0003
0
0,6634
0,4305
0,1678
1
0,2793
0,3826
0,3355
2
0,0515
0,1488
0,2936
3
0,0054
0,0331
0,1468
4
0,0004
0,0046
0,0459
0,0004
0,0092
5
10
6
0,0011
7
0,0001
0
0,5987
0,3487
0,1074
1
0,3151
0,3874
0,2684
2
0,0746
0,1937
0,3020
3
0,0105
0,0574
0,2013
4
0,0010
0,0112
0,0881
5
0,0001
0,0015
0,0264
0,0001
0,0055
6 7
0,0008
8
0,0001
571
572
Trafic et performances des réseaux de télécoms
N 2 3
5
8
10
p%! k 0 1 2 0 1 2 3 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 9 10
30
40
50
0,49 0,42 0,09 0,343 0,441 0,189 0,027 0,1681 0,3602 0,3087 0,1323 0,0284 0,0024 0,0576 0,1977 0,2965 0,2541 0,1361 0,0467 0,0100 0,0012 0,0001 0,0282 0,1211 0,2335 0,2668 0,2001 0,1029 0,0368 0,0090 0,0014 0,0001
0,36 0,48 0,16 0,216 0n432 0,288 0,064 0,0778 0,2592 0,3456 0,2304 0,0768 0,0102 0,0168 0,0896 0,2090 0,2787 0,2322 0,1239 0,0413 0,0079 0,0007 0,0060 0,0403 0,1209 0,2150 0,2508 0,2007 0,1115 0,0425 0,0106 0,0016 0,0001
0,25 0,50 0,25 0,125 0,375 0,375 0,125 0,0312 0,1562 0,3125 0,3125 0,1562 0,0312 0,0039 0,0312 0,1094 0,2188 0,2734 0,2188 0,1094 0,0312 0,0039 0,0010 0,0098 0,0439 0,1172 0,2051 0,2461 0,2051 0,1172 0,0439 0,0098 0,0010
Table 5. Loi de Bernoulli, densité de probabilité
Annexe 2
573
Loi du Chi-2 Loi du Chi-2 – densité de probabilité Gauss
f(χ2) 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0
α
-4
-3
-2
-1
0
1
χ2α2
3
4
Table du Chi-2 :
χ R2 ; β , loi du Chi-2 à R degrés de liberté, au seuil de confiance α Pr{χ 2 > χ 2( R)} = α , exemple : à R = 30, Pr{χ 2 > 40,26)} = 0,10
χ R2 ; β
1 – α = 0,95 Intervalle
R
2
χ
0,025
2
χ
1 – α = 0,90 limite
0,975
2
χ
0,95
Intervalle 2
χ
0,05
limite
2
χ
0,95
χ20,90
2
0,05
7,38
5,99
0,103
5,99
4,61
4
0,48
11,1
9,49
0,711
9,49
7,78
6
1,24
14,5
12,6
1,64
12,6
10,6
8
2,18
17,5
15,5
8,73
15,5
13,4
10
3,25
20,5
18,3
3,94
18,3
16,0
12
4,40
23,3
21,0
5,23
21,0
18,5
14
5,63
26,1
23,7
6,57
23,7
21,1
16
6,91
28,8
26,3
7,96
26,3
23,5
574
Trafic et performances des réseaux de télécoms 18
8,23
31,5
28,9
9,39
28,9
26,0
20
9,59
34,2
31,4
10,9
31,4
28,4
22
10,98
36,78
33,92
12,34
33,92
30,81
24
12,40
31,37
36,41
13,85
36,41
33,20
26
13,84
41,92
38,88
15,38
38,88
35,56
28
15,31
44,46
41,34
16,93
41,34
37,92
30
16,79
46,98
43,77
18,49
43,77
40,26
χ R2 ; β
1 – α = 0,80 Intervalle 2
1 – α = 0,60 limite
2
Intervalle
χ20,60
0,45
3,22
1,83
5,99
1,65
5,99
4,04
10,6
8,56
3,07
8,56
6,21
3,49
13,4
11,1
4,59
11,1
8,35
10
4,87
16,0
13,4
6,18
13,4
10,5
12
6,30
18,5
15,8
7,81
15,8
12,6
14
7,79
21,1
18,1
9,47
18,1
14,7
16
9,31
23,5
20,5
11,15
20,5
16,8
18
10,9
26,0
22,8
12,85
22,8
18,9
20
12,4
28,4
25,0
14,57
25,0
21,0
22
14,04
30,81
27,3
16,31
27,3
23,1
24
15,66
33,20
29,5
18,06
29,5
25,2
26
17,29
35,56
31,8
19,82
31,8
27,3
28
18,94
37,92
34,0
21,59
34,0
29,4
30
20,60
40,26
36,2
23,36
36,2
31,5
χ
2
0,21
4,61
3,22
4
1,06
7,78
6
2,20
8
0,90
χ
0,80
2
limite 0,80
R
0,10
χ
2
χ
0,20
2
χ
Table 6. Loi du χ2 (intervalle de confiance)
Annexe 2
575
Loi de Student-Fisher Student-Fisher
f(t) 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 -4
-3
-2 -tα -1
0
1
tα 2
3
4
Table de Student-Fisher :
1 − P(−tα ≤ t ≤ tα ) = α en fonction du degré de liberté r α --> r 1 2 3 4 5 6 7 8 9 10 12 15 18 20
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,158 0,142 0,137 0,134 0,132 0,131 0,130 0,130 0,129 0,129 0,128 0,128 0,127 0,127
0,325 0,289 0,277 0,271 0,267 0,265 0,263 0,262 0,261 0,260 0,259 0,258 0,257 0,257
0,510 0,445 0,424 0,414 0,408 0,404 0,402 0,399 0,398 0,397 0,395 0,393 0,392 0,391
0,727 0,617 0,584 0,569 0,559 0,553 0,549 0,546 0,543 0,542 0,539 0,536 0,534 0,533
1 0,816 0,765 0,741 0,727 0,718 0,711 0,706 0,703 0,700 0,695 0,691 0,688 0,687
1,376 1,061 0,978 0,941 0,920 0,906 0,896 0,889 0,883 0,879 0,873 0,866 0,862 0,860
1,963 1,386 1,250 1,190 1,156 1,134 1,119 1,108 1,100 1,093 1,083 1,074 1,067 1,064
576
Trafic et performances des réseaux de télécoms 22 25 28 30
0,127 0,127 0,127 0,127
0,256 0,256 0,256 0,256
0,390 0,390 0,389 0,389
0,532 0,531 0,530 0,530
0,686 0,684 0,683 0,683
0,858 0,856 0,855 0,854
1,061 1,058 1,056 1,055
0,2
0,1
0,05
0,02
0,01
0,001
1
3,078
6,314
12,706
31,821
63,657
636,62
2
1,886
2,920
4,303
6,965
9,925
31,598
3
1,638
2,353
3,182
4,541
5,481
12,924
4
1,533
2,132
2,776
3,747
4,604
8,610
5
1,476
2,015
2,571
3,365
4,032
6,869
6
1,440
1,943
2,447
3,143
3,707
5,959
7
1,415
1,895
2,365
2,998
3,499
5,408
8
1,397
1,860
2,306
2,896
3,355
5,041
9
1,383
1,833
2,262
2,821
3,250
4,781
10
1,372
1,812
2,228
2,764
3,169
4,587
12
1,356
1,782
2,179
2,681
3,055
4,318
15
1,341
1,753
2,131
2,602
2,947
4,073
18
1,330
1,734
2,101
2,552
2,878
3,922
20
1,325
1,725
2,086
2,528
2,845
3,850
22
1,321
1,717
2,074
2,508
2,819
3,792
25
1,316
1,708
2,060
2,485
2,787
3,725
28
1,313
1,701
2,048
2,467
2,763
3,674
30
1,310
1,697
2,042
2,457
2,750
3,646
α --> r
Table 7. Loi de Student-Fisher (intervalle de confiance)
BIBLIOGRAPHIE
IETF : Internet Engineering Task Force http://www.ietf.org/ ETSI : European Telecommunications Standards Institute http://www.etsi.org/ UIT : Union Internationale des Télécommunications http://www.itu.int/ Liste des séries de recommandations de l’ITU-T A. Organisation du travail de l'UIT-T B. Moyens d'expression: définitions, symboles, classification C. Statistiques générales des télécommunications D. Principes généraux de tarification E. Exploitation générale du réseau, service téléphonique, exploitation des services et facteurs humains F. Services de télécommunication non téléphoniques G. Systèmes et supports de transmission, systèmes et réseaux numériques H. Systèmes audiovisuels et multimédias I. Réseau numérique à intégration de services J. Réseaux câblés et transmission des signaux radiophoniques, télévisuels et autres signaux multimédias K. Protection contre les perturbations L. Construction, installation et protection des câbles et autres éléments des installations extérieures M. RGT et maintenance des réseaux: systèmes de transmission, de télégraphie, de télécopie, circuits téléphoniques et circuits loués internationaux N. Maintenance: circuits internationaux de transmission radiophonique et télévisuelle O. Spécifications des appareils de mesure P. Qualité de transmission téléphonique, installations téléphoniques et réseaux locaux Q. Commutation et signalisation
578
Trafic et performances des réseaux de télécoms R. Transmission télégraphique S. Equipements terminaux de télégraphie T. Terminaux des services télématiques U. Commutation télégraphique V. Communications de données sur le réseau téléphonique X. Réseaux pour données et communication entre systèmes ouverts Y. Infrastructure mondiale de l'information et protocole Internet Z. Langages et aspects informatiques généraux des systèmes de télécommunication [BAN 00] Banks J., Carson J., Nelson B. Discrete-Event System Simulation, Prentice Hall, 2000. [BAY 00] Baynat B., Théorie des files d’attente, Hermès, Collection réseaux et télécommunications, Paris, 2000. [BAZ 66] Bazovsky, Fiabilité : théorie et Pratique de la Sûreté de Fonctionnement, Dunod, 1966. [BER 73] Berman S., Bézard R., Statistique pour papa et quelques autres aussi selon toutes probabilités, 2 tomes, Chiron, 1973. [BOX 79] Boxma O.J., « On a tandem queueing model with identical service times at both counters », Adv. Appl. Prob., Vol. 11, 1979, pp 616-659 [BRA 83] Bradley P., Fox B.L., Schrage L.E., A Guide to Simulation, Springer-Verlag, New York, 1983. [BUR 56] Burke P.J., « The output of a queueing system », J. Op. Res. Soc. Amer.4, p. 699-704, 1956. [BUX 81] W. Bux, « Local area Subnetworks: A performance Comparison », IEEE Transaction on Communication, vol Com 29, n° 10, oct. 1981. [CIN 75] Cinlar E., Introduction to Stochastic Processes, Prentice Hall, 1975. [COF 70] Coffman JR E.G., Muntz R., Trotter H., « Waiting time for processor sharing systems », JACM, vol. 17, n° 1, janvier 1970. [COH 82 ] Cohen J.W., The single server queue, North Holland, 1982. [COM 99] Comer D.E., Computer Networks and Internets, Prentice Hall 1999. [CRA 77] Crane, Lemoine, An Introduction to the Regenerative Method for Simulation Output Analysis, Springer Verlag, LNCI Sciences, 1977. [CRO 97] Crovella M.E., Bestavros A., « Self-Similarity in World Wide Web Traffic: Evidence and Possible Causes », IEEE/ACM Transactions on Networking, vol. 5, n° 6, p. 835-846, décembre 1997. [FEL 00] Feldman P., Discrete-event Simulation for Performance Evaluation With Algorithms and Examples in C and C++, John Wiley & Sons, 2000.
Bibliographie
579
[FEL 71] Feller, W. An Introduction to Probability Theory and its Applications, John Wiley and Sons, 1971. [FIC 01] Fiche G., Veillard Y., « The tunneling technique and the tandem queue effect », IFIP workshop on IP and ATM traffic management, Paris 2001 [FIC 85] Fiche G., Le Gall P., Recupero S., « Study of blocking for multislot connection in digital link systems », ITC 11, 1985. [FIC 90] Fiche G., Le Corre F., « A method for evaluating CCITT performance parameters, application to a switching system », ISS 13, 1990. [FIC 93] Fiche G., Sabourin T., Le Gac M.L., Thomazeau F., « Assessing the performance of the Alcatel 1000 system », Commutation & Transmission, n° 4, 1993. [FIC 96] Fiche G., Le Palud C., Rouillard S., « Study of the performance of an ATM Clos switching network based on the composite technique », IFIP, ATM Networks performance modelling and analysis, Chapman &Hall, 1996. [FIS 78] Fishman G., Principles of Discrete-Event Simulation, John Wiley, 1978. [FIS 96] Fishman G., Monte Carlo, Concepts, Algorithms and Applications, Springer Verlag, 1996. [GIM 65] Gimpelson L.A., « Analysis of mixtures of wide ansd narrowband traffic », IEEE trans on Comm., Com 13, n° 3, 1965. [GNE 72] Gnedenko B., Beliaev Y., Soloviev A., Méthodes Mathématiques en Théorie de la Fiabilité, Editions MIR, l972. [GRO 85] Gross D., Harris C., Fundamentals of Queueing Theory, 2nd Edition, John Wiley and Sons, 1985. [IETF] IETF. RFCs.701,1349,2210to2216,2381,2474,2475,2597,2598. [KLE 72] Kleinrock L., Communication Nets, Stochastic Message Flow and Delay, Dover, 1972. [KLE 75] Kleinrock L., Queueing Systems vol.1 : Theory, John Wiley & Sons, 1975 [KLE 76] Kleinrock L., Queueing Systems. Applications, John Wiley and Sons, 1976.
Volume
2:
Computer
[KNU 69] Knuth D., The Art of Computer Programming (Vol. 2), AddisonWesley, Mass., 1969. [KRI 96] Krickeberg K., Petit Cours de Statistique, Springer, 1996.
580
Trafic et performances des réseaux de télécoms [LAB 92] Labourdette J.F., Hart G.W., « Blocking probabilities in multitraffic Loss Systems: insensivity, asymptotic behavior, and approximations », IEEE transactions on communications, vol. 40, n° 8, 1992. [LAM 80] Lam S.S., « A CSMA protocol for Local Networks », Computer networks, vol. 4 n° 1, 1980. [LAW 91] Law A.M., David Kelton W., Simulation Modeling and Analysis. McGraw-Hill, Industrial Engineering series, New York, 1991. [LEC 97] P. L'Ecuyer, T.H. Andres, « A Random Number Generator Based on the Combination of Four LCGs », Mathematics and Computers in Simulation, 44, 99, 1997. [LEE 55] Lee C.Y., « Analysis of switching networks », Bell System Technical Journal, n° 34, 1955 [LEG 62] Le Gall P., Les systèmes avec ou sans attente et les processus stochastiques, Dunod, Paris, 1962. [LEG 93] Le Gall P., « The application of Pollaczek’s method to single server queuing networks », Archiv für Elektronik und Ubertragungstechnik, vol. 47, S.Hirzel Verlag, Stuttgart, 1993. [LEG 94a] Le Gall P., « The overall sojourn time in tandem queues with identical successive service times and renewal input », Stochastic Processes and their Applications, vol. 52, p. 165-178, Elsiever, 1994. [LEG 94b] Le Gall P., « Traffic modeling in packet switched networks for single links », Ann. Telecommun., vol. 49, nº 3-4, 1994. [MAN 88] Manuel du CCITT : Données de planification et méthodes de prévision. Manuel du GAS 10. Volumes I et II, UIT, Genève, 1988. [MAS 02] Massoni M., Initiation aux statistiques descriptives avec Excel, Vuibert, 2ème édition, 2002. [MON 97] Monfort A., Cours de statistique mathématique, Economica, Collection Economie et Statistiques Avancées, 3e édition, 1997. [PAR 60] Parzen E., Modern Probability Theory and its Application, Wiley, New York, 1960. [PAR 62] Parzen E., Sochastic Processes, Holden Day, 1962. [POL 57] Pollaczek F., Problèmes stochastiques posés par le phénomène de formation d’une queue d’attente à un guichet et par des phénomènes apparentés, Paris, Gauthier Villars, 1957. [POL 61] Pollaczek F., Théorie analytique des problèmes stochastiques relatifs à un groupe de lignes téléphoniques avec attente, Paris, Gauthier Villars, 1961.
Bibliographie
581
[PUJ 02] Pujolle G., Les réseaux, quatrième édition, Eyrolles, 2002. [ROB 91] Roberts J., Virtamo J.T., « The superposition of periodic cell arrival processes in an ATM multiplexer », IEEE Trans. on Comm., vol. 39, n° 2, 1991. [ROB 96] Roberts J., Mocci U., Virtamo J. (dir.), COST 242 « Final report of Action », Springer, 1996. [ROB 94] Robertazzi T.G., Computer Networks and Systems: Queueing Theory and Performance Evaluation, Springer Verlag, 1994. [ROS 97] Ross S.M., Simulation, Statistical modelling and decision sciences series, Academic Press, 2nd edition, 1997. [SAB 91] Sabourin T., Fiche G., Ligeour M., « Overload control in a distributed system », ITC 13, 1991, [SAI 79] Saito T., Inose H., Hayashi S., « Evaluation of traffic carrying capability in one stage and two stage time division networks handling data with a variety of speed classes », ITC 9, 1979. [SCH 69] Schwob et Peyrache, Traité de Fiabilité, Masson, Paris, 1969. [SHO 68] Shooman M.L., Probabilistic reliability: an engineering approach, McGraw-Hill, 1968. [SYS 86] Syski R., Introduction to Congestion Theory in Telephone Systems, (seconde éd.), Elsevier Ltd., 1986. [SYS 93] Syski R., Pollaczek’s method in queueing theory, Queueing Theory, R.Cruon, 1967 réédité dans Archiv für Elektronik und Ubertragungstechnik, vol 47, S.Hirzel Verlag, Stuttgart, 1993. [TAK 91] Takagi H., Queueing Analysis. Vol. 1, vacations and priority systems, North Holland, 1991. [TAS 89] Tassi P., Méthodes Statistiques, Economica,Collection Economie et Statistiques Avancées, 2e édition, Paris, 1989. [VER 84] Véran M., Potier D., « QNAP 2: A Portable Environment for Queueing System Modelling », Colloque Int. sur la Modélisation et les Outils d'analyse de Performance, 16-18 mai 1984, Paris. [VIN 84] Vinogradov O.P., « On the distribution of sojourn time in the tandem queues system with identical services times », Proc 3rd ITC seminar, p. 449-450, Moscou, 1984. [VIL 91] Villén M., Villén J., « RESTART: A method for accelerating rare event simulation », ITC 13, Copenhague, juin 1991.
Index
A AAL2 402 accès 68, 79 accessibilité 64, 86 affinité 60 analyse du besoin 482 appel 53 Assymetrical Digital Subscriber Line 27, 36 ATM 26 B, C bande passante équivalente, 437 benchmark 390 blocs 402 brassage de générateurs 366 cache 398 cellule 26, 30 centre serveur 371 chaîne de Markov 279, 313 charge A 70, 71 B 70, 72 de maintenance 518 élevée 70 normale 70 clients 268 coefficient de corrélation 196
de variation 163 cœur réseau 17 collecteur de taxes 401 combinaisons série parallèle 229 commutation de circuit 23 de paquet 23, 33 condition de stabilité 290 continuité 64 contrôle des surcharge 75 correction d’erreurs 411 corrélation 196 couple aléatoire 110 courbe d’efficacité 219 covariance 120 CSMA CD 382 cycle de vie 480 D, E débordement 402 degré de confiance 203 délai d’établissement 512 d’indication d’appel 501 individuel 516 désengagement 68, 79 déterminant 253 différenciation 35 Diffserv 35 dimensionnement 530
discipline HOL 343 dispersion 108 disponibilité 86, 87 écart type 162 échantillon 199, 358 échéancier 354, 355 éléments en parallèle 227 en série 226 ensembles non réparables 225 réparables 234 environnement IP 488 de référence 482 équation de ChapmanKolmogorov 280 matricielle 251 équations d’états 234 équilibre statistique 282 équipement terminal d’usager 17 Erlang 44 Erlang-n 170 essai tronqué 202 207, 211 censuré 202, 208, 213 de performances en trafic 524 en charge 522 en surcharge 525
584
Trafic et performances des réseaux de télécoms
en sûreté de fonctionnement 526 estimateur absolument correct 204 convergent 204 sans biais 204 estimation 202, 203 Ethernet 382 ETSI 62 événement aléatoire 93 expansion 473 F fiabilité 86, 221 du logiciel 257 opérationnelle 542 file G/G/1 322 G/M/1 335 M/D/1 320, 332, 430 M/G/1 317, 319, 328 M/H2/1 333 M/M/∞ 307 M/M/1 289, 331, 338 M/M/1/K 305 M/M/R 301 files d’attente 267 flot 53 fonction caractéristique 132 caractéristique de l’attente 330, 337 de Dirac 129 de Heaviside 133 de répartition 104 densité de probabilité 105 échelon 130 fondamentale 465 génératrice 142, 292 holomorphe 135 formule d’Allen-Cunnen 345 d’Engset 311
d’Erlang avec attente 302 d’Erlang généralisée 419 d’Erlang-B 299 d’Erlang-C 302 d’inversion 135 de Little 287, 288 de Martin 346 de Palm Jacobeus 466 de perte d’Erlang 46 de PollaczekKhintchine 319, 330 de Takacs 320 fractal 180 fractiles 191 G, H G711 441 G729A 441 génération du trafic 528 graphe de Markov 235 hiérarchie 22 histogramme 189 hub 43 I, J, K IETF 62 impatience 407 indicateur d’événement 134 indisponibilité 87, 222, 521 individu 199 inégalité de CauchySchwartz 174 information sporadique 24 intégrale de Cauchy 135 Internet Protocol 26, 34 intervalle de confiance 202, 361 Intserv 35 inversion des matrices 253 ISO 62 Jacobien 115 Kruithof 60
L Local Area Network 41 loi asymptotique 136 binomiale 151 d’arrivée 269 d’Engset 153 d’Erlang-k 277 de Cox 174 de Gauss 125, 162 de Laplace 164 de maintenance 264 de maintenance 540 de Pareto 180 de Poisson 109, 118, 157, 307 de probabilité 149 de service 274 de Student 167 de Weibull 176, 224 du Chi-2 166, 212 exponentielle 169, 275 Gamma 173 géométrique 155 hyperexponentielle 173, 277 hypergéométrique 156 logistique 178 log-normale 168 normale 162 réduite 164 uniforme 150, 160 M maintenance 491 matrice 252 de connexion 459 de trafic 52, 55, 58 maximum de vraisemblance 204 Mean Time Between Failures 223 Mean Time To Failure 259 médiane 193 mesure 356
Index méthode congruentielle 364 d’Euler 256 de Benes 321 de Kruithof 474 de Pollaczek 133, 322 de Runge et Kutta 257 des déterminants 253 des moindres carrés 197 méthodologie 479 mix de trafic 52, 54 à fort trafic 487 à moyen trafic 487 à faible efficacité 485 à forte efficacité 485 mobilité 486 mode 193 best effort 26 cache 398 orienté connexion 25 prefetch 398 sans connexion 25 modèle 367 d’Erlang multidébit 419 de Musa 258 M/M/R/R 298 modélisation 493 processeur 389 moments 106,193 moyenne 70, 107, 119, 192-193, 200, MPEG 442 multidébit 144, 419 multiplexage 424 N, O, P nombres aléatoires 362 pseudo aléatoires 363 normes 62 notation de Kendall 286 notice d’événement 354 noyau de synchronisation 355 objectifs
de capacité 491 de performance 482 panne dormante 245 totale 519 paquet 53 paramètres de performance 61, 65, 492 passerelles 22 peakedness factor 420, 471 percentile 192 performance 47 de bout en bout 65, 80 en trafic 79 période 366 de vie utile 223 plan de commande 51 usager 51 pôle 137 Polling 375 pool de ressources 402 population 199 précision 357 préemption 338 priorité 337 Private Branch Exchange 41 probabilité 98 a posteriori 102 conditionnelle 99, 113 conjointe 111 de rupture de stock 264 marginale 113 processus de naissance et de mort 281 de Poisson 271 de renouvellement 270 produit de convolution 116, 122 profils de charge 47 propriété PASTA 284 Public Land Mobile network 31 Public Switched Telephone Network 28 Q, R qualité de service 47, 61
585
quantile 70 queues série 447 Real Time transport Protocol 35 redondance active 244 majoritaire 233 passive 244 simple 232 régime dégradé 234, 519 stationnaire 360 transitoire 360 règle de Morgan 97, 226 régression 196 regroupement 401 régulation 75, 413 relâchement prématuré 521 relation stochastique 323 renouvellement 74 répétition d’appels 407 réseau d’accès 17 de connexion 462 de signalisation n° 7 28 en anneau 20 en arbre 21 en étoile 18 GPRS 32 GSM 30 intelligent 28 Internet 33 maillé 19 multidébit 470 NGN 37 numérique à intégration de service 27 sans blocage 471 téléphonique fixe 27 Ethernet 42 privés 41 risque 217 client 219 fournisseur 219 routeur 34 S scénarios 523 self-similarité 181 série
586
Trafic et performances des réseaux de télécoms
de Laurent 137 de Taylor 137 serveurs 268 services 52 session 53 simulateur d’appels 355 de trafic 523 simulation 349 à événements discrets 353 par roulette 350 somme de variables 116, 119 sources périodiques 424 SPEC Integer 390 standards 62 stationnarité 49 statistique 188 descriptive 188 mathématique 200 structure de Clos 472 imparfaite 244 suivi en exploitation 542 surcharge 70, 74, 89 sûreté de fonctionnement 79, 221 switch 43 système à disque 395 d’équations différentielles 236 M/D/1 321 simple bouclé 368 séquentiel 242
T taux d’utilisation 54 de défaillance 222 de hit 394 de pénétration 54 de persévérance 408 téléphone mobile 30 télétraffic 267 temps de service résiduel 274 de traitement 496 de transfert 84, 506 partagé 372 tentatives d’appels à l’heure chargée 50 test d’hypothèse 216 théorème central limite 201 de Bayes 103 de H. Poincaré 99 des probabilités totales 103 des résidus 136 Token Ring 43, 376 trafic abonné 56 commuté 56 écoulé 46 élastique 539 IP 439 offert 46
temps réel 537 traficabilité 79 trajectoires 357 transfert 68 transformée de Laplace 126, 247 de Pollaczek 317, 330 du nombre de clients 316 Transmission Control Protocol 35 travail restant 340 U, V UIT 62 unités de défense 494 de traitement 494 User Datagram Protocol 35 variable aléatoire 104 aléatoire continue 105 aléatoire discrète 105 variance 107, 119, 193, 200 visiophony 442 VoIP 441
Dans la même collection
Hermes Science Publications Projet et innovation, méthode HYBRID pour les projets innovants, par G. Poulain, 2000, 358 pages. UMTS et partage de l’espace hertzien, par L. Genty, 2001, 309 pages. Introduction aux méthodes formelles, par J.-F. Monin, 2001, 351 pages. Objets communicants, sous la direction de C. Kintzig, G. Poulain, G. Privat, P.-N. Favennec, 2002, 396 pages. Les réseaux de télécommunications, par R. Parfait, 2002, 524 pages. Le téléphone public – cent ans d’usages et de techniques, par F. Carmagnat, 2003, 320 pages. Dunod Electromagnétisme classique dans la matière, par Ch. Vassallo, 1980, 272 pages (épuisé). Télécommunications : Objectif 2000, sous la direction de A. Glowinski, 1981, 300 pages (épuisé). Principes des communications numériques, par A.-J. Viterbi et J.-K. Omura. Traduit de l’anglais par G. Batail, 1982, 232 pages (épuisé). Propagation des ondes radioélectriques dans l’environnement terrestre, par L. Boithias, 1984, 328 pages (épuisé). Systèmes de télécommunications : bases de transmission, par P.-G. Fontolliet, 1984, 528 pages (épuisé). Eléments de communications numériques. Transmission sur fréquence porteuse, par J.-C. Bic, D. Duponteil et J.C.Imbeaux (épuisé). Tome 1. – 1986, 384 pages. Tome 2. – 1986, 328 pages. Téléinformatique. transport et traitement de l’information dans les réseaux et systèmes téléinformatiques et télématiques, par C. Macchi, J.-F. Guilbert et al., 1987, 934 pages. Les systèmes de télévision en ondes métriques et décimétriques, par L. Goussot, 1987, 376 pages (épuisé). Programmation mathématique. théorie et algorithmes, par M. Minoux (épuisé). Tome 1. – 1987, 328 pages. Tome 2. – 1989, 272 pages.
588
Trafic et performances des réseaux de télécoms
Exploration informatique et statistique des données, par M. Jambu, 1989, 528 pages (épuisé). Télématique : techniques, normes, services, coordonné par B. Marti, 1990, 776 pages. Compatibilité électromagnétique : bruits et perturbations radioélectriques, sous la direction de P. Degauque et J. Hamelin, 1990, 688 pages. Les faisceaux hertziens analogiques et numériques, par E. Fernandez et M. Mathieu, 1991, 648 pages. Les télécommunications par fibres optiques, par I et M. Joindot et douze co-auteurs, 1996, 768 pages. Eyrolles De la logique câblée aux microprocesseurs, par J.-M. Bernard et J. Hugon (épuisé). Tome 1. – Circuits combinatoires et séquentiels fondamentaux, avec la collaboration de R. le Corvec, 1983, 232 pages. Tome 2. – Applications directes des circuits fondamentaux, 1983, 135 pages. Tome 3. – Méthodes de conception des systèmes, 1986, 164 pages. Tome 4. – Application des méthodes de synthèse, 1987, 272 pages. La commutation électronique, par Grinsec (épuisé). Tome 1. – Structure des systèmes spatiaux et temporels, 1984, 456 pages. Tome 2. – Logiciel. Mise en œuvre des systèmes, 1984, 512 pages. Optique et télécommunications. transmission et traitement optiques de l’information, par A. Cozannet, J. Fleuret, H. Maitre et M. Rousseau, 1983, 512 pages (épuisé). Radarmétéorologie : télédétection active de l’atmosphère, par H. Sauvageot, 1982, 312 pages. Probabilités, signaux, bruits, par J. Dupraz, 1983, 384 pages (épuisé). Méthodes structurelles pour la reconnaissance des formes, par L. Miclet, 1984, 208 pages. Introduction aux réseaux de files d’attente, par E. Gelenbe et G. Pujolle, 1985, 208 pages (épuisé). Applications des transistors à effet de champ en arséniure de gallium, coordonné par R. Soares, J. Obregon et J. Graffeuil, 1984, 532 pages. Pratique des circuits logiques, par J.-M. Bernard et J. Hugon, 1990, 480 pages (épuisé). Théorie des guides d’ondes électromagnétiques, par Ch. Vassallo. Tome 1. – 1985, 504 pages. Tome 2. – 1985, 700 pages. Conception des circuits intégrés MOS. Eléments de base, perspectives, par M. Cand, E. Demoulin, J.-L. Lardy et P. Senn, 1986, 472 pages. Théorie des réseaux et systèmes linéaires, par M. Feldmann, 1987, 424 pages. (épuisé).
Dans la même collection
589
Conception structurée des systèmes logiques, par J.-M. Bernard, 1987, 2ème tirage, 400 pages. Prévision de la demande de télécommunications. Méthodes et modèles, par N. Curien et M. Gensollen, 1989, 488 pages. Systèmes de radiocommunications avec les mobiles, par J.-G. Rémy, J. Cueugniet et C. Siben, 1992, 2e édition, 668 pages. Innovation, déréglementation et concurrence dans les télécommunications, par L. Benzoni et J. Hausman, 1993, 344 pages. Les télécommunications : technologies, réseaux, services, par L.-J. Libois, 1994, 216 pages (épuisé). Innovation et recherche en télécommunications. Progrès techniques et enjeux économiques, par M. Feneyrol et A. Guérard, 1994, 328 pages (épuisé). Les ondes évanescentes en optique et en optoélectronique, par F. de Fornel, 1997, 312 pages. Codesign, conception conjointe logiciel-matériel, par C.T.I. Comete, 1998, 204 pages. Introduction au Data Mining. Analyse intelligente des données, par M. Jambu, 1998, 114 pages. Méthodes de base de l’analyse des données, par M. Jambu, 1999, 412 pages et un CD-Rom. Des télécoms à l’Internet : économie d’une mutation, par E. Turpin, 2000, 459 pages. Ingénierie des connaissances – évolutions récentes et nouveaux défis, par J. Charlet, M. Zacklad, G. Kassel et D. Bourigault, 2000, Emission photonique en milieu confiné, par A. Rahmani et F. de Fornel, 2000, 190 pages. Apprentissage artificiel, concepts et algorithmes, par A. Cornuéjols et L. Miclet, 2002, 590 pages. Masson Stéréophonie. Cours de relief sonore théorique et appliqué, par R. Condamines, 1978, 320 pages. Les Réseaux pensants. Télécommunications et société, sous la direction de A. Giraud, J.-L. Missika et D. Wolton, 1978, 296 pages (épuisé). Fonctions aléatoires, par A. Blanc-Lapierre et B. Picinbono, 1981, 440 pages. Psychoacoustique. L’oreille recepteur d’information, par E. Zwicker et R. Feldtkeller. Traduit de l’allemand par C.Sorin, 1981, 248 pages. Décisions en traitement du signal, par P.-Y. Arquès, 1982, 288 pages (épuisé). Télécommunications spatiales, par des ingénieurs du CNES et du CNET (épuisé). Tome 1. – Bases théoriques, 1982, 432 pages. Tome 2. – Secteur spatial, 1983, 400 pages. Tome 3. – Secteur terrien. Systèmes de télécommunications par satellites, 1983, 468 pages.
590
Trafic et performances des réseaux de télécoms
Genèse et croissance des télécommunications, par L.-J. Libois, 1983, 432 pages (épuisé). Le Vidéotex. Contribution aux débats sur la télématique, coordonné par Cl. Ancelin et M.Marchand, 1984, 256 pages. Ecoulement du trafic dans les autocommutateurs, par G. Hébuterne, 1985, 264 pages. L’Europe des Postes et Télécommunications, par CI. Labarrère, 1985, 256 pages. Traitement du signal par ondes élastiques de surface, par M. Feldmann et J. Hénaff, 1986, 400 pages (épuisé). Théorie de l’information ou analyse diacritique des systèmes, par J. Oswald 1986, 488 pages. Les vidéodisques, par G. Broussaud, 1986, 216 pages. Les paradis informationnels : du minitel aux services de communication du futur, par M. Marchand et le SPES, 1987, 256 pages. Systèmes et réseaux de télécommunication en régime stochastique, par G. Doyon, 1989, 704 pages. Principes de traitement des signaux radar et sonar, par R. Le Chevalier, 1989, 280 pages. Circuits intégrés en arséniure de gallium. Physique, technologie et règles de conception, par R. Castagné, J.-P. Duchemin, M. Gloanec et G. Rumelhard, 1989, 608 pages. Analyse des signaux et filtrage numérique adaptatif, par M. Bellanger, 1989, 416 pages (épuisé). La parole et son traitement automatique, par Calliope, 1989, 736 pages. Les filtres numériques. Analyse et synthèse des filtres unidimensionnels, par R. Boite et H. Leich, 1990, 3e édition, 432 pages. Les modems pour transmission de données, par M. Stein, 1991, 384 pages. La mesure de la fréquence des oscillateurs, par Chronos, 1992, 368 pages. Traitements des signaux pour les systèmes sonar, par M. Bouvet, 1992, 504 pages. Codes correcteurs d’erreurs. Une introduction au codage algébrique, par G. Cohen, Ph. Godlewski, J.-L. Dornstetter, 1992, 272 pages. Complexité algorithmique et problèmes de communications, par J.-P. Barthélémy, G. Cohen et A. Lobstein. Préface de M.Minoux, 1992, 256 pages. Gestion de réseaux : concepts et outils, par Arpège, 1992, 272 pages. Les normes de gestion de réseau à l’ISO, par C. Lecerf et D. Chomel, 1993, 272 pages. L’implantation ionique pour la microélectronique et l’optique, par P-N. Favennec, 1993, 532 pages. Technique de compression des signaux, par N. Moreau, 1994, 288 pages. Le RNIS. Techniques et atouts, par G. Dicenet, 1995, 3e édition, 312 pages. Théorie structurale de la communication et société, par A.-A. Moles, 1995, 3e tirage, 296 pages.
Dans la même collection
591
Traitement numérique du signal : théorie et pratique, par M. Bellanger, 1995, 5e édition, 480 pages. Télécommunication : réalités et virtualités : un avenir pour le XXe siècle, par M. Feneyrol, 1996, 256 pages. Comprendre les méthodes formelles. Panorama et outils logiques, par J.-F. Monin, 1996, 320 pages (épuisé). La programmation réactive : application aux systèmes communicants, par F. Boussinot, 1996, 280 pages. Ingénierie des systèmes à microprocesseurs : application au traitement du signal et de l’image, par E. Martin et J.-L.Philippe, 1996, 320 pages. Le régime juridique communautaire des services de télécommunications, par A. Blandin-Obernesser, 1996, 216 pages. Paysage des réseaux de télécommunications, par R. Parfait, 1997, 376 pages (épuisé). Le complexe de Babel. Crise ou maîtrise de l’information ?, par Jean Voge, 1997, 192 pages. La télévision haute définition (TVHD), par A. Boukelif, 1997, 233 pages. Documentation française Les télécommunications françaises. Quel statut pour quelle entreprise ?, par G. Bonnetblanc, 1985, 240 pages. La communication au quotidien. De la tradition et du changement à l’aube de la vidéocommunication, par J. Jouët, avec la collaboration de N. Celle, 1985, 240 pages. L’ordre communicationnel. Les nouvelles technologies de la communication : enjeux et stratégies, par F. du Castel, P. Chambat et P. Musso, 1989, 352 pages. Histoire d’enfance. Les réseaux câblés audiovisuels en France, par J.-M. Charon, J.-P. Simon, avec la participation de B.Miège, 1989, 240 pages. La communication plurielle : l’interaction dans les téléconférences, coordonné par P. Périn et M. Gensollen, 1992, 304 pages. Métaphore et multimédia : concepts et applications, par G. Poulain, 1996, 240 pages. Histoire comparée de stratégies de développement des télécommunications, par A.-M. Delaunay Macullan, 1997, 166 pages. Presses polytechniques et universitaires romandes ADA avec le sourire, par J.-M. Bergé, L.-O. Donzelle, V. Olive et J. Rouillard, 1989, 400 pages. Systèmes microprogrammés Une introduction au magiciel, par D. Mange, 1990, 384 pages. Réseaux de neurones récursifs pour mémoires associatives, par Y. Kamp et M. Hasler, 1990, 244 pages.
592
Trafic et performances des réseaux de télécoms
VHDL, du langage à la modélisation, par R. Airiau, J.-M. Bergé, V. Olive et J. Rouillard, 1990, 576 pages (épuisé). Traitement de l’information, sous la direction de M. Kunt. Volume I. – Techniques modernes de traitement numérique des signaux, 1991, 440 pages. Volume 2. – Traitement numérique des images, 1993, 584 pages. Volume 3. – Reconnaissance des formes et analyse des scènes, 2000, 306 pages. Effets non linéaires dans les filtres numériques, par R. Boite, M. Hasler et H. Dedieu, 1997, 226 pages. VHDL, langage, modélisation, synthèse, par R. Airiau, J.-M. Bergé, V. Olive et J. Rouillard, 1998, 568 pages. Les objets réactifs en Java, par F. Boussinot, 2000, 188 pages. Springer ASN.1 – communication entre systèmes hétérogènes, par O. Dubuisson, 1999, 546 pages. Droit et sécurité des télécommunications, par C. Guerrier et M.-C. Monget, 2000, 458 pages. SDH, normes, réseaux et services, par T. Ben Meriem, 2000, 633 pages. Traitement du signal aléatoire, par T. Chonavel, 2000, 296 pages. Les fondements de la théorie des signaux numériques, par R. L. Oswald, 2000, 272 pages. Le champ proche optique, par D. Courjon et C. Bainier, 2001, 344 pages. Communications audiovisuelles, par E. Rivier, 2002. La propagation des ondes radioélectriques, par H. Sizun, 2002, 360 pages.