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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
\section{Analyse et Discussion}
Cette section approfondit l'interprétation des résultats et explore les implications théoriques et pratiques.
\subsection{Validation du Théorème de Jackson}
\subsubsection{Convergence des Résultats}
L'analyse comparative entre simulation et théorie analytique révèle une concordance remarquable:
\begin{itemize}
\item \textbf{Utilisation}: Écart moyen de 0.15\% sur tous les scénarios
\item \textbf{Temps moyen}: Écart moyen de 1.12\% sur tous les scénarios
\item \textbf{Nombre de clients}: Écart moyen de 0.87\% sur tous les scénarios
\end{itemize}
Ces écarts minimes (< 2\%) s'expliquent par:
\begin{enumerate}
\item \textbf{Variabilité stochastique}: Simulation basée sur génération aléatoire
\item \textbf{Échantillonnage fini}: 100,000 unités vs limite théorique $t \to \infty$
\item \textbf{Période d'échauffement}: Nécessaire pour atteindre le régime permanent
\end{enumerate}
\textbf{Conclusion}: Le théorème de Jackson est \textbf{pleinement validé} par la simulation.
\subsubsection{Indépendance des Files}
Le théorème de Jackson affirme que chaque station se comporte comme une file M/M/1 \textbf{indépendante}.
\textbf{Test d'indépendance}: Corrélation entre les longueurs de files
\begin{table}[H]
\centering
\caption{Corrélations entre files (Scénario 2)}
\label{tab:correlation}
\begin{tabular}{lcc}
\toprule
\textbf{Paire de files} & \textbf{Corrélation observée} & \textbf{Théorique} \\
\midrule
Coordinateur -- Serveur 1 & 0.037 & 0 \\
Coordinateur -- Serveur 2 & 0.042 & 0 \\
Serveur 1 -- Serveur 2 & -0.021 & 0 \\
\bottomrule
\end{tabular}
\end{table}
\textbf{Interprétation}: Corrélations négligeables ($< 0.05$) confirment l'indépendance statistique des files.
\subsection{Impact de la Configuration}
\subsubsection{Nombre de Serveurs}
Comparaison scénarios 1 vs 3 (même charge totale):
\begin{table}[H]
\centering
\caption{Impact du nombre de serveurs}
\label{tab:impact-servers}
\begin{tabular}{lccc}
\toprule
\textbf{Configuration} & \textbf{Serveurs} & \textbf{$W$ (unités)} & \textbf{Gain} \\
\midrule
Scénario 1 & 1 rapide & 5,762 & --- \\
Scénario 3 & 3 lents & 2,944 & \textbf{-48.9\%} \\
\bottomrule
\end{tabular}
\end{table}
\textbf{Explication}: Multiplier les serveurs réduit $\rho_i$ de chaque file, diminuant ainsi les temps d'attente selon:
\begin{equation}
W_q = \frac{\rho}{\mu(1-\rho)} \quad \text{(décroît rapidement quand } \rho \text{ diminue)}
\end{equation}
\subsubsection{Hétérogénéité des Serveurs}
Scénarios 2, 3, 4 avec 2-3 serveurs:
\begin{table}[H]
\centering
\caption{Impact de l'hétérogénéité}
\label{tab:impact-heterogeneity}
\begin{tabular}{lcccc}
\toprule
\textbf{Scénario} & \textbf{Config} & \textbf{$W$ (unités)} & \textbf{$\rho_{\max}$} & \textbf{Goulot} \\
\midrule
2 & Rapide + Lent & 12,496 & 0.96 & Serveur lent \\
4 & Rapide + Moyen & 4,134 & 0.76 & Serveur moyen \\
3 & 3 Lents & 2,944 & 0.48 & Équilibré \\
\bottomrule
\end{tabular}
\end{table}
\textbf{Principe}: Le serveur le plus lent crée un goulot d'étranglement. Configuration homogène préférable.
\subsubsection{Probabilité de Sortie $p$}
Effet de $p$ sur le taux de circulation interne:
\begin{equation}
\lambda_c = \frac{\lambda}{p} \quad \Rightarrow \quad p \downarrow \implies \lambda_c \uparrow
\end{equation}
\begin{itemize}
\item $p$ faible ($0.3$): Nombreuses boucles coordinateur $\to$ serveur $\to$ coordinateur
\item $p$ élevé ($0.8$): Sortie rapide, moins de charge interne
\end{itemize}
\textbf{Trade-off}: $p$ trop élevé = sous-utilisation des serveurs; $p$ trop faible = surcharge du coordinateur.
\subsection{Comportement en Régime Critique}
\subsubsection{Approche de l'Instabilité}
Pour $\rho \to 1$, la formule M/M/1 prédit:
\begin{equation}
W = \frac{1}{\mu - \lambda} = \frac{1}{\mu(1-\rho)} \to \infty
\end{equation}
Observations empiriques (Scénario 5, variation de $\lambda$):
\begin{table}[H]
\centering
\caption{Comportement critique}
\label{tab:critical-behavior}
\begin{tabular}{cccc}
\toprule
\textbf{$\rho$} & \textbf{$W$ théorique} & \textbf{$W$ simulation} & \textbf{Écart (\%)} \\
\midrule
0.60 & 1,875 & 1,862 & 0.69\% \\
0.80 & 3,750 & 3,789 & 1.04\% \\
0.90 & 7,500 & 7,621 & 1.61\% \\
0.95 & 15,000 & 15,487 & 3.25\% \\
0.98 & 37,500 & 39,214 & 4.57\% \\
\bottomrule
\end{tabular}
\end{table}
\textbf{Observation}: L'écart augmente légèrement pour $\rho > 0.95$ en raison de la sensibilité accrue aux fluctuations aléatoires.
\subsubsection{Détection d'Instabilité}
Critère implémenté:
\begin{equation}
\text{Système instable} \iff \exists i : \rho_i \geq 1
\end{equation}
Dans ce cas:
\begin{itemize}
\item Simulation limitée à durée maximale (100,000 unités)
\item Croissance linéaire de $L(t)$ observée
\item Interface affiche alerte avec identification du goulot
\end{itemize}
\subsection{Validation des Hypothèses}
\subsubsection{Processus de Poisson}
Vérification: Inter-arrivées suivent distribution exponentielle
\begin{table}[H]
\centering
\caption{Test Kolmogorov-Smirnov sur inter-arrivées}
\label{tab:ks-test}
\begin{tabular}{lcc}
\toprule
\textbf{Scénario} & \textbf{Statistique KS} & \textbf{p-value} \\
\midrule
1 & 0.0087 & 0.89 \\
2 & 0.0092 & 0.85 \\
3 & 0.0081 & 0.91 \\
\bottomrule
\end{tabular}
\end{table}
\textbf{Conclusion}: p-values élevées ($> 0.05$) $\Rightarrow$ hypothèse exponentielle non rejetée.
\subsubsection{Temps de Service Exponentiels}
Vérification du coefficient de variation:
\begin{equation}
CV = \frac{\sigma}{\mu} \approx 1 \quad \text{pour distribution exponentielle}
\end{equation}
Résultats observés: $CV \in [0.98, 1.04]$ pour toutes les stations $\Rightarrow$ \textbf{validé}.
\subsection{Comparaison avec Systèmes Réels}
\subsubsection{Application aux Bases de Données Distribuées}
Notre modèle simplifie la réalité mais capture l'essentiel:
\begin{table}[H]
\centering
\caption{Modèle vs réalité}
\label{tab:model-reality}
\begin{tabular}{lll}
\toprule
\textbf{Aspect} & \textbf{Modèle} & \textbf{Réalité} \\
\midrule
Distribution arrivées & Exponentielle & Bursty (pics de charge) \\
Temps de service & Exponentiel & Dépend de la requête \\
Routage & Probabiliste & Basé sur charge réelle \\
Capacité files & Infinie & Limitée (mémoire) \\
\bottomrule
\end{tabular}
\end{table}
\textbf{Extensions possibles}:
\begin{itemize}
\item M/G/1 pour distributions de service générales
\item Files avec capacité limitée (M/M/1/K)
\item Routage adaptatif (Join-Shortest-Queue)
\item Priorités de requêtes
\end{itemize}
\subsubsection{Insights pour l'Architecture}
Les résultats suggèrent des principes de conception:
\begin{enumerate}
\item \textbf{Homogénéité}: Préférer serveurs de capacité similaire
\item \textbf{Nombre > puissance}: Multiplier serveurs modestes plutôt qu'un serveur ultra-rapide
\item \textbf{Équilibrage de charge}: Routage uniforme ($q_i$ égaux) optimal si serveurs homogènes
\item \textbf{Surveillance}: Alerter si $\rho > 0.8$ sur une station (marge de sécurité)
\end{enumerate}
\subsection{Limites de l'Étude}
\subsubsection{Hypothèses Simplificatrices}
\begin{itemize}
\item \textbf{Mémoire markovienne}: Distributions exponentielles restrictives
\item \textbf{Indépendance}: Requêtes réelles peuvent être corrélées
\item \textbf{Stationnaire}: Trafic constant (pas de variation jour/nuit)
\item \textbf{Pas de pannes}: Serveurs toujours disponibles
\end{itemize}
\subsubsection{Durée de Simulation}
100,000 unités de temps suffisantes pour $\rho < 0.95$, mais pour $\rho \to 1$:
\begin{itemize}
\item Convergence plus lente vers régime permanent
\item Variance des estimateurs augmente
\item Simulations plus longues nécessaires (ex: 1,000,000 unités)
\end{itemize}
\subsection{Perspectives d'Amélioration}
\subsubsection{Extensions Théoriques}
\begin{itemize}
\item \textbf{BCMP Theorem}: Généraliser à files M/M/c (plusieurs serveurs par station)
\item \textbf{Réseaux fermés}: Nombre fixe de clients circulant dans le système
\item \textbf{Vacances de serveurs}: Périodes d'indisponibilité
\item \textbf{Priorités}: Classes de requêtes avec priorités différentes
\end{itemize}
\subsubsection{Fonctionnalités Logicielles}
\begin{itemize}
\item \textbf{Optimisation automatique}: Trouver configuration minimisant $W$ sous contraintes
\item \textbf{Analyse de scénarios multiples}: Comparaison parallèle de configurations
\item \textbf{Export données brutes}: CSV pour analyses statistiques avancées (R, Python)
\item \textbf{Visualisations 3D}: Surface $W(\lambda, p)$ interactive
\end{itemize}
\subsubsection{Performance}
\begin{itemize}
\item \textbf{Parallélisation}: Exécuter plusieurs répliques de simulation en parallèle
\item \textbf{GPU acceleration}: Pour simulations massives (millions d'événements)
\item \textbf{Sampling intelligent}: Réduire fréquence échantillonnage sans perte de précision
\end{itemize}