\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}