+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+We did not encounter major blocking problems when adapting the multisplitting algorithm previously described to a simulation environment like SimGrid unless some code
+debugging. Indeed, apart from the review of the program sequence for asynchronous exchanges between processors within a cluster or between clusters, the algorithm was executed successfully with SMPI and provided identical outputs as those obtained with direct execution under MPI. In synchronous
+mode, the execution of the program raised no particular issue but in asynchronous mode, the review of the sequence of MPI\_Isend, MPI\_Irecv and MPI\_Waitall instructions
+and with the addition of the primitive MPI\_Test was needed to avoid a memory fault due to an infinite loop resulting from the non-convergence of the algorithm.
+\CER{On voulait en fait montrer la simplicité de l'adaptation de l'algo a SimGrid. Les problèmes rencontrés décrits dans ce paragraphe concerne surtout le mode async}\LZK{OK. J'aurais préféré avoir un peu plus de détails sur l'adaptation de la version async}
+Note here that the use of SMPI functions optimizer for memory footprint and CPU usage is not recommended knowing that one wants to get real results by simulation.
+As mentioned, upon this adaptation, the algorithm is executed as in the real life in the simulated environment after the following minor changes. First, all declared
+global variables have been moved to local variables for each subroutine. In fact, global variables generate side effects arising from the concurrent access of
+shared memory used by threads simulating each computing unit in the SimGrid architecture. Second, the alignment of certain types of variables such as ``long int'' had
+also to be reviewed.
+\AG{À propos de ces problèmes d'alignement, en dire plus si ça a un intérêt, ou l'enlever.}
+ Finally, some compilation errors on MPI\_Waitall and MPI\_Finalize primitives have been fixed with the latest version of SimGrid.
+In total, the initial MPI program running on the simulation environment SMPI gave after a very simple adaptation the same results as those obtained in a real
+environment. We have successfully executed the code in synchronous mode using parallel GMRES algorithm compared with our multisplitting algorithm in asynchronous mode after few modifications.
+
+
+
+\section{Simulation results}
+
+When the \textit{real} application runs in the simulation environment and produces the expected results, varying the input
+parameters and the program arguments allows us to compare outputs from the code execution. We have noticed from this
+study that the results depend on the following parameters:
+\begin{itemize}
+\item At the network level, we found that the most critical values are the
+ bandwidth and the network latency.
+\item Hosts power (GFlops) can also influence on the results.
+\item Finally, when submitting job batches for execution, the arguments values
+ passed to the program like the maximum number of iterations or the external
+ precision are critical. They allow to ensure not only the convergence of the
+ algorithm but also to get the main objective of the experimentation of the
+ simulation in having an execution time in asynchronous less than in
+ synchronous mode. The ratio between the execution time of asynchronous
+ compared to the synchronous mode is defined as the \emph{relative gain}. So,
+ our objective running the algorithm in SimGrid is to obtain a relative gain
+ greater than 1.
+ \AG{$t_\text{async} / t_\text{sync} > 1$, l'objectif est donc que ça dure plus
+ longtemps (que ça aille moins vite) en asynchrone qu'en synchrone ?
+ Ce n'est pas plutôt l'inverse ?}
+\end{itemize}
+
+A priori, obtaining a relative gain greater than 1 would be difficult in a local
+area network configuration where the synchronous mode will take advantage on the
+rapid exchange of information on such high-speed links. Thus, the methodology
+adopted was to launch the application on clustered network. In this last
+configuration, degrading the inter-cluster network performance will penalize the
+synchronous mode allowing to get a relative gain greater than 1. This action
+simulates the case of distant clusters linked with long distance network like
+Internet.
+
+