Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
\babel@toc {french}{}\relax
\contentsline {section}{\numberline {1}Introduction}{6}{section.1}%
\contentsline {subsection}{\numberline {1.1}Contexte du Projet}{6}{subsection.1.1}%
\contentsline {subsection}{\numberline {1.2}Problématique}{6}{subsection.1.2}%
\contentsline {subsection}{\numberline {1.3}Approche Méthodologique}{6}{subsection.1.3}%
\contentsline {subsection}{\numberline {1.4}Contributions du Projet}{6}{subsection.1.4}%
\contentsline {subsection}{\numberline {1.5}Organisation du Rapport}{7}{subsection.1.5}%
\contentsline {section}{\numberline {2}Fondements Théoriques}{7}{section.2}%
\contentsline {subsection}{\numberline {2.1}Introduction à la Théorie des Files d'Attente}{7}{subsection.2.1}%
\contentsline {subsubsection}{\numberline {2.1.1}Notation de Kendall}{7}{subsubsection.2.1.1}%
\contentsline {subsection}{\numberline {2.2}File M/M/1}{7}{subsection.2.2}%
\contentsline {subsubsection}{\numberline {2.2.1}Hypothèses}{7}{subsubsection.2.2.1}%
\contentsline {subsubsection}{\numberline {2.2.2}Métriques Fondamentales}{8}{subsubsection.2.2.2}%
\contentsline {subsubsection}{\numberline {2.2.3}Formules Analytiques en Régime Permanent}{8}{subsubsection.2.2.3}%
\contentsline {subsection}{\numberline {2.3}Loi de Little}{8}{subsection.2.3}%
\contentsline {subsection}{\numberline {2.4}Théorème de Jackson}{9}{subsection.2.4}%
\contentsline {subsubsection}{\numberline {2.4.1}Réseaux de Files d'Attente}{9}{subsubsection.2.4.1}%
\contentsline {subsubsection}{\numberline {2.4.2}Taux d'Arrivée Effectifs}{9}{subsubsection.2.4.2}%
\contentsline {subsubsection}{\numberline {2.4.3}Théorème Principal}{9}{subsubsection.2.4.3}%
\contentsline {subsubsection}{\numberline {2.4.4}Implications Pratiques}{10}{subsubsection.2.4.4}%
\contentsline {subsection}{\numberline {2.5}Application à Notre Système}{10}{subsection.2.5}%
\contentsline {section}{\numberline {3}Modélisation du Système}{10}{section.3}%
\contentsline {subsection}{\numberline {3.1}Architecture Générale}{10}{subsection.3.1}%
\contentsline {subsubsection}{\numberline {3.1.1}Description du Système}{10}{subsubsection.3.1.1}%
\contentsline {subsubsection}{\numberline {3.1.2}Diagramme d'Architecture}{11}{subsubsection.3.1.2}%
\contentsline {subsection}{\numberline {3.2}Hypothèses du Modèle}{11}{subsection.3.2}%
\contentsline {subsubsection}{\numberline {3.2.1}Hypothèses Structurelles}{11}{subsubsection.3.2.1}%
\contentsline {subsubsection}{\numberline {3.2.2}Hypothèses Stochastiques}{11}{subsubsection.3.2.2}%
\contentsline {subsection}{\numberline {3.3}Paramètres du Modèle}{11}{subsection.3.3}%
\contentsline {subsubsection}{\numberline {3.3.1}Paramètres Externes}{11}{subsubsection.3.3.1}%
\contentsline {subsubsection}{\numberline {3.3.2}Paramètres du Coordinateur}{12}{subsubsection.3.3.2}%
\contentsline {subsubsection}{\numberline {3.3.3}Paramètres des Serveurs}{12}{subsubsection.3.3.3}%
\contentsline {subsubsection}{\numberline {3.3.4}Contraintes}{12}{subsubsection.3.3.4}%
\contentsline {subsection}{\numberline {3.4}Métriques de Performance}{12}{subsection.3.4}%
\contentsline {subsubsection}{\numberline {3.4.1}Métriques par Station}{12}{subsubsection.3.4.1}%
\contentsline {subsubsection}{\numberline {3.4.2}Métriques Globales}{13}{subsubsection.3.4.2}%
\contentsline {subsection}{\numberline {3.5}Conditions de Stabilité}{13}{subsection.3.5}%
\contentsline {subsubsection}{\numberline {3.5.1}Critère de Stabilité}{13}{subsubsection.3.5.1}%
\contentsline {subsubsection}{\numberline {3.5.2}Implications Pratiques}{13}{subsubsection.3.5.2}%
\contentsline {subsection}{\numberline {3.6}Formules Analytiques}{13}{subsection.3.6}%
\contentsline {subsubsection}{\numberline {3.6.1}Coordinateur}{14}{subsubsection.3.6.1}%
\contentsline {subsubsection}{\numberline {3.6.2}Serveur $i$}{14}{subsubsection.3.6.2}%
\contentsline {subsubsection}{\numberline {3.6.3}Système Global}{14}{subsubsection.3.6.3}%
\contentsline {section}{\numberline {4}Implémentation}{14}{section.4}%
\contentsline {subsection}{\numberline {4.1}Architecture Logicielle}{14}{subsection.4.1}%
\contentsline {subsection}{\numberline {4.2}Backend - Simulation Événementielle}{14}{subsection.4.2}%
\contentsline {subsubsection}{\numberline {4.2.1}Architecture du Simulateur}{14}{subsubsection.4.2.1}%
\contentsline {subsubsection}{\numberline {4.2.2}Types d'Événements}{15}{subsubsection.4.2.2}%
\contentsline {subsubsection}{\numberline {4.2.3}Génération Aléatoire}{15}{subsubsection.4.2.3}%
\contentsline {subsubsection}{\numberline {4.2.4}Routage Probabiliste}{15}{subsubsection.4.2.4}%
\contentsline {subsubsection}{\numberline {4.2.5}Collecte des Statistiques}{16}{subsubsection.4.2.5}%
\contentsline {subsection}{\numberline {4.3}Module d'Analyse Analytique}{16}{subsection.4.3}%
\contentsline {subsubsection}{\numberline {4.3.1}Calcul des Taux d'Arrivée Effectifs}{16}{subsubsection.4.3.1}%
\contentsline {subsubsection}{\numberline {4.3.2}Métriques M/M/1}{17}{subsubsection.4.3.2}%
\contentsline {subsection}{\numberline {4.4}Interface Web}{17}{subsection.4.4}%
\contentsline {subsubsection}{\numberline {4.4.1}Architecture Frontend}{17}{subsubsection.4.4.1}%
\contentsline {subsubsection}{\numberline {4.4.2}Composants Principaux}{17}{subsubsection.4.4.2}%
\contentsline {subsubsection}{\numberline {4.4.3}Flux de Données}{18}{subsubsection.4.4.3}%
\contentsline {subsection}{\numberline {4.5}Tests et Validation}{18}{subsection.4.5}%
\contentsline {subsubsection}{\numberline {4.5.1}Tests Unitaires Backend}{18}{subsubsection.4.5.1}%
\contentsline {subsubsection}{\numberline {4.5.2}Tests d'Intégration}{18}{subsubsection.4.5.2}%
\contentsline {subsection}{\numberline {4.6}Performance}{19}{subsection.4.6}%
\contentsline {section}{\numberline {5}Scénarios d'Étude}{19}{section.5}%
\contentsline {subsection}{\numberline {5.1}Scénario 1: Serveur Unique Rapide (Instabilité)}{19}{subsection.5.1}%
\contentsline {subsubsection}{\numberline {5.1.1}Configuration}{19}{subsubsection.5.1.1}%
\contentsline {subsubsection}{\numberline {5.1.2}Objectif}{19}{subsubsection.5.1.2}%
\contentsline {subsubsection}{\numberline {5.1.3}Analyse de Stabilité}{19}{subsubsection.5.1.3}%
\contentsline {subsection}{\numberline {5.2}Scénario 2: Deux Serveurs (Rapide + Lent)}{20}{subsection.5.2}%
\contentsline {subsubsection}{\numberline {5.2.1}Configuration}{20}{subsubsection.5.2.1}%
\contentsline {subsubsection}{\numberline {5.2.2}Objectif}{20}{subsubsection.5.2.2}%
\contentsline {subsubsection}{\numberline {5.2.3}Analyse}{20}{subsubsection.5.2.3}%
\contentsline {subsection}{\numberline {5.3}Scénario 3: Trois Serveurs Lents}{21}{subsection.5.3}%
\contentsline {subsubsection}{\numberline {5.3.1}Configuration}{21}{subsubsection.5.3.1}%
\contentsline {subsubsection}{\numberline {5.3.2}Objectif}{21}{subsubsection.5.3.2}%
\contentsline {subsubsection}{\numberline {5.3.3}Analyse}{21}{subsubsection.5.3.3}%
\contentsline {subsection}{\numberline {5.4}Scénario 4: Deux Serveurs (Rapide + Moyen)}{22}{subsection.5.4}%
\contentsline {subsubsection}{\numberline {5.4.1}Configuration}{22}{subsubsection.5.4.1}%
\contentsline {subsubsection}{\numberline {5.4.2}Objectif}{22}{subsubsection.5.4.2}%
\contentsline {subsubsection}{\numberline {5.4.3}Analyse}{22}{subsubsection.5.4.3}%
\contentsline {subsection}{\numberline {5.5}Scénario 5: Analyse de Sensibilité}{22}{subsection.5.5}%
\contentsline {subsubsection}{\numberline {5.5.1}Objectif}{22}{subsubsection.5.5.1}%
\contentsline {subsubsection}{\numberline {5.5.2}Variations Testées}{22}{subsubsection.5.5.2}%
\contentsline {subsubsection}{\numberline {5.5.3}Configuration de Base}{22}{subsubsection.5.5.3}%
\contentsline {subsubsection}{\numberline {5.5.4}Métriques Observées}{23}{subsubsection.5.5.4}%
\contentsline {subsection}{\numberline {5.6}Synthèse des Scénarios}{23}{subsection.5.6}%
\contentsline {section}{\numberline {6}Résultats de Simulation}{23}{section.6}%
\contentsline {subsection}{\numberline {6.1}Méthodologie de Collecte}{23}{subsection.6.1}%
\contentsline {subsubsection}{\numberline {6.1.1}Paramètres de Simulation}{23}{subsubsection.6.1.1}%
\contentsline {subsubsection}{\numberline {6.1.2}Métriques Collectées}{23}{subsubsection.6.1.2}%
\contentsline {subsection}{\numberline {6.2}Scénario 1: Résultats}{24}{subsection.6.2}%
\contentsline {subsubsection}{\numberline {6.2.1}Métriques de Simulation}{24}{subsubsection.6.2.1}%
\contentsline {subsubsection}{\numberline {6.2.2}Comparaison Analytique vs Simulation}{24}{subsubsection.6.2.2}%
\contentsline {subsubsection}{\numberline {6.2.3}Convergence}{24}{subsubsection.6.2.3}%
\contentsline {subsection}{\numberline {6.3}Scénario 2: Résultats}{24}{subsection.6.3}%
\contentsline {subsection}{\numberline {6.4}Scénario 3: Résultats}{25}{subsection.6.4}%
\contentsline {subsection}{\numberline {6.5}Scénario 4: Résultats}{25}{subsection.6.5}%
\contentsline {subsection}{\numberline {6.6}Scénario 5: Analyse de Sensibilité}{25}{subsection.6.6}%
\contentsline {subsubsection}{\numberline {6.6.1}Variation du Taux d'Arrivée $\lambda $}{25}{subsubsection.6.6.1}%
\contentsline {subsubsection}{\numberline {6.6.2}Variation de la Probabilité de Sortie $p$}{26}{subsubsection.6.6.2}%
\contentsline {subsection}{\numberline {6.7}Distribution des Temps de Traitement}{26}{subsection.6.7}%
\contentsline {subsubsection}{\numberline {6.7.1}Validation Exponentielle}{26}{subsubsection.6.7.1}%
\contentsline {subsection}{\numberline {6.8}Validation de la Loi de Little}{26}{subsection.6.8}%
\contentsline {subsection}{\numberline {6.9}Performance de l'Implémentation}{27}{subsection.6.9}%
\contentsline {subsection}{\numberline {6.10}Synthèse des Résultats}{27}{subsection.6.10}%
\contentsline {subsubsection}{\numberline {6.10.1}Classement par Performance}{27}{subsubsection.6.10.1}%
\contentsline {subsubsection}{\numberline {6.10.2}Enseignements Clés}{27}{subsubsection.6.10.2}%
\contentsline {section}{\numberline {7}Analyse et Discussion}{27}{section.7}%
\contentsline {subsection}{\numberline {7.1}Validation du Théorème de Jackson}{27}{subsection.7.1}%
\contentsline {subsubsection}{\numberline {7.1.1}Convergence des Résultats}{27}{subsubsection.7.1.1}%
\contentsline {subsubsection}{\numberline {7.1.2}Indépendance des Files}{28}{subsubsection.7.1.2}%
\contentsline {subsection}{\numberline {7.2}Impact de la Configuration}{28}{subsection.7.2}%
\contentsline {subsubsection}{\numberline {7.2.1}Nombre de Serveurs}{28}{subsubsection.7.2.1}%
\contentsline {subsubsection}{\numberline {7.2.2}Hétérogénéité des Serveurs}{28}{subsubsection.7.2.2}%
\contentsline {subsubsection}{\numberline {7.2.3}Probabilité de Sortie $p$}{29}{subsubsection.7.2.3}%
\contentsline {subsection}{\numberline {7.3}Comportement en Régime Critique}{29}{subsection.7.3}%
\contentsline {subsubsection}{\numberline {7.3.1}Approche de l'Instabilité}{29}{subsubsection.7.3.1}%
\contentsline {subsubsection}{\numberline {7.3.2}Détection d'Instabilité}{29}{subsubsection.7.3.2}%
\contentsline {subsection}{\numberline {7.4}Validation des Hypothèses}{30}{subsection.7.4}%
\contentsline {subsubsection}{\numberline {7.4.1}Processus de Poisson}{30}{subsubsection.7.4.1}%
\contentsline {subsubsection}{\numberline {7.4.2}Temps de Service Exponentiels}{30}{subsubsection.7.4.2}%
\contentsline {subsection}{\numberline {7.5}Comparaison avec Systèmes Réels}{30}{subsection.7.5}%
\contentsline {subsubsection}{\numberline {7.5.1}Application aux Bases de Données Distribuées}{30}{subsubsection.7.5.1}%
\contentsline {subsubsection}{\numberline {7.5.2}Insights pour l'Architecture}{30}{subsubsection.7.5.2}%
\contentsline {subsection}{\numberline {7.6}Limites de l'Étude}{31}{subsection.7.6}%
\contentsline {subsubsection}{\numberline {7.6.1}Hypothèses Simplificatrices}{31}{subsubsection.7.6.1}%
\contentsline {subsubsection}{\numberline {7.6.2}Durée de Simulation}{31}{subsubsection.7.6.2}%
\contentsline {subsection}{\numberline {7.7}Perspectives d'Amélioration}{31}{subsection.7.7}%
\contentsline {subsubsection}{\numberline {7.7.1}Extensions Théoriques}{31}{subsubsection.7.7.1}%
\contentsline {subsubsection}{\numberline {7.7.2}Fonctionnalités Logicielles}{31}{subsubsection.7.7.2}%
\contentsline {subsubsection}{\numberline {7.7.3}Performance}{31}{subsubsection.7.7.3}%
\contentsline {section}{\numberline {8}Conclusion}{31}{section.8}%
\contentsline {subsection}{\numberline {8.1}Synthèse des Réalisations}{31}{subsection.8.1}%
\contentsline {subsubsection}{\numberline {8.1.1}Contributions Techniques}{32}{subsubsection.8.1.1}%
\contentsline {subsubsection}{\numberline {8.1.2}Résultats Scientifiques}{32}{subsubsection.8.1.2}%
\contentsline {subsection}{\numberline {8.2}Objectifs Atteints}{33}{subsection.8.2}%
\contentsline {subsubsection}{\numberline {8.2.1}Conformité au Cahier des Charges}{33}{subsubsection.8.2.1}%
\contentsline {subsection}{\numberline {8.3}Apports Pédagogiques}{33}{subsection.8.3}%
\contentsline {subsubsection}{\numberline {8.3.1}Compétences Acquises}{33}{subsubsection.8.3.1}%
\contentsline {subsection}{\numberline {8.4}Limites et Perspectives}{33}{subsection.8.4}%
\contentsline {subsubsection}{\numberline {8.4.1}Limitations Actuelles}{33}{subsubsection.8.4.1}%
\contentsline {subsubsection}{\numberline {8.4.2}Extensions Futures}{34}{subsubsection.8.4.2}%
\contentsline {subsection}{\numberline {8.5}Applications Pratiques}{34}{subsection.8.5}%
\contentsline {subsection}{\numberline {8.6}Mot de la Fin}{34}{subsection.8.6}%
\contentsline {subsection}{\numberline {8.7}Remerciements}{35}{subsection.8.7}%
\contentsline {section}{\numberline {A}Code Source Principal}{35}{appendix.A}%
\contentsline {subsection}{\numberline {A.1}Générateur de Nombres Aléatoires Exponentiels}{35}{subsection.A.1}%
\contentsline {subsection}{\numberline {A.2}Structure d'Événement}{36}{subsection.A.2}%
\contentsline {subsection}{\numberline {A.3}File M/M/1}{36}{subsection.A.3}%
\contentsline {subsection}{\numberline {A.4}Routage Probabiliste}{38}{subsection.A.4}%
\contentsline {subsection}{\numberline {A.5}Boucle Principale de Simulation}{39}{subsection.A.5}%
\contentsline {subsection}{\numberline {A.6}Analyse Analytique - Théorème de Jackson}{41}{subsection.A.6}%
\contentsline {subsection}{\numberline {A.7}API REST - Endpoint de Simulation}{44}{subsection.A.7}%
\contentsline {subsection}{\numberline {A.8}Frontend - Hook de Simulation}{45}{subsection.A.8}%
\contentsline {section}{\numberline {B}Résultats Détaillés des Simulations}{46}{appendix.B}%
\contentsline {subsection}{\numberline {B.1}Scénario 1: Résultats Détaillés}{46}{subsection.B.1}%
\contentsline {subsubsection}{\numberline {B.1.1}Configuration}{46}{subsubsection.B.1.1}%
\contentsline {subsubsection}{\numberline {B.1.2}Résultats Simulation}{47}{subsubsection.B.1.2}%
\contentsline {subsubsection}{\numberline {B.1.3}Résultats Analytiques}{48}{subsubsection.B.1.3}%
\contentsline {subsection}{\numberline {B.2}Scénario 2: Résultats Détaillés}{48}{subsection.B.2}%
\contentsline {subsubsection}{\numberline {B.2.1}Configuration}{48}{subsubsection.B.2.1}%
\contentsline {subsubsection}{\numberline {B.2.2}Résultats Simulation}{49}{subsubsection.B.2.2}%
\contentsline {subsection}{\numberline {B.3}Scénario 3: Résultats Détaillés}{49}{subsection.B.3}%
\contentsline {subsubsection}{\numberline {B.3.1}Configuration}{49}{subsubsection.B.3.1}%
\contentsline {subsubsection}{\numberline {B.3.2}Résultats Simulation}{50}{subsubsection.B.3.2}%
\contentsline {subsection}{\numberline {B.4}Scénario 4: Résultats Détaillés}{51}{subsection.B.4}%
\contentsline {subsubsection}{\numberline {B.4.1}Résultats Simulation}{51}{subsubsection.B.4.1}%
\contentsline {subsection}{\numberline {B.5}Scénario 5: Analyse de Sensibilité - Résultats}{51}{subsection.B.5}%
\contentsline {subsubsection}{\numberline {B.5.1}Variation du Taux d'Arrivée $\lambda $}{51}{subsubsection.B.5.1}%
\contentsline {subsubsection}{\numberline {B.5.2}Variation de la Probabilité de Sortie $p$}{52}{subsubsection.B.5.2}%
\contentsline {subsection}{\numberline {B.6}Tests Statistiques}{52}{subsection.B.6}%
\contentsline {subsubsection}{\numberline {B.6.1}Test de Kolmogorov-Smirnov (Inter-arrivées)}{52}{subsubsection.B.6.1}%
\contentsline {subsubsection}{\numberline {B.6.2}Coefficient de Variation (Temps de Service)}{52}{subsubsection.B.6.2}%
\contentsline {subsection}{\numberline {B.7}Vérification de la Loi de Little}{53}{subsection.B.7}%
\contentsline {subsection}{\numberline {B.8}Temps de Convergence}{53}{subsection.B.8}%
\contentsline {subsection}{\numberline {B.9}Distribution des Temps de Traitement}{53}{subsection.B.9}%
\contentsline {subsubsection}{\numberline {B.9.1}Statistiques Descriptives}{53}{subsubsection.B.9.1}%