]> AND Private Git Repository - hpcc2014.git/blobdiff - hpcc.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Remove useless counter.
[hpcc2014.git] / hpcc.tex
index 014366cca00cfd4c871a08c16326f88c8c3e401a..dc68db93dc1a25dca32eacb70fe19c02fa6565a5 100644 (file)
--- a/hpcc.tex
+++ b/hpcc.tex
@@ -320,7 +320,20 @@ where $\MI$ is the maximum number of outer iterations and $\epsilon$ is the tole
 
 \LZK{Description du processus d'adaptation de l'algo multisplitting à SimGrid}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
+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 the six neighbors of each point in a submatrix 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. 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 units in the Simgrid architecture. Second, the alignment of certain types of variables such as "long int" had 
+also to be reviewed. Finally, some compilation errors on MPI\_waitall and MPI\_Finalise 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 tested in synchronous mode with a simulated platform starting from a modest 2 or 3 clusters grid to a larger configuration like simulating 
+Grid5000 with more than 1500 hosts with 5000 cores~\cite{bolze2006grid}. Once the code debugging and adaptation were complete, the next section shows our methodology and experimental 
+results.
 
 
 
@@ -541,7 +554,6 @@ computers organized with interconnected clusters have been presented.
 Our work has demonstrated that using such a simulation tool allow us to 
 reach the following three objectives: 
 
-\newcounter{numberedCntD}
 \begin{enumerate}
 \item To have a flexible configurable execution platform resolving the 
 hard exercise to access to very limited but so solicited physical 
@@ -551,7 +563,6 @@ iteration number ;
 \item and finally and more importantly, to find the correct combination 
 of the cluster and network specifications permitting to save time in 
 executing the algorithm in asynchronous mode.
-\setcounter{numberedCntD}{\theenumi}
 \end{enumerate}
 Our results have shown that in certain conditions, asynchronous mode is 
 speeder up to \np[\%]{40} than executing the algorithm in synchronous mode