neighbors. Both communications and computations are \textit{asynchronous}
inducing that there is no more idle time, due to synchronizations, between two
iterations~\cite{bcvc06:ij}. This model presents some advantages and drawbacks
-that we detail in Section~\ref{sec:asynchro} but even if the number of
+that we detail in Section~\ref{sec:asynchro}. Even if the number of
iterations required to converge is generally greater than for the synchronous
case, it appears that the asynchronous iterative scheme can significantly
reduce overall execution times by suppressing idle times due to
solver~\cite{saad86} in synchronous mode. The simulation results allow us to
determine which method to choose for a given multi-core architecture.
Moreover the obtained results on different simulated multi-core architectures
-confirm the real results previously obtained on non simulated architectures.
+confirm the real results previously obtained on real physical architectures.
More precisely the simulated results are in accordance (i.e. with the same order
of magnitude) with the works presented in~\cite{couturier15}, which show that
the synchronous Krylov multisplitting method is more efficient than GMRES for large
Asynchronous iterative methods have been studied for many years theoretically and
practically. Many methods have been considered and convergence results have been
proved. These methods can be used to solve, in parallel, fixed point problems
-(i.e. problems for which the solution is $x^\star =f(x^\star)$. In practice,
+(i.e. problems for which the solution is $x^\star =f(x^\star)$). In practice,
asynchronous iteration methods can be used to solve, for example, linear and
non-linear systems of equations or optimization problems, interested readers are
invited to read~\cite{BT89,bahi07}.
algorithm that supports both the synchronous or the asynchronous iteration model
requires very few modifications to be able to be executed in both variants. In
practice, only the communications and convergence detection are different. In
-the synchronous mode, iterations are synchronized whereas in the asynchronous
-one, they are not. It should be noticed that non-blocking communications can be
+the synchronous mode iterations are synchronized, whereas in the asynchronous
+one they are not. It should be noticed that non-blocking communications can be
used in both modes. Concerning the convergence detection, synchronous variants
can use a global convergence procedure which acts as a global synchronization
point. In the asynchronous model, the convergence detection is more tricky as
architectures are often very important. So, prior to deployment and tests it
seems very promising to be able to simulate the behavior of asynchronous
iterative algorithms. The problematic is then to show that the results produced
-by simulation are in accordance with reality i.e. of the same order of
-magnitude. To our knowledge, there is no study on this problematic.
+by simulation are in accordance with reality (i.e. of the same order of
+magnitude). To our knowledge, there is no study on this problematic.
\section{SimGrid}
\label{sec:simgrid}
+In the scope of this paper, we have chosen the SimGrid toolkit~\cite{SimGrid,casanova+giersch+legrand+al.2014.versatile} to simulate the behavior of parallel iterative linear solvers on different computational grid configurations. In opposite to most of the simulators which are stayed very oriented-application, the SimGrid framework is designed to study the behavior of many large-scale distributed computing platforms as Grids, Peer-to-Peer systems, Clouds or High Performance Computation systems. It is still actively developed by the scientific community and distributed as an open source software.
-In the scope of this paper, the Simgrid
-toolkitSimGrid~\cite{SimGrid,casanova+legrand+quinson.2008.simgrid,casanova+giersch+legrand+al.2014.versatile},
-an open source framework actively developped by its community, has been choosen
-to simulate the behavior of the solvers algorithms in different grid
-computational configurations. Simgrid pretends to be non-specialized in opposite
-to some other simulators which stayed to be very specific oriented-application.
-One of the well-known Simgrid advantage is its SMPI (Simulated MPI). SMPI
-purpose is to execute by simulation in a similar way as in real life, an MPI
-distributed application and to get accurate results with the detailed resources
-consumption. Several studies have demonstrated the accuracy of the simulation
-compared with execution on real physical architectures. In addition of SMPI,
-Simgrid provides other API which can be convienent for different distrbuted
-applications: computational grid applications, High Performance Computing (HPC),
-P2P but also clouds applications. In this paper we use the SMPI API. It
-implements about \np[\%]{80} of the MPI 2.0 standard and allows minor
-modifications of the initial code~\cite{bedaride+degomme+genaud+al.2013.toward}
-(see Section~\ref{sec:04.02}).
-
-
- Provided as an input to the simulator, at least $3$ XML files describe the
- computational grid resources: number of clusters in the grid, number of
- processors/cores in each cluster, detailed description of the intra and inter
- networks and the list of the hosts in each cluster (see the details in Section~\ref{sec:expe}). Simgrid uses a fluid model to simulate the program execution.
- This gives several simulation modes which produce accurate
- results~\cite{bedaride+degomme+genaud+al.2013.toward,
- velho+schnorr+casanova+al.2013.validity}. For instance, the "in vivo" mode
- really executes the computation but "intercepts" the communications (running
- time is then evaluated according to the parameters of the simulated platform).
- It is also possible for SimGrid/SMPI to only keep duration of large
- computations by skipping them. Moreover the application can be run "in vitro"
- by sharing some in-memory structures between the simulated processes and
- thus allowing the use of very large data scale.
-
-
-The choice of Simgrid/SMPI as a simulator tool in this study has been emphasized
-by the results obtained by several studies to validate, in real environments,
-the behavior of different network models simulated in
-Simgrid~\cite{velho+schnorr+casanova+al.2013.validity}. Other studies underline
-the comparison between real MPI executions and SimGrid/SMPI
-ones\cite{guermouche+renard.2010.first, clauss+stillwell+genaud+al.2011.single,
-bedaride+degomme+genaud+al.2013.toward}. These works show the accuracy of
-SimGrid simulations.
+SimGrid provides four user interfaces which can be convenient for different distributed applications~\cite{casanova+legrand+quinson.2008.simgrid}. In this paper we are interested on the SMPI user interface (Simulator MPI) which implements about \np[\%]{80} of the MPI 2.0 standard and allows minor modifications of the initial code~\cite{bedaride+degomme+genaud+al.2013.toward} (see Section~\ref{sec:04.02}). SMPI enables the direct simulation of the execution, as in the real life, of an unmodified MPI distributed application, and gets accurate results with the detailed resources consumption.
+
+SimGrid simulator uses at least three XML input files describing the computational grid resources: the number of clusters in the grid, the number of processors/cores in each cluster, the detailed description of the intra and inter networks and the list of the hosts in each cluster (see the details in Section~\ref{sec:expe}). SimGrid uses a fluid model to simulate the program execution. It allows several simulation modes which produce accurate results~\cite{bedaride+degomme+genaud+al.2013.toward,velho+schnorr+casanova+al.2013.validity}. For instance, the "in vivo" mode really executes the computation but "intercepts" the communications (the execution time is then evaluated according to the parameters of the simulated platform). It is also possible for SimGrid/SMPI to only keep the duration of large computations by skipping them. Moreover the application can be run "in vitro" mode by sharing some in-memory structures between the simulated processes and thus allowing the use of very large-scale data.
+
+The choice of SimGrid/SMPI as a simulator tool in this study has been emphasized by the results obtained by several studies to validate, in the real environments, the behavior of different network models simulated in SimGrid~\cite{velho+schnorr+casanova+al.2013.validity}. Other studies underline the comparison between the real MPI application executions and the SimGrid/SMPI ones~\cite{guermouche+renard.2010.first,clauss+stillwell+genaud+al.2011.single,bedaride+degomme+genaud+al.2013.toward}. These works show the accuracy of SimGrid simulations compared to the executions on real physical architectures.
+
+
+
+
+
+
+
+
+
+
+
+
+
+%% In the scope of this paper, the SimGrid toolkit~\cite{SimGrid,casanova+legrand+quinson.2008.simgrid,casanova+giersch+legrand+al.2014.versatile},
+%% an open source framework actively developed by its scientific community, has been chosen to simulate the behavior of iterative linear solvers in different computational grid configurations. SimGrid pretends to be non-specialized in opposite to some other simulators which stayed to be very specific oriented-application. One of the well-known SimGrid advantage is its SMPI (Simulated MPI) user interface. SMPI purpose is to execute by simulation in a similar way as in real life, an MPI distributed application and to get accurate results with the detailed resources
+%% consumption.Several studies have demonstrated the accuracy of the simulation
+%% compared with execution on real physical architectures. In addition of SMPI,
+%% Simgrid provides other API which can be convienent for different distrbuted
+%% applications: computational grid applications, High Performance Computing (HPC),
+%% P2P but also clouds applications. In this paper we use the SMPI API. It
+%% implements about \np[\%]{80} of the MPI 2.0 standard and allows minor
+%% modifications of the initial code~\cite{bedaride+degomme+genaud+al.2013.toward}
+%% (see Section~\ref{sec:04.02}).
+
+
+%% Provided as an input to the simulator, at least $3$ XML files describe the
+%% computational grid resources: number of clusters in the grid, number of
+%% processors/cores in each cluster, detailed description of the intra and inter
+%% networks and the list of the hosts in each cluster (see the details in Section~\ref{sec:expe}). Simgrid uses a fluid model to simulate the program execution.
+%% This gives several simulation modes which produce accurate
+%% results~\cite{bedaride+degomme+genaud+al.2013.toward,
+%% velho+schnorr+casanova+al.2013.validity}. For instance, the "in vivo" mode
+%% really executes the computation but "intercepts" the communications (running
+%% time is then evaluated according to the parameters of the simulated platform).
+%% It is also possible for SimGrid/SMPI to only keep duration of large
+%% computations by skipping them. Moreover the application can be run "in vitro"
+%% by sharing some in-memory structures between the simulated processes and
+%% thus allowing the use of very large data scale.
+
+
+%% The choice of Simgrid/SMPI as a simulator tool in this study has been emphasized
+%% by the results obtained by several studies to validate, in real environments,
+%% the behavior of different network models simulated in
+%% Simgrid~\cite{velho+schnorr+casanova+al.2013.validity}. Other studies underline
+%% the comparison between real MPI executions and SimGrid/SMPI
+%% ones\cite{guermouche+renard.2010.first, clauss+stillwell+genaud+al.2011.single,
+%% bedaride+degomme+genaud+al.2013.toward}. These works show the accuracy of
+%% SimGrid simulations.